Кто-нибудь знает о хорошей среде разработки программного обеспечения или аналогичной, которая имеет следующие свойства?
- Кроссплатформенность: он должен быть запущен в XP, Vista, OSX и распространенных версиях Linux (таких как Ubuntu и Kubuntu).
- Без установки: возможность запуска программного обеспечения с USB-накопителя без необходимости что-либо копировать на хост-компьютер.
- Иметь хорошую поддержку графического интерфейса (вот почему этот вопрос , насколько я могу судить, не дает подходящего ответа).
- Разрешительное лицензирование, такое как LGPL или BSD или подобное.
Среди более мягких требований - наличие набора абстракций для наиболее распространенных внутренних функций, таких как сокеты, файловый ввод-вывод и т. Д. (Обычно требуются некоторые специфические для платформы адаптации), и поддержка хорошего языка, такого как Python или C ++, хотя обычно забавно изучать новый (т.е. не perl).
Я думаю, что возможные кандидаты - Qt 4.5 или выше (но программное обеспечение IFAIK Qt не будет работать в Vista без какой-либо установки (?)), Некоторых wxWidgets или, возможно, решения wxPython, возможно, gtkmm. Приведенные мною примеры не соответствовали тем или иным требованиям. Это не значит, что таких примеров не существует, это просто означает, что я их не нашел. Поэтому мне было интересно, если кто-нибудь там знает какие-либо существующие решения для этого?
Некоторые уточнения;
- Под "фреймворком" я подразумеваю что-то вроде Qt или gtkmm или python с пакетом виджетов.
- Речь идет о возможности запуска готового продукта на нескольких платформах с флешки без установки, речь не идет о переносимой среде разработки.
- Это не загрузочная флешка.
- Можно при необходимости создавать программное обеспечение специально для различных целей.
Случай использования, который я вижу, состоит в том, что у вас есть какое-то программное обеспечение, на которое вы полагаетесь (например, планирование проекта, администрирование информации, инструменты анализа или подобное), которое:
- не предполагает наличия подключения к Интернету.
- запускается на разных хост-машинах, где не совсем нормально устанавливать что-либо.
- перемещается пользователем с помощью физического носителя (например, USB-накопителя).
- работает в разных операционных системах, таких как Windows, Vista, Ubuntu, OSX.
- работает на одних и тех же данных на этих разных хостах (данные могут храниться на хосте или на флешке).
- на самом деле не ограничен в том, насколько велика интегрированная структура (если только это не несколько гигабайт, что не совсем реально).
Также возможно иметь параллельные установки на флешке, если программное обеспечение ведет себя одинаково и может работать с одними и теми же данными при запуске на разных целях.
Другое мнение о сценарии использования будет состоять в том, что передо мной стоят пять недавно установленных машин с Vista, XP, OSX, Ubuntu и Kubuntu соответственно. Я хотел бы, чтобы без необходимости устанавливать что-то новое на машины, можно было запускать одно и то же программное обеспечение с одной карты памяти USB (отвечающей вышеуказанным требованиям графического интерфейса и т. Д.) На каждой из этих пяти машин (хотя, при необходимости, с разных пачки на палочке).
Возможно ли это?
Edit:
Я немного поэкспериментировал с приложением Qt, которое использует некоторые виджеты и базу данных sqlite. Было легко заставить его работать на Ubuntu Dist и OSX. Для Windows XP и Vista мне пришлось скопировать QtCored4.dll, QtGuid4.dll, QtSqld4.dll и mingwm10.dll в каталог дистрибутива (это был код отладки), и я скопировал qsqlited4.dll в папку с именем «sqldrivers» в дистрибутиве каталог.