Мобильная разработка на Python: обзор двух фреймворков

Мобильная разработка на Python – одно из перспективных направлений. В статье автор рассматривает два фреймворка с их недостатками и преимуществами.

мобильная разработка на Python

Перевод статьи Using Python for Mobile Development: Kivy vs BeeWare

Как насчёт использования Python для мобильной разработки? Исторически Python не был лучшим инструментом для написания мобильных GUI приложений.

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

Мобильная разработка на Python постепенно прогрессирует. Результатом этого прогресса являются несколько современных инструментов, которые мы рассмотрим в этой статье. Два фреймворка, которые следует выделить — это Kivy и BeeWare.

Kivy — кроссплатформенная мобильная разработка на Python

Kivy — это библиотека Python, имеющая открытый код, предназначенная для разработки кроссплатформенных GUI приложений. Она позволяет писать вам приложения с графическим интерфейсом на чистом Python, которые работают на основных платформах (Windows, Linux, MacOS, Android, IOS).

Теперь каждый раз, когда я слышу о новом GUI toolkit, мне всегда интересно насколько "родным" для меня это будет — я считаю, что GUI приложений должен опираться на сильные стороны платформы, на которой он работает.

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

В Kivy встроен настраиваемый набор инструментов пользовательского интерфейса, который предоставляет собственные кнопки, формы ввода текста, radiobutton’ы и т. д. Это означает, что эти виджеты не отображаются с помощью элементов управления пользовательского интерфейса собственной платформы. У этого есть свои плюсы и минусы.

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

То же самое относится к определенным видам приложений, таких как графические MIDI-контроллеры для создания музыки. Но для других типов приложений это имеет огромное влияние на удобство использования.

Итак, если вы можете работать с не нативным набором инструментов пользовательского интерфейса в своих приложениях, Kivy — отличный выбор. Этот фреймворк позволяет вам писать мобильные приложения, используя свои навыки программирования на Python, без необходимости изучать другой язык для определённой платформы, например, Swift от Apple.

BeeWare Project — нативные мобильные приложения на Python

Второй Python GUI и фреймворк для разработки под мобильные устройства - BeeWare. Он предлагает набор инструментов, который вы можете использовать для написания мобильных и десктопных приложений с использованием Python.

Ключевое различие между Kivy и BeeWare в том, что BeeWare использует нативный набор инструментов UI для определённой платформы. Kivy использует кастомный набор инструментов UI, который задействует те же элементы управления на всех платформах.

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

Звучит неплохо, правда?

Единственным недостатком является то, что проект BeeWare всё ещё находится в разработке, возглавляемой Pythonista Russel Keith-Magee. Как и с любым фреймворком, который ещё не успел развиться, вы работаете в качестве разработчика из-за (потенциально частых) изменений API, ошибок и отсутствия необходимых функций.

Мобильная разработка на Python: заключение

Если перед вами встанет выбор между этими двумя фреймворками, то скажу сразу: вам стоит попробовать как Kivy, так и BeeWare. Что касается “зрелости”, то Kivy, на мой взгляд, является более “зрелым” фреймворком.

В тех случаях, когда речь идёт о создании десктопных приложений на чистом Python, я думаю, что BeeWare в конечном итоге одержит верх из-за нативных UI контроллеров.

Но, честно говоря, если вы думаете о создании крупного мобильного приложения сегодня, то не имеет смысла писать его на Python. Если вы хотите получить лучший результат и использовать самые современные функции систем, лучше всего вам подойдёт Java (Android) и Swift (IOS).

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

Лично я бы хотел иметь возможность писать кроссплатформенные приложения на Python просто потому, что Python – приятный язык для работы.

Итак, если вы ищете хороший фреймворк с открытым исходным кодом, рассмотрите Kivy и BeeWare.

Статьи по теме:

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ