Могу ли я разрабатывать приложения для Android на Perl?

Я знаю, что я могу запустить Perl на Android, но я хочу написать приложение, которое можно будет опубликовать в Google Play, для тех, кто загружается и запускается. Является ли Perl все еще жизнеспособным выбором?

Этот проект Google создает Perl-скрипты и Perl в автономном APK, не требуя дальнейших загрузок, которые могут быть загружены в Google Play:

http://code.google.com/p/perl-android-apk/

Он обеспечивает доступ к API Android через SL4A – см. Следующую страницу одного из авторов:

http://www.github.com/damonkohler/sl4a

Так что да, Perl – это жизнеспособный вариант, если это ваш предпочтительный язык для работы.

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

Знание Java – отличная новая строка для вашего лука, а основы – в основном, что все – класс, – могут быть изучены во второй половине дня и могут в значительной степени быть воспроизведены в Perl

Технически вы можете выпускать все, что соответствует политике Google Play, и распространяется в форме APK. Но в случае perl вам придется либо связать perl с вашим приложением, либо ожидать, что пользователь получит его (едва ли не один), не говоря уже о пользовательском интерфейсе. Мой ответ – это не самая лучшая идея, и если вы можете переосмыслить ее, вы можете придумать что-то, требующее меньше хлопот.

Короткий ответ: нет, вы не можете использовать Perl в развернутом родном приложении для Android. Нет практического способа сделать это. Есть способы сделать это, но это невозможно.

Как отмечали другие, есть некоторые вещи, такие как SL4A, и такие, которые делают возможным прототипирование, и вы даже можете запустить реальное приложение на своем телефоне, но его развертывание на широкой базе телефонов будет проблематичным.

Для 95% приложений там самое подходящее приложение Java-приложения. Тем не менее, родное приложение Java не является единственной альтернативой, доступной вам.

Другие варианты:

  • Вы можете разработать приложение, которое в основном управляется на стороне сервера, на котором работает Perl. Это может быть связано с каким-то сокетным соединением, REST API или мобильным приложением в Интернете, завернутым в тонкое приложение Java, которое устанавливается на клиент. Однако ваше приложение будет работать только в том случае, если на телефоне или планшете установлено рабочее соединение. Существует много приложений (включая мои собственные), которые работают таким образом.

  • Вы можете попробовать PhoneGap , который использует HTML5 и JavaScript (и Java, если вы хотите расширить его, чтобы сделать что-то, что PhoneGap не поддерживает на Android). Эта структура также имеет то преимущество, что вы можете запускать свое приложение на iPhone и других смартфонах с минимальными усилиями. У этого также есть собственная база поддержки и сообщество отдельно от Android и Google, если это вызывает беспокойство.

  • Вы также можете попробовать Scala , который является функциональным языком (то есть более Perlish, чем Java), который строится на JVM и имеет некоторые инструменты, которые помогут в разработке проектов Android. Это не так зрело, но не поддерживается Google, и с самого начала это сложно, но не Java для тех, кто оскорблен Java.

В конечном счете, должно быть возможно, чтобы кто-то разворачивал приложения на Perl, и я бы хотел, чтобы это произошло. Однако я не желаю возглавлять этот проект.

Обновление Jan 2014: К сожалению, мой первоначальный ответ с августа 2012 года по-прежнему применяется, несмотря на то, что говорили другие. Установленное решение SL4A + perl ближе, но SL4A не позволяет создавать собственные приложения для Android. Это, в основном, дает вам возможность создавать локально размещенное веб-приложение, имеющее доступ к некоторым собственным функциям телефона. Это может удовлетворить потребности некоторых, но, конечно, не всех разработчиков приложений. Я до сих пор не знаю проекта, который позволит вам создать собственное приложение для Android в Perl.

Google утверждает, что Perl поддерживается «Scripting Layer для Android» (SL4A).

См. Здесь: http://code.google.com/p/android-scripting/

И Perl apk: http://code.google.com/p/android-scripting/downloads/detail?name=perl_for_android_r1.apk