Есть ли какие-нибудь USB-флешки, которые можно запускать, не устанавливать, кроссплатформенные программные платформы (с графическим интерфейсом)?

Кто-нибудь знает о хорошей среде разработки программного обеспечения или аналогичной, которая имеет следующие свойства?

  • Кроссплатформенность: она должна работать на 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 (отвечающей вышеуказанным требованиям графического интерфейса и т. Д.) На каждой из этих пяти машин (хотя, при необходимости, с разных пачки на палочке).

Это возможно?

Редактировать: Я немного поэкспериментировал с приложением Qt, которое использует некоторые виджеты и базу данных sqlite. Было легко заставить его работать на Ubuntu Dist и OSX. Для Windows XP и Vista мне пришлось скопировать QtCored4.dll, QtGuid4.dll, QtSqld4.dll и mingwm10.dll в каталог дистрибутива (это был код отладки), и я скопировал qsqlited4.dll в папку с именем "sqldrivers" в дистрибутиве. каталог.

8 ответов

Решение

Вы упоминаете wxWidgets, но отклоняете его как невыполнение хотя бы одного из требований.

Я не знаю, каковы ваши требования и каким образом wxWidgets не будет работать для вас, но IMO выполняет их:

Кроссплатформенность: она должна быть запущена в XP, Vista, OSX и распространенных версиях Linux.

Он работает на этих платформах, но "общие версии Linux" не достаточно хороши, так как вы никогда не можете быть уверены, что необходимые библиотеки GUI для wxGTK (которые не должны быть связаны статически) будут установлены. Это, однако, проблема и для других решений, если только вы не планируете положить все на флешку.

Без установки: можно запускать программное обеспечение с USB-накопителя без необходимости что-либо копировать на хост-компьютер.

Посмотрите предыдущий пункт, вам нужно будет указать, какие библиотеки нужны в Linux. Также вы можете указать во время сборки не использовать некоторые из предоставленных системой библиотек (например, для графики, сжатия, регулярных выражений), но вместо этого использовать библиотеки wxWidgets-internal.

Хорошая поддержка GUI

Проверьте.

Разрешительное лицензирование, такое как LGPL или BSD или тому подобное.

Проверьте. Вы также можете статически связать wxWidgets с вашим приложением.

поддержка хорошего языка, такого как Python или C++

Поддерживает оба, а также есть привязки к другим языкам.

наличие набора абстракций для наиболее распространенных внутренних функций, таких как сокеты, файловый ввод-вывод и т. д.

У него есть некоторые подобные абстракции, но вы также можете ссылаться и на другие кроссплатформенные библиотеки.

Мы используем wxWidgets для FlameRobin, графической программы администрирования для сервера Firebird SQL. Он имеет активные порты для Windows, Linux и Mac OS X и скомпилирован по крайней мере для некоторых вариантов BSD и Solaris. Это определенно работает с флешки на Windows, я не пробовал с Linux или Mac OS X, но я не понимаю, почему это не должно там тоже.

Джава.

  • Имеет поддержку GUI.

  • Он предоставляет вашу сеть / файл / и т.д. абстракции.

  • Это кроссплатформенный. Большинство платформ, о которых вы можете подумать, имеют JRE.

  • Не нужно устанавливать JRE. У большинства пользователей, вероятно, уже есть один, и если нет, вы можете запустить соответствующую JRE прямо с флешки.

  • Вы можете предоставить несколько сценариев запуска для различных платформ, чтобы запустить приложение под соответствующей JRE.

Что-то еще, чтобы рассмотреть, является HTML+Javascript.:D

Вы можете взглянуть на Mono, он кроссплатформенный, имеет графический интерфейс (GTK+ или Winforms 2.0), и я могу выполнять код без установки.

Это может быть не кроссплатформенность, но, может быть, даже лучше, она даже не использует платформу: linux на флешке:-)

Подзаголовок

Возьмите свои рабочие места Java куда угодно, где бы вы ни находились, на USB-ключе

Здесь с Java и затмением, но ничто не мешает вам там, конечно.

http://knol.google.com/k/inderjeet-singh/installing-a-ubuntu-hardy-heron-java/1j9pj7d01g86i/2

Ну, это зависит от того, что вы подразумеваете под "пакетом". Kylix был близок к тому, чтобы быть таким. Он был основан на QT и позволял вам писать один раз и компилировать для Windows + Linux. Однако это не было решением с открытым исходным кодом.

Я задал похожий вопрос по этой ссылке http://www.24hsoftware.com/DevelopersForum/CrossPlatform-C-Library.html и лучшим ответом, по-видимому, является QT.

Я начал использовать QT, но это не так просто, как я ожидал, в основном из-за проблем с развертыванием из-за ада DLL, ада Winsxs и ада манифеста.

Tclkit - это автономная система Tcl/Tk, состоящая из одного файла. Mac версия у меня составляет около 3,8 мегабайт. Вы можете получить версию практически для любой современной ОС. Я ношу с собой флеш-накопитель, на котором установлены Mac, Windows и Linux, чтобы я мог запускать свои скрипты на любой платформе. Установка не требуется, просто скопируйте один файл куда хотите.

В последних версиях tcklit используются нативные тематические виджеты (хотя в *nix действительно нет ни одного "нативного" набора виджетов...)

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