Какие языки можно использовать для разработки кроссплатформенных, переносимых приложений? - PullRequest
1 голос
/ 29 декабря 2010

Какие языки можно использовать для разработки кроссплатформенных, портативных приложений?

(Для тех, кто прокомментировал неопределенность вопроса, мне это нужно, потому что я хочу разработать инструмент анализа данных на основе базы данных для исследователей, которым, возможно, потребуется использовать этот инструмент в университетской системе, которая не имеет времени выполнения ( как Air), а также не позволяют пользователям устанавливать что-либо вообще.)

Это кажется возможным с JAVA, но, честно говоря, я бы предпочел избегать JAVA, потому что это настолько многословно (я обычно программирую на Perl и Python).

Adobe Air выглядит очень интересно (и Silverlight?), Но кажется, что вы можете только обернуть установщик среды выполнения Air в пакет с приложением для развертывания. Вы можете создать автоматическую установку для среды выполнения Adobe Air с помощью инструментов распространения, но я не могу найти способ, чтобы приложение Air работало как действительно переносимое приложение (когда Air Runtime еще не установлено).

Я пробовал Python (с Qt) и Perl (с Tk / Tkx) и могу создавать кроссплатформенные приложения, которые можно упаковать в самораспаковывающийся исполняемый файл (в Windows), который копирует содержимое в некоторую временную папку и запускает приложение оттуда. Это лучшие варианты, которые у меня есть сейчас, потому что пользователю не нужно знать, что происходит. Они просто дважды щелкают по исполняемому файлу, и программа запускается (без шага установки). Но заставить Qt работать на OS X довольно сложно, и Tk кажется слишком ограниченным для современной разработки GUI.

Я также пробовал Real Studio (ранее назывался Real Basic) и Runrev Live Code (ранее назывался Runtime Revolution). Real Studio производит именно то, что я хочу, но в языке есть некоторые критические ошибки, которые делают разработку, в моем случае, невозможной. Live Code использует довольно неинтуитивный язык для любого обычного разработчика (говорят, что его легко выучить!), И он также довольно ограничен в функциях.

Я давно занимаюсь этой проблемой. Любой совет будет очень кстати.

== Обновление ==
Я больше разбирался в проблеме и теперь выяснил, как создать полностью автономные (переносимые) приложения, используя пакет 7zip SFX *1019*, содержащий мой код и Java JRE.

На фронте Python быстрые разработки для Qt и Pyside теперь упрощают получение приложений Python + Qt, работающих на Windows, Linux и OS X. Их можно обернуть с помощью инструмента PyInstaller , который также работает на всех трех платформах.

Ответы [ 3 ]

1 голос
/ 29 декабря 2010

Если вам нравится JVM (например, из-за кроссплатформенного пользовательского интерфейса), у вас есть другие варианты, кроме Java, включая:

  • Groovy, динамически типизированный язык JVM
  • JRuby, чистый порт JVM для Ruby
  • Jython, чистый порт JVM для Python
  • Scala, гибридный функционал / язык O-O с мощным механизмом вывода типов, более коротким синтаксисом, чем Java, безопасностью типов во время компиляции и другими функциями.

Все вышеперечисленное будет хорошо взаимодействовать с существующими библиотеками Java. Все позволит вам использовать компоненты Swing UI напрямую. Все будут работать везде, где есть JVM.

0 голосов
/ 14 августа 2011

JavaScript.:) Конечно, тогда зависимость от браузера приходит вместо зависимости от платформы ...

0 голосов
/ 29 декабря 2010

C используется для разработки портативных приложений.

В GCC коллекция компиляторов GNU , C доступна для различных платформ, а GCC также поддерживает кросс-компиляцию.

...