Пакеты Flutter
Пакеты — это важная составляющая большинства Flutter-приложений. Они предоставляют Flutter-приложениям основной функционал для взаимодействия с системой. Плагины — это зависимые от платформы пакеты, реализующие связь приложения с операционной системой.
Пакеты
Независимые от платформы — общие пакеты, реализованные на инфраструктуре flutter/dart, не требующие прямого взаимодействия с операционной системой. Например: get_it, photo_view.
Зависимые от платформы — плагины, взаимодействующие с операционной системой с помощью интерфейса Platform Channel, FFI или имеющие в зависимостях плагины, обеспечивающие работу пакета. Например: camera, path_provider
Дополнительная информация о разработке плагинов: Разработка плагинов.
Доступные плагины
Ключевые плагины реализует компания "Открытая мобильная платформа" для поддержки экосистемы Flutter под операционную систему Аврора. Есть сторонние плагины, разработанные другими компаниями и сообществом специалистов, интересующихся разработкой на Flutter. Можно ознакомиться со списком доступных пакетов на следующих страницах:

README.md
Каждый плагин имеет файл README.md с описанием его подключения и основной информацией по нему.
Для стандартизации описания плагина прилагаются шаблон и данные, которые пакет должен иметь
в описании.
Параметры
{PARENT_PLUGIN}— название плагина, который имплементируется под платформу ОС Аврора{AURORA_PLUGIN}— название плагина ({PARENT_PLUGIN}_aurora){AURORA_PLUGIN_DESC}— дополнительное описание плагина{PARENT_PLUGIN_VERSION}— версия имплементируемого плагина{AURORA_PLUGIN_VERSION}— версия имплементации плагина{AURORA_PLUGIN_PERMISSIONS}— права доступа плагина, если необходимы{AURORA_PLUGIN_DEPENDENCY}— зависимости плагина, если необходимы{AURORA_PLUGIN_LIB_EXCLUDE}— исключить библиотеки "с собой" из валидации, если необходимо{EXAMPLE_DART}— простой пример вызова плагина
Шаблон
# {AURORA_PLUGIN}
The Aurora implementation of [`{PARENT_PLUGIN}`](https://pub.dev/packages/{PARENT_PLUGIN}).
{AURORA_PLUGIN_DESC}
## Usage
This package is not an _endorsed_ implementation of `{PARENT_PLUGIN}`.
Therefore, you have to include `{AURORA_PLUGIN}`
alongside `{PARENT_PLUGIN}` as dependencies in your `pubspec.yaml` file.
**pubspec.yaml**
```yaml
dependencies:
{PARENT_PLUGIN}: ^{PARENT_PLUGIN_VERSION}
{AURORA_PLUGIN}:
git:
url: https://developer.auroraos.ru/git/flutter/flutter-community-plugins/internal_aurora.git
ref: {AURORA_PLUGIN_VERSION}
```
***main.cpp**
```c++
#include <flutter/flutter_aurora.h>
#include <flutter/flutter_compatibility_qt.h> // <- Add for Qt
#include "generated_plugin_registrant.h"
int main(int argc, char *argv[]) {
aurora::Initialize(argc, argv);
aurora::EnableQtCompatibility(); // <- Enable Qt
aurora::RegisterPlugins();
aurora::Launch();
return 0;
}
```
***.desktop**
```desktop
Permissions={AURORA_PLUGIN_PERMISSIONS}
```
***.spec**
```spec
%global __requires_exclude ^lib({AURORA_PLUGIN_LIB_EXCLUDE})\\.so.*$
BuildRequires: pkgconfig({AURORA_PLUGIN_DEPENDENCY})
```
***.dart**
```dart
{EXAMPLE_DART}
```
Сделать вклад
Можно поделиться реализаций плагина для платформы ОС Аврора с сообществом через систему merge-request GitLab.
Что нужно учитывать для реализации плагина:
- Плагин должен поддерживать ОС Аврора 5.
README.mdдолжен соответствовать шаблону, предоставленному выше.- Имплементация плагина должна иметь название основного плагина +
_auroraв конце. - Должен быть реализован пример для плагина.
- Соблюдать правила форматирования и анализа кода, которые закладывал автор исходного плагина.