AndroidSOFT

Языки программирования: приложения на Python могут скоро появиться на Android

Приложения на Python

Разработчики Python стремятся к созданию приложений на Python, работающих на мобильных устройствах, но большие препятствия остаются.

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

Тем не менее, создатель Python Гвидо ван Россум и некоторые разработчики Python надеются, что приложения, написанные на Python, однажды могут работать на устройствах iOS и Android. Это могло произойти благодаря BeeWare, проекту с открытым исходным кодом, возглавляющему Russell Keith-Magee, который портирует CPython на Android, так что приложения, написанные на Python, могут работать непосредственно на Android.

В феврале Кейт-Маги объявил о первом значительном событии проекта для Android, получив «чистое» приложение Python для запуска на устройстве Android. Он дал обновление на саммите по языку Python 2020 года, который был проведен в Интернете в этом году из-за пандемии коронавируса.

BeeWare стремится позволить разработчикам писать приложения на Python и запускать этот код везде, используя виджеты пользовательского интерфейса (UI). Он хочет помочь разработчикам создавать приложения на Python, используя ту же кодовую базу, которая работает на iOS, Android, Windows, macOS, Linux, браузерах и tvOS.

CPython является эталонной реализацией языка Python с открытым исходным кодом, используемого другими реализациями, такими как Jython, который написан на Java и опирается на виртуальную машину Java (JVM). Но Python не предназначен для мобильных устройств, как для настольных систем.

CPython

Чтобы устранить этот недостаток, в прошлом году Python Software Foundation выделил проекту BeeWare грант в размере 50 000 долларов США, чтобы довести уровень поддержки Android до уровня своих инструментов для iOS. Порт Android CPython должен поддерживать большинство современных устройств Android, работающих под управлением версии 4.4 или более поздней.

«Стратегия BeeWare для Android заключалась в том, чтобы компилировать Python в байт-код Java, но устройства Android теперь достаточно быстры, а ядро ​​Android достаточно гибко, чтобы запускать сам CPython», – сказал Джесси Джирью Дэвис, инженер MongoDB и участник Python.

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

Некоторые предлагали решить эту проблему путем создания урезанной версии Python для «ядра» – идея, которая, по мнению Кейта-Маги, могла бы решить многие мобильные проблемы Python в сочетании с установщиком пакетов (pip), который позволяет разработчикам устанавливать пакеты для цели. Платформа, а не просто система, на которой он работает.

Для обычных программистов на Python мобильная среда – это чужая планета, – объясняет Дэвис. Нет подпроцессов; сокеты, каналы и сигналы ведут себя иначе, чем в обычном Unix; многие системные вызовы запрещены.

«Обработка сертификатов TLS на Android особенно необычна. Чтобы тестовый набор CPython мог проходить на мобильных устройствах, он должен пропустить многочисленные тесты, использующие fork или spawn, или использующие сигналы, или любые другие API, которые отличаются или отсутствуют».

Кит-Маги считает, что более зрелая поддержка Android означает, что участники CPython «могут серьезно поговорить о том, как мы можем объединить эти изменения с самим CPython». Итак, теперь вопрос заключается в том, заинтересуются ли разработчики CPython внедрением мобильного Python в ядро.

Хорошая новость заключается в том, что Ван Россум одобрил мобильную поддержку в долгосрочной перспективе, по словам Дэвиса.

Но есть большие препятствия. По словам Неда Дейли, разработчика ядра Python в PSF, для предоставления мобильной поддержки потребуется больше денег и людей, чем во многих других инициативах Python.

Теги
Показать больше

Похожие статьи

Кнопка «Наверх»
Закрыть
Закрыть