Python или Java? Что лучше для мобильной разработки и приложений с графическим интерфейсом - PullRequest
0 голосов
/ 08 июля 2010

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

Существуют ли мобильные платформы, на которых работает Python, или я должен идти по маршруту Java?

Ответы [ 3 ]

2 голосов
/ 08 июля 2010

Java, безусловно, доступна на большем количестве платформ.Я бы выбрал целевую платформу (или набор целей) и увидел бы, на каком языке (языках) потребуется наименьшее количество избыточных реализаций.

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

Конечно, в зависимости от сложности вашего приложения, это может оказаться неверным - небольшое простое приложение может быть доставлено в «прототипное время».

1 голос
/ 08 июля 2010

Google выпустила Android Scripting Environment (ASE) , которая позволяет вам писать программы для Android на различных языках сценариев, включая Python и Ruby.Однако в настоящее время нет возможности выпустить приложение, написанное на этих языках, хотя, по слухам, Google работает над ним.

В целом самым большим ограничением ресурсов для мобильных устройств является заряд батареи.Так как динамические интерпретируемые языки обычно имеют более высокую нагрузку на ЦП, чем статически типизированный язык, программа Python будет потреблять больше энергии, чем эквивалент Java.

Вдобавок ко всему, вам нужно будет доставить всю среду выполнения Python спрограмма, в то время как среда выполнения Java уже будет включена на устройстве.Это означает дополнительные затраты памяти - еще один дефицитный ресурс на мобильном телефоне.

На данный момент, по крайней мере, я бы не использовал Python или аналогичный язык сценариев для серьезной разработки Android - это может быть полезно для быстрого создания прототипов, но не для качества производстваПрограммы.Я говорю это с тяжелым сердцем, так как я люблю Python и сильно не люблю Java.Возможным компромиссом является Scala - он статически типизирован, но использует вывод типов, чтобы устранить большую часть издержек Java, и больше похож на Python для разработки. Также, как и Python, это смешанный объектно-ориентированный и функциональный язык (в отличие от Java, которыйОбъект дезориентирован и не функционирует).Есть множество людей, экспериментирующих с использованием Scala для разработки под Android, поскольку он компилируется в файлы классов Java, которые столь же эффективны, как и эквивалентный код Java.

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

Я знаю, что есть версия Python для Windows Mobile, но, опять же, AFAIK, нет способа упаковать программу на Python в выпускаемое приложение.

0 голосов
/ 08 июля 2010

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

Если вам действительно нужно приложение, то вам, вероятно, понадобится отдельный язык для каждогоПлатформа!Для Android вы хотите использовать Java, а для iPhone / iPad - Objective-C.Хороший аргумент за то, что вы действительно пытаетесь пойти по пути веб-приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...