Рекомендации для разработчиков ПО

Содержание

Рекомендации для разработчиков ПО#

Размещение ПО, пользовательских данных и иконок приложений в основном меню#

Дополнительное ПО (не из состава ОС Astra Linux Mobile) должно устанавливаться в каталог /opt/<имя вендора>/<название ПО>

Примечание

Зависимости программ по возможности надо включать в комплект с ПО, чтобы избежать проблем с совместимостью при обновлении основной системы

Desktop файл при установке программы должен быть размещен в каталоге /opt/astra-mobile/menu

Примечание

При обновлении системы раздел /opt не будет изменен и приложение также будет доступно в меню

Все пользовательские данные программ должны располагаться в разделе /home

Примечание

При обновлении системы раздел /home не будет изменен и данные приложений также будут доступны.

Список фреймворков и технологий рекомендуемых при разработке приложений#

Рекомендации по дизайну разрабатываемого ПО#

https://develop.kde.org/hig/

Пример приложений для мобильного устройства#

https://plasma-mobile.org/ru/

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

Каким образом можно использовать фото/видео камеры?#

https://doc.qt.io/qt-5.15/multimedia-examples.html

Каким образом можно получать геопозицию устройства?#

https://doc.qt.io/qt-5.15/qtpositioning-index.html

Каким образом можно использовать USB порт устройства?#

https://api.kde.org/frameworks/solid/html/

Каким образом можно использовать 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

Фоновые процессы/запуск приложений в фоне, как реализовать, правила, ограничения?#

https://doc.qt.io/qt-5/qprocess.html

Есть ли возможность получения геопозиции устройства в приложении без UI (фоновый процесс)?#

https://doc.qt.io/qt-5.15/qtpositioning-index.html

Существуют ли Push-уведомления подобные как на Android/iOS?#

https://api.kde.org/frameworks/knotifications/html/index.html

https://api.kde.org/frameworks/knotifications/html/classKNotification.html