Документация
ОС Аврора 3.32.7

Пакеты Flutter

Пакеты — это важная составляющая большинства Flutter-приложений. Они предоставляют Flutter-приложениям основной функционал для взаимодействия с системой. Плагины — это зависимые от платформы пакеты, реализующие связь приложения с операционной системой.

Пакеты

Независимые от платформы — общие пакеты, реализованные на инфраструктуре flutter/dart, не требующие прямого взаимодействия с операционной системой. Например: get_it, photo_view.

Зависимые от платформы — плагины, взаимодействующие с операционной системой с помощью интерфейса Platform Channel, FFI или имеющие в зависимостях плагины, обеспечивающие работу пакета. Например: camera, path_provider

Дополнительная информация о разработке плагинов: Разработка плагинов.

Доступные плагины

Ключевые плагины реализует компания "Открытая мобильная платформа" для поддержки экосистемы Flutter под операционную систему Аврора. Есть сторонние плагины, разработанные другими компаниями и сообществом специалистов, интересующихся разработкой на Flutter. Можно ознакомиться со списком доступных пакетов на следующих страницах:

picture

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 в конце.
  • Должен быть реализован пример для плагина.
  • Соблюдать правила форматирования и анализа кода, которые закладывал автор исходного плагина.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.