Разработка кроссплатформенных приложений с помощью фреймворка kivy

РАЗРАБОТКА КРОССПЛАТФОРМЕННЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ ФРЕЙМВОРКА KIVY Болдырева М.В.

Болдырева Мария Владимировна - студент, кафедра системы управления и компьютерных технологий, факультет информационных управляющих систем, Балтийский государственный технический университет им. Д. Ф. Устинова,

г. Санкт-Петербург

УДК 004.422

В настоящее время рынок разработки приложений заметно качнулся в сторону мобильных приложений. При этом свойство кроссплатформенности (разрабатываемое приложение должно корректно работать на различных устройствах и операционных системах) является приоритетным ввиду распространенности операционных систем Windows, Linux, Android, Mac OS. В данной работе рассматривается относительно новый подход к разработке с помощью нового фреймворка kivy, работающего как библиотека python.

Мобильная разработка, кроссплатформенное приложение, kivy, python.

Наиболее популярным языком при разработке для ОС Android является Java. Основной особенностью данного языка является его универсальность. Будучи компилируемым, язык может работать 2 различными способами: либо в окне браузера, либо запускаться в виртуальной машине. Еще одним набирающим популярность вариантом является язык Kotlin - синтаксис языка проще и чище, чем в Java. А также язык является совместимым с Java, что также является большим плюсом при разработке.[1]

Мобильная разработка на Python - одно из перспективных направлений. Фактически, о разработке на Python под iOS и Android не могло быть и речи, однако благодаря изменениям, произошедшим в последние годы, перспектива использования Python для написания мобильных приложений значительно улучшилась. Для мобильной разработки был написан фреймворк kivy - это библиотека Python с открытым кодом для разработки кроссплатформенных GUI приложений. Она позволяет писать приложения с графическим интерфейсом на чистом Python, которые работают на основных платформах (Windows, Linux, MacOS, Android, IOS) [2].

Рассмотрим особенности Kivy. В kivy встроен настраиваемый набор инструментов пользовательского интерфейса, который представляет собственные кнопки, формы ввода текста и т.д. - данные виджеты не отображаются с помощью элементов управления пользовательского интерфейса собственной платформы. [3] Это гарантия нормального функционирования приложения на различных платформах, однако внешний вид будет выглядеть немного устаревшим и выглядеть непривычно для пользователя. На данный момент выпущена отдельная библиотека kivyMD, которая предоставляет для разработки набор виджетов в стиле Google Matherial Design и позволяет разрабатывать приложения, не отличимые от наиболее популярных приложений, а также есть возможность вставлять классы из Java с помощью модуля PyJNIus. Python - наиболее часто использующийся язык при работе с данными и машинном обучении. Приложение на языке kivy состоит из исполняемых python-сценариев и файлов с расширением kv. Язык kv является языком разметки, с помощью которого описывается внешний вид приложения, но необязательно создавать отдельные kv-файлы. Язык kv похож на python тем, что исполнение сценариев также зависит от табуляции - она отвечает за разделение операций интерпретатором. На рисунке 1 представлен вид исходного текста на языке kv.

NavigationLayout: id: nav_layout MDNavigatiohDrawer; id: nav drawer Naviga t ionDrawe rToo lba r:

title: "NBA. Prediction App"

Naviga t ionDrawe r I conBu tton:

icon: 'checkbox-blank-circler text: "Выбор даты"

on_release; app.root.ids.scr_mngr.current = pickers Naviga t ionDrawe r IconButton:

icon: ' checkbox-blank-circle r| text: "Сохраненные прогнозы"

on release: app. root. ids. s crmngr. current = ' tabs ' Naviga t ionDrawe rIconButton:

icon: 'checkbox-blarik-circler text: "Вход"

on_release: app.root.ids.s cr mngr.current = 'dialog' NavigationDrawerlconButton:

icon: 'checkbox-blarik-circler text: "Регистрация"

on_release: app.root.ids.s cr mngr.current = 'textfie NavigationDrawerlconButton:

icon: 'checkbox-blank-circler text: "Темы"

on_release: app.root.ids.s cr_mngr.current = 'theminc

Рис. 1. Пример исходного текста на kv

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

Список литературы

1. Сайт code.tutplus.com. [Электронный ресурс]. Режим доступа: https://code.tutsplus.com/ru/articles/mobile-development-languages--cms-29138/ (дата обращения: 04.07.2018).

2. Сайт habr.com. [Электронный ресурс]. Режим доступа: https://habr.com/post/306300/ (дата обращения: 04.07.2018).

3. Сайт proglib.io. [Электронный ресурс]. Режим доступа: https://proglib.ю/p/mobile-python/ (дата обращения: 04.07.2018).