Код первого приложения
Первое приложение для ОС Аврора — это приложение, которое по умолчанию создаётся из шаблона. После создания приложение нужно запустить, чтобы познакомиться с его интерфейсом.
Код и первоначальная конфигурация приложения будут сгенерированы автоматически. Они удовлетворяют требованиям валидатора, которые необходимо соблюдать при разработке приложений.
Шаблон содержит все основные части простого приложения. В этом руководстве они будут разобраны.
При создании нового проекта на основе шаблона приложения некоторые файлы названы по имени проекта.
Здесь в качестве примера используется имя проекта FirstApp
и название организации ru.template
.
Стартовая точка приложения
Стартовая точка приложения — это файл src/main.cpp
.
Каждое приложение должно определять объект приложения
Aurora::Application
и объект QQuickView
.
В объекте приложения задаются название организации и название приложения. Они должны соответствовать требованиям.
QQuickView
создаёт экземпляр ApplicationWindow
на основе QML-файла.
Пример кода main.cpp:
#include <auroraapp.h>
#include <QtQuick>
int main(int argc, char *argv[])
{
QScopedPointer<QGuiApplication> application(Aurora::Application::application(argc, argv));
application->setOrganizationName(QStringLiteral("ru.template"));
application->setApplicationName(QStringLiteral("FirstApp"));
QScopedPointer<QQuickView> view(Aurora::Application::createView());
view->setSource(Aurora::Application::pathTo(QStringLiteral("qml/FirstApp.qml")));
view->show();
return application->exec();
}
QML
Стартовая точка QML-части приложения находится в каталоге qml
и называется по имени приложения:
FirstApp.qml
.
Остальные QML-файлы также размещаются в этом каталоге в поддиректориях.
QML-код первого приложения разбирается в руководстве про начало работы с QML.
Каталог qml
содержит файлы, которые должны быть развёрнуты как часть приложения.
Помимо QML-файлов, в этом каталоге или в его подкаталогах могут быть размещены аудио, изображения
и файлы JavaScript, используемые приложением.
Всё, что помещается в каталог qml
, развёртывается при установке приложения на эмулятор
или устройство.
Конфигурационные файлы
Помимо кода, в шаблоне также присутствуют конфигурационные файлы и иконки.
ru.template.FirstApp.desktop
— это стандартный
файл конфигурации рабочего стола, который
описывает, как должно запускаться конкретное приложение, как оно отображается в списке приложений
и т. д.
Файл .desktop содержит раздел X-Application
, который определяет особенности песочницы
для приложения.
OrganizationName
и ApplicationName
задают название организации и название приложения.
Они используются для определения имён каталогов, используемых для хранения конфигурации приложения,
данных и файлов кэша.
Поле Permissions
содержит список всех разрешений, которые запрашивает приложение.
Поскольку шаблонному приложению не нужны никакие разрешения, список пустой.
Пример кода:
[Desktop Entry]
Type=Application
X-Nemo-Application-Type=silica-qt5
Icon=ru.template.FirstApp
Exec=/usr/bin/ru.template.FirstApp
Name=Template
Name[ru]=Моё приложение
[X-Application]
Permissions=
OrganizationName=ru.template
ApplicationName=FirstApp
ExecDBus=/usr/bin/ru.template.FirstApp
ru.template.FirstApp.png
— это иконка запуска для приложения.
Поле Icon
в файле .desktop ссылается на этот файл изображения только по его базовому имени
без расширения.
Имя иконки основано на значении переменной TARGET
в pro-файле, т. е. на названиях организации
и приложения.
Следовательно, имя файла иконки не должно изменяться, если TARGET
также не обновлена.
ru.template.FirstApp.pro
— это файл проекта, который связывает исходный код и сгенерированный
бинарный файл приложения вместе.
Файл описывает, как приложение собирается путём создания Makefile в каталоге сборки,
который затем выполняется для фактической сборки приложения.
Код CONFIG += auroraapp
в pro-файле подключает в проект библиотеку
Libauroraapp, которая обеспечивает реализацию функций
из пространства имён Aurora::Application
, используемых в main.cpp
.
pro-файл пишется с помощью qmake, альтернативно данную кофигурацию можно
описать средствами cmake.
Файл ru.template.FirstApp.spec
в каталоге rpm
управляет тем, как собирается
rpm-пакет для приложения.