Как мне подойти к кроссплатформенной разработке, если я сначала выберу разработку под Linux?

Я очень наивен ко многим из компьютерных наук и был бы признателен за пояснения или ссылки на статьи, которые могут помочь в моем понимании этих концепций.

Если бы я разрабатывал программу для Linux, каковы варианты переносимости в Windows? Как программы компилируются и работают в Linux (аналог исполняемых файлов в Windows)?

Существуют ли определенные библиотеки только для Linux? Конечно, есть, но есть ли вместо этого независимые от платформы библиотеки, которые можно использовать вместо?

Если у меня есть программа, работающая в Windows, насколько сложнее перенос кода, если используются независимые от платформы библиотеки, чем копирование и перекомпиляция кода?

Разработано ли большинство программного обеспечения в операционных системах Linux? Если так, есть ли какое-то преимущество в этом?

Одна из основных причин, по которой я думаю о переходе на разработку Linux, заключается в упрощенных методах создания графических интерфейсов на языке Си. Большинство библиотек для Windows, о которых я читал, очень быстро запутываются.

1 ответ

Решение

Это полностью упрощенный ответ, но он зависит от языка и библиотек, которые вы используете. Я создал приложение, используя кроссплатформенную библиотеку SDL в C. SDL обрабатывал все низкоуровневые окна и графические функции для меня. Это позволило легко скомпилировать программу для исполняемого файла для Windows, Mac и Linux. Я действительно должен был скомпилировать исполняемые файлы на соответствующих платформах. Все исполняемые файлы приложений, но в Windows все эти файлы называются.exe в Linux/Mac, их можно называть как угодно, если они помечены как исполняемые.

Я думаю, что большинство веб-технологий разработано на Linux, но для нативных приложений имеет смысл разрабатывать на платформе, на которую вы ориентируетесь.

Другие вопросы по тегам