The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

09.01.2012 22:07  Инструментарий для разработки приложений на языке Python для платформы Android

Представлен проект Python for Android, в рамках которого подготовлен инструментарий, позволяющий создавать приложения для платформы Android на языке Python. Итоговые приложения оформляются в виде APK-пакетов, которые можно установить как обычные приложения для Android. Для обеспечения выполнения интерпретатора Python используется Android NDK (Native Development Kit), позволяющий организовать выполнение нативного Си/Си++ кода с задействованием API платформы Android. Код проекта распространяется в рамках лицензии LGPLv2.1.

Для формирования пользовательского интерфейса в Python программах для платформы Android предлагается использовать Python-библиотеку Kivy, предназначенную для быстрого создания многоплатформенных GUI-интерфейсов, которые кроме Android также смогут работать в Linux, Windows и Mac OS X. Для формирования интерфейса напрямую используется OpenGL ES 2. Возможно использование различных протоколов ввода, таких как WM_Touch, WM_Pen, Mac OS X Trackpad, Magic Mouse, Mtdev, HID (ядро Linux), TUIO. Поддерживается мультитач, в том числе возможна эмуляция мультитач через использование двух мышей.

Python-приложения для платформы Android пока могут использовать ограниченное число внешних модулей, круг которых постепенно будет расширяться. Например, в данный момент поддерживается jpeg, pil, png, sdl, sqlite3, pygame, kivy, android, libxml2, libxslt, lxml, ffmpeg и openssl. В APK-пакет включается специально формируемый для каждого проекта дистрибутив Python, содержащий только необходимый для выполнения текущего приложения набор runtime-компонентов. Для запуска приложения требуется создать скрипт main.py.

Следует отметить, что кроме Python for Android развивается несколько других проектов, позволяющих выполнять приложения для платформы Android, но они либо ограничивают возможности языка, либо не предоставляют средств сборки готовых к использованию пакетов, либо не поддерживают формирование GUI-интерфейса, либо не позволяют формировать сборки с желаемым набором компонентов. Среди таких проектов:

  • SL4A (Scripting Layer for Android) - проект по обеспечению запуска скриптов на языках Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl и shell, развиваемый при участии компании Google. В скриптах может быть использован API Android через специальную обвязку вокруг стандартного JSON RPC платформы Android, что позволяет использовать из скриптов функции телефонии, отправлять SMS, получать данные с GPS, web-камеры и акселерометров, обрабатывать события, использовать функции синтезатора речи, формировать интерфейс пользователя.
  • PGS4A (Pygame Subset for Android) - порт Pygame для платформы Android, позволяющий создавать и портировать игры на языке Python с использованием стандартных модулей Pygame.
  • Python-on-a-Chip (p14p) - урезанный вариант виртуальной машины Python (PyMite), поддерживающий лишь часть языка Python.


  1. Главная ссылка к новости (http://txzone.net/2012/01/intr...)
  2. OpenNews: Проект Android-x86 представил сборку Android 4 для платформы x86
  3. OpenNews: Для платформы Android представлен пакет для создания приложений на языке PHP
  4. OpenNews: Мобильная платформа Android обзавелась средствами разработки на языке Perl
  5. OpenNews: В мобильной платформе Android появилась поддержка скриптовых языков
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: ndk, nadroid, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.1, kod, 23:05, 09/01/2012 [ответить] [смотреть все]    [к модератору]
  • +/
    на этом можно написать сетевое приложение?
     
     
  • 2.8, kAIST, 02:08, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +1 +/
    Модули socket и urllib (urllib2) идут там из коробки. Так что проблем нет.
     
  • 2.18, Аноним, 08:30, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]
  • +1 +/
    Ага На питоне И посадить батарейку не за сутки как раньше, а за три часа С уч... весь текст скрыт [показать] [показать ветку]
     
  • 1.4, Df232z, 23:26, 09/01/2012 [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    Слишком много слоев. Моя батарея этого не выдержит.
     
     
  • 2.7, k_bx, 01:20, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Да бросьте вы Зато теперь мне будет не лень набросать приложение для проверки с... весь текст скрыт [показать] [показать ветку]
     
  • 2.9, kAIST, 02:09, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    Ну почему же много Python там нативен NDK а не выполняется через Java Один с... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, progserega, 04:26, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    цитата с описания NDK If you write native code, your applications are still pa... весь текст скрыт [показать]
     
     
  • 4.25, Анонимуз, 10:15, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Из процитированного следует другое - насколько бы нативным не был код, чтобы ста... весь текст скрыт [показать]
     
     
  • 5.56, progserega, 18:55, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Хорошо если так В принципе тогда получается можно писать код на Си С , нативно... весь текст скрыт [показать]
     
     
  • 6.64, Аноним, 21:45, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Игрушки под андроид именно так и делают Более того, в NDK доступны функции для ... весь текст скрыт [показать]
     
     
  • 7.69, progserega, 05:19, 11/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну тогда вообще не так всё плохо и только сам разработчик решает - писать ли ему... весь текст скрыт [показать]
     
     ....нить скрыта, показать (7)

  • 1.10, Аноним, 03:00, 10/01/2012 [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Отличная новость Обязательно будем пробовать И если То тогда мы свои питон... весь текст скрыт [показать]
     
     
  • 2.16, Аноним, 08:10, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    только Obj-C - генерит native код и он же выполняется в устройстве А это недора... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.26, Анонимуз, 10:25, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Вроде русским по бэкграунду написано, что интерпретатор питона выполняется натив... весь текст скрыт [показать]
     
     
  • 4.32, Аноним, 11:54, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Зато скриптоподелка в нем нифига не транслируется в нативные инструкции и интерп... весь текст скрыт [показать]
     
     
  • 5.40, yo, 12:26, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    И вы сходите почитайте что такое Cython ... весь текст скрыт [показать]
     
  • 3.27, Аноним, 11:06, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Мсье прямо сегодня кодил в obj-c и с тоской вспоминал при этом зеленого друга А... весь текст скрыт [показать]
     
     
  • 4.33, Аноним, 11:55, 10/01/2012 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > зеленого друга.

    Это вы о питоне так? Зеленый змий? :))

     
     
  • 5.45, Аноним, 12:48, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нет-нет Это любимый зеленый змей Мне действительно очень и очень нравится на... весь текст скрыт [показать]
     
     
  • 6.49, Аноним, 16:28, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Зато мне совершенно не нравится что в системе надо содержать три версии этого де... весь текст скрыт [показать]
     
     
  • 7.51, бедный буратино, 16:33, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Восемнадцать версий И кормиить их три раза в день - разве тебе ещё не доложили ... весь текст скрыт [показать]
     
     
  • 8.54, Аноним, 16:43, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Греп говорит пока только про три Но я подозреваю что питоновские даки и до 18... весь текст скрыт [показать]
     
     
  • 9.58, 2q, 19:21, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А зачем ты их 3 держишь ... весь текст скрыт [показать]
     
     
  • 10.61, Аноним, 19:32, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Да что тут не понятного Ну тренируется на досуге грипом искать питон на раздел... весь текст скрыт [показать]
     
     
  • 11.63, 2q, 19:38, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Может ему рассказать про симлинки ... весь текст скрыт [показать]
     
  • 1.14, python, 07:06, 10/01/2012 [ответить] [смотреть все]    [к модератору]  
  • +/
    попробовал поставить - недоделка. Kivy без cython'a не компилится, а cython'a нет в нем...
     
     
  • 2.28, Аноним, 11:19, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    А теперь наивный вопрос что мешает запустить питоновый скрипт, создать с его по... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.35, Аноним, 11:57, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    А зачем все это на питоне, у которого интерпретер сам по себе хряпнет 30 свобод... весь текст скрыт [показать]
     
     
  • 4.43, yo, 12:29, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    30 оперативки Откуда дровишики ... весь текст скрыт [показать]
     
     
  • 5.53, Аноним, 16:39, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Top запущенный в телефоне Отдельные несознательные личности просто заманали уже... весь текст скрыт [показать]
     
     
  • 6.59, 2q, 19:27, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В N900 256Мб ОЗУ, python кушает аж 2 Мб, т е менее 1 , остается вопрос про 30 ... весь текст скрыт [показать]
     
  • 4.46, б.б., 12:52, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Эй, дубинушка, утухни http img deb6 ru python-memory png ... весь текст скрыт [показать]
     
     
  • 5.65, vasek, 01:10, 11/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    а теперь на напиши более-менее серьезное приложение, которое подгружает 5-10 либ... весь текст скрыт [показать]
     
     
  • 6.68, б.б., 04:23, 11/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ответ на вопрос предполагает ответ на вопрос Если вы в припадке истерики кричит... весь текст скрыт [показать]
     
  • 6.71, Аноним240, 22:31, 12/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Вспоминаем халяльно-кошерно-православный язык Си, функции malloc и free , учи... весь текст скрыт [показать]
     
  • 4.47, Аноним, 12:56, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Реализация слоя бизнес-логики на строго-типизованном ЯП Не смешите мои тапки ... весь текст скрыт [показать]
     
     
  • 5.50, Аноним, 16:32, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Лол, как звучит то применительно к телефону Вы еще мускуль не забудьте и апач ... весь текст скрыт [показать]
     
     
  • 6.55, Аноним, 17:51, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Вообще-то питоненависничество - это болезнь Но К счастью вполне излечимая Ест... весь текст скрыт [показать]
     
  • 6.72, Аноним240, 22:47, 12/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    2х обратно совместима 3x между собой совместима Между третьей и второй промежу... весь текст скрыт [показать]
     
  • 3.39, Аноним, 12:25, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Это такая пофигень, которая не совсем совместима с питоном который и так не впо... весь текст скрыт [показать]
     
     
  • 4.44, yo, 12:30, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Это такая штука которая генерит нативный код Сам такой ... весь текст скрыт [показать]
     
     
  • 5.52, Аноним, 16:34, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Ага, только совместимость как обычно, с середины на половину Поэтому от питонов... весь текст скрыт [показать]
     
     
  • 6.60, 2q, 19:30, 10/01/2012 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Python - Cypton полная совместимость, обратно нет, но и не требуется потому как... весь текст скрыт [показать]
     
  • 2.62, 2q, 19:35, 10/01/2012 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ну что Вы как маленький code sudo pip install kivy code Все само ставится ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.67, python, 02:11, 11/01/2012 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Для кроскомпиленого python и kivy? Попробуйте собрать этот инструментарий

     
     
  • 4.70, Аноним240, 22:18, 12/01/2012 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    У меня собралось, в чём проблема?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor