Как мне подойти к кроссплатформенной разработке, если я сначала выберу разработку под Linux?
Я очень наивен ко многим из компьютерных наук и был бы признателен за пояснения или ссылки на статьи, которые могут помочь в моем понимании этих концепций.
Если бы я разрабатывал программу для Linux, каковы варианты переносимости в Windows? Как программы компилируются и работают в Linux (аналог исполняемых файлов в Windows)?
Существуют ли определенные библиотеки только для Linux? Конечно, есть, но есть ли вместо этого независимые от платформы библиотеки, которые можно использовать вместо?
Если у меня есть программа, работающая в Windows, насколько сложнее перенос кода, если используются независимые от платформы библиотеки, чем копирование и перекомпиляция кода?
Разработано ли большинство программного обеспечения в операционных системах Linux? Если так, есть ли какое-то преимущество в этом?
Одна из основных причин, по которой я думаю о переходе на разработку Linux, заключается в упрощенных методах создания графических интерфейсов на языке Си. Большинство библиотек для Windows, о которых я читал, очень быстро запутываются.
1 ответ
Это полностью упрощенный ответ, но он зависит от языка и библиотек, которые вы используете. Я создал приложение, используя кроссплатформенную библиотеку SDL в C. SDL обрабатывал все низкоуровневые окна и графические функции для меня. Это позволило легко скомпилировать программу для исполняемого файла для Windows, Mac и Linux. Я действительно должен был скомпилировать исполняемые файлы на соответствующих платформах. Все исполняемые файлы приложений, но в Windows все эти файлы называются.exe в Linux/Mac, их можно называть как угодно, если они помечены как исполняемые.
Я думаю, что большинство веб-технологий разработано на Linux, но для нативных приложений имеет смысл разрабатывать на платформе, на которую вы ориентируетесь.