Рекомендации для разработчиков ПО#
Размещение ПО, пользовательских данных и иконок приложений в основном меню#
Дополнительное ПО (не из состава ОС Astra Linux Mobile) должно устанавливаться в каталог /opt/<имя вендора>/<название ПО>
Примечание
Зависимости программ по возможности надо включать в комплект с ПО, чтобы избежать проблем с совместимостью при обновлении основной системы
Desktop файл при установке программы должен быть размещен в каталоге /opt/astra-mobile/menu
Примечание
При обновлении системы раздел /opt не будет изменен и приложение также будет доступно в меню
Все пользовательские данные программ должны располагаться в разделе /home
Примечание
При обновлении системы раздел /home не будет изменен и данные приложений также будут доступны.
Список фреймворков и технологий рекомендуемых при разработке приложений#
C++
Qt QML/QtQuick/Kirigami https://doc.qt.io/ https://develop.kde.org/frameworks/kirigami/
Kde Frameworks https://develop.kde.org/products/frameworks/
Kdelibs https://api.kde.org/
Application development https://community.kde.org/Plasma/Mobile/DevGuide#Plasma_Mobile_application_development
Быстрый старт Flutter
Быстрый старт Electron
Рекомендации по дизайну разрабатываемого ПО#
Пример приложений для мобильного устройства#
FAQ#
Каким образом можно использовать камеру?#
https://doc.qt.io/qt-5.15/qtmultimedia-index.html https://doc.qt.io/qt-5.15/cameraoverview.html https://doc.qt.io/qt-5.15/qtmultimedia-multimediawidgets-camera-example.html https://doc.qt.io/qt-5.15/qtmultimedia-multimedia-declarative-camera-example.html
Каким образом можно использовать микрофон/динамики?#
https://doc.qt.io/qt-5.15/qtmultimedia-index.html
https://doc.qt.io/qt-5.15/audiooverview.html
https://doc.qt.io/qt-5.15/qtmultimedia-multimedia-audiodevices-example.html
https://doc.qt.io/qt-5.15/qtmultimedia-multimedia-audioinput-example.html
https://doc.qt.io/qt-5.15/qtmultimedia-multimedia-audiooutput-example.html
https://doc.qt.io/qt-5.15/qtmultimedia-multimedia-audiorecorder-example.html
Каким образом можно использовать фото/видео камеры?#
Каким образом можно получать геопозицию устройства?#
Каким образом можно использовать USB порт устройства?#
Каким образом можно использовать Bluetooth?#
https://api.kde.org/frameworks/bluez-qt/html/index.html
https://invent.kde.org/plasma/bluedevil/-/tree/Plasma/5.27?ref_type=heads
https://invent.kde.org/plasma/bluedevil/-/tree/Plasma/5.27/src/kcm?ref_type=heads
Каким образом можно использовать WiFi?#
https://api.kde.org/frameworks/networkmanager-qt/html/index.html
https://invent.kde.org/plasma/plasma-nm/-/tree/Plasma/5.27?ref_type=heads
https://invent.kde.org/plasma/plasma-nm/-/tree/Plasma/5.27/mobile?ref_type=heads
Каким образом можно получить информацию о состоянии батареи устройства?#
https://api.kde.org/frameworks/solid/html/
https://api.kde.org/frameworks/solid/html/classSolid_1_1Battery.html
Фоновые процессы/запуск приложений в фоне, как реализовать, правила, ограничения?#
Есть ли возможность получения геопозиции устройства в приложении без UI (фоновый процесс)?#
Существуют ли Push-уведомления подобные как на Android/iOS?#
https://api.kde.org/frameworks/knotifications/html/index.html
https://api.kde.org/frameworks/knotifications/html/classKNotification.html