Я хочу сделать мою Fedora Linux способной к следующему:
Используйте Linux для полной платформы разработки, не требуя какой-либо другой установки ОС, но все еще в состоянии создавать и тестировать программы на разных платформах.
Полностью замените Windows-машину на все остальные работы, например, Office, Paint, Remote Desktop и т. Д.
Можете ли вы предложить проекты с открытым исходным кодом и инструменты для достижения вышеуказанных целей?
linux
opensource-projects
Xinus
источник
источник
Ответы:
Вы можете легко заниматься кроссплатформенной разработкой, будь вы системным программистом, веб-разработчиком или разработчиком настольных приложений. Если вы работаете в системах, то любые утилиты и / или драйверы, которые вы пишете для linux, вероятно, будут работать хорошо для других * nix с минимальными изменениями. При условии, что вы пишете стандартный код C и не используете слишком много системных вызовов, их может быть даже легко перенести на окна.
Если вы являетесь разработчиком настольных приложений, вы можете использовать GTK, QT или wxWidgets, и ваше приложение, вероятно, будет хорошо работать на трех основных платформах сегодня (* nix, Windows, Mac). Опять же, сведите системные вызовы к минимуму или изолируйте их в библиотеке-оболочке, которая будет зависеть от системы. Вы также вызываете виртуальную машину, такую как JVM и / или CLR, которая позволит приложению работать по всем направлениям.
Если вы веб-разработчик, то вы, вероятно, столкнетесь со слишком многими различными альтернативами на выбор. Я предпочитаю небольшой веб-сервер под названием Cherokee, и я разрабатываю и запускаю приложения ASP.NET (моно) и Django, которые работают на нем и используют бэкэнд PgSQL.
Таким образом, можно сделать вывод, что кроссплатформенная разработка в Linux может быть выполнена при условии, что вы можете скомпилировать код на целевой платформе и помнить об этом при написании своего кода или при назначении виртуальной машины. Другое дело, что вы можете столкнуться с «Парадоксом выбора» и не знать, что использовать. Для этого прочитайте ниже мой ответ на второй вопрос.
Что касается второго вопроса, лучший ресурс, который я нашел, называется Альтернативы с открытым исходным кодом . На этом веб-сайте перечислены коммерческие программы и их альтернативы с открытым исходным кодом. Почти все альтернативы работают на Linux и FreeBSD.
источник
Определите «платформу». Вы не можете разумно протестировать программное обеспечение, предназначенное для использования на Windows или Mac, без фактической работы этих операционных систем, даже если для сборки на Linux можно использовать кросс-компиляцию. VMware - отличный инструмент для реального тестирования на других операционных системах.
Вторая часть вашего вопроса, вероятно, должна быть совершенно отдельным вопросом. Но вы можете использовать OpenOffice.org или Google Docs для замены MS Office, Pinta или GIMP или чего-либо другого, чтобы заменить Paint, VNC или Empathy + Vinagre для замены удаленного рабочего стола и т. Д. И т. Д.
Было бы легче ответить на эти вопросы, если бы вы привели более конкретные случаи использования.
источник
Ууууууууу, № 1 довольно глупо, сэр. Я не знаю, есть ли способ достичь этой цели. Кросс-компиляция с другими * nixes может быть выполнена ( с небольшой головной болью ) на вашем блоке разработки, но как именно вы должны запускать этот код без соответствующей ОС и архитектуры? Существуют обширные попытки эмуляции системы , но в конечном итоге это является препятствием. Если вы хотите протестировать программное обеспечение на ОС / архитектуре, запустите его на этой ОС / архитектуре!
Теперь, с другой стороны, есть инструменты, которые упрощают создание одного и того же проекта в широком диапазоне конфигураций. Cmake , пожалуй, самый известный и проверенный. По крайней мере, это поможет вам протестировать ваш проект на других системах или побудит других сделать это за вас.
Если честно, я уверен, что это невозможно и в других операционных системах.
№ 2 намного проще
Открытый офис
канитель
Гном
KDE
Удаленные рабочие столы
и так далее. Я бы помог больше, но острота ваших вопросов резко падает.
источник
Это зависит от вашей целевой платформы. Если вы разрабатываете для виртуальной платформы (Java или даже .NET), вы должны быть более чем хорошо. Есть некоторые платформы, которые даже удобнее в Linux, чем в Windows (например, Ruby).
Что касается Linux как настольного компьютера, вам просто нужно перечислить программное обеспечение, которое вы ищете. В настоящее время практически нет программного обеспечения для настольных компьютеров с Windows, у которого нет альтернативы Linux.
источник
MonoDevelop должен помочь вам разобраться в разработке:
(акцент мой)
источник