'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №4 (73) том 3
  4. Научная статья № 59

Просмотры  21 просмотров

Воронин К.Д.

  


ВОЗМОЖНОСТИ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ ПОД ОС ASTRA LINUX SPECIAL EDITION *

  


Аннотация:
в работе рассматривается возможность создания мобильных приложений под операционную систему Astra Linux Special Edition. Разобраны инструменты для разработки приложений, состав пакета компонентов для создания интерфейсов. Приводиться пример взаимодействия с внутренними устройствами на примере работы с камерой.   

Ключевые слова:
Астра Линукс, мобильная Astra Linux, разработка мобильных приложений   


В связи с текущей ситуацией в мире и в соответствии с указом Президента РФ от 30.03.2022 №166 "О мерах по обеспечению технологической независимости и безопасности критической информационной инфраструктуры РФ", запрещающим с 1 января 2025 года использовать иностранное ПО всем государственным ведомствам и учреждениям, необходимо обеспечить замену иностранного ПО для работы в ключевых отраслях. Операционная система не является исключением, так как благодаря именно ей пользователи могут взаимодействовать с ПО. Одной из компаний, которая взялась за создание такой ОС в России, является «Русбитех-Астра». На базе своей ОС – Astra Linux Special Edition, разработанной под настольные компьютеры, они создали особый тип мобильной сессии, являющийся аналогом мобильной ОС. В условиях активного внедрения системы в государственных организациях ключевое значение приобретает оперативный и качественный перенос и адаптация приложений для пользователей. Важно не только обеспечить безопасное и стабильное функционирование новой операционной системы в целом, но и убедиться, что переход будет происходить с минимальными потерями в производительности и комфорте для пользователей. Для этого необходимо исследовать удобство и эффективность инструментов для разработки приложений, так как с помощью них будет происходить создание и адаптация приложений.Основные инструменты.Вести разработку необходимо на персональном компьютере с установленной ОС Astra Linux Special Edition, так как она предоставляет в полном объеме инструменты для разработки мобильных приложений:интегрированная среда разработки – QTCreator,язык программирования – C++,инструменты рабочего стола Fly.Для придания мобильному приложению стиля Fly рекомендуется базироваться на библиотеке компонентов QML, которая находится в пакете "fly-qml-components".Библиотека компонентов.Библиотека fly-qml-components представляет собой комплект готовых к использованию компонентов QML, которые легко интегрируются в приложения. Полный перечень компонентов расположен в каталоге – /usr/lib/x86_64-linux-gnu/qt5/qml/Fly/Components. Для включения этой библиотеки в приложение необходимо в файле QML указать следующее – import Fly.Components 1.0. Далее с ними можно работать как с обычными QML компонентами.Основной компонент – FlyRoot, основанный на QQuickWindow, облегчает создание окна без необходимости создания его самостоятельно. Для добавления страницы (FlyPage) используется функция root.addPage(, {properties}). При нажатии на "х", кнопку "Отмена" или "Назад", страница автоматически закрывается и вызывает cancelFunction. При нажатии на "ОК" вызывается okFunction. Основной компонент также предоставляет функции для создания и отображения основных виджетов, таких как сообщения, списков, выбора числа, календаря, строки ввода и выбора цвета.Создание пользовательского виджета.Еще одной функцией является создание собственного виджета. Он может быть основан на fly-qml-components. Точка входа это .qml файл. В качестве примера можно рассмотреть виджеты из пакета fly-phone-widgets (/usr/lib/x86_64-linux-gnu/qt5/qml/Fly/Widgets). Необходимо аккуратно пользоватся событиями Flickable и сложной обработкой мыши. На текущий момент MouseArea находится поверх виджета и пропускает только составные события. URI должен быть Fly.Widgets.MyWidget, где MyWidget имя виджета.Особенности работы с мобильным режимом ОС.Так как ОС в большей мере является настольной, в мобильном режиме при разработки приложений необходимо учитывать свои особенности. Так, при нажатии на кнопку "Назад" в нижней панели генерируется команда Alt+F4. Чтобы обработать это событие, необходимо обрабатывать событие закрытия окна. Если используется fly-qml-components, то открытые страницы (FlyPage) автоматически закрываются при нажатии на кнопку "Назад". При этом будет вызвана функция cancelFunc. Также есть возможность добавить свою команду. Например, при использовании следующего кода (Рис. 1) будет выведено "Hello" в консоль:Рис. 1. Пользовательская обработка кнопки назад.При использовании функции addFunctionToBackStack в обработчике необходимо самостоятельно вызывать root.popFunctionFromBackStack() или root.clearBackStack(), в зависимости от логики приложения.При работе с клавиатурой, для автоматического вызова при фокусе на элементе, например, текстовых полях, необходимо использовать пакет qtvirtualkeyboard. Кроме того, для создания клавиатуры есть два способа – встроенный в приложение и внешний. При использовании fly-qml-components клавиатура встраивается в приложение и плавно выезжает при отображении, занимая только верхнюю часть страницы. Для доступа к клавиатуре используется root.virtualKeyboard. Например, для установки английской раскладки вызывается root.virtualKeyboard.setEnglishLayout(). Если экран находится в горизонтальной ориентации и высота клавиатуры превышает 70% высоты экрана, то будет показано отдельное текстовое поле ввода. В приложениях без использования fly-qml-components клавиатура отображается вне приложения, поджимая его снизу без анимации. В коде приложения дополнительно ничего писать не нужно, а обратиться к клавиатуре можно только через Qt.inputMethod. Чтобы узнать, отображается ли клавиатура, используется Qt.inputMethod.visible. Для настройки клавиатуры используется inputMethodHints.Работа с внутренними устройствами.Также есть возможность для взаимодействия с различными устройствами, такими как камера, аудиоустройства, Bluetooth и многими другими. Совместимость с этими устройствами обеспечивается с использованием современных технологий, в том числе средств Qt и C++. Для этих целей нет подходящих компонентов в пакете fly-qml-components, так что разработчикам необходимо использовать другие инструменты.Для работы с камерой в Linux, Qt предоставляет модуль Qt Multimedia. Ниже приведен более подробный пример кода для работы с камерой (Рис. 2), который будет работать для мобильных приложений:Рис. 2. Пример работы с камерой.Заключение. Таким образом, разработка приложений под мобильную версию Astra Linux Special Edition не представляет проблемы благодаря готовой инфраструктуре и поддержке компонентов Fly. Это позволяет разработчикам сосредоточиться на собственном творчестве и создании высококачественных приложений, не тратя времени на настройку среды разработки и обеспечение необходимых компонентов.   


Полная версия статьи PDF

Номер журнала Вестник науки №4 (73) том 3

  


Ссылка для цитирования:

Воронин К.Д. ВОЗМОЖНОСТИ ДЛЯ РАЗРАБОТКИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ ПОД ОС ASTRA LINUX SPECIAL EDITION // Вестник науки №4 (73) том 3. С. 390 - 395. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/13968 (дата обращения: 19.05.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/13968



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2024.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.