Интеграция городского дирижабля для проекта Flutter? - PullRequest
0 голосов
/ 24 мая 2018

Наша команда только начинает сравнивать Xamarin и Flutter.С самого начала Flutter кажется более новым (менее закаленным), но гораздо более сексуальным для таких деталей, как горячая перезагрузка и двойной нативный вывод .Однако на фронте, закаленном в боях, интеграция Xamarin с Urban Airship хорошо документирована .Это является камнем преткновения для нашего проекта, поскольку Urban Airship является обязательным требованием, и поэтому мы склоняемся к Xamarin.

Но, чтобы дать Флаттеру хорошую встряску, я подумал: Как это сделать?интегрировать Urban Airship в проект Flutter ?(Очевидно, нужно будет работать как с Android, так и с iOS.)

Мой гугл-фу пока не обещает.

1 Ответ

0 голосов
/ 25 мая 2018

Решение Flutter для взаимодействия с нативными, специфичными для платформы библиотеками - plugins .Это повторно используемый пакет, состоящий в основном из кода Dart, некоторого кода swift или objC, некоторого кода java или kotlin, примера приложения / теста флаттера и некоторых модульных тестов.Код Dart определяет общий интерфейс, а код на другом языке обеспечивает привязки к соответствующим платформам, а в вашем случае библиотеки, предоставляемые поставщиком.IDE создаст вам полный рабочий шаблон плагина, и в пабе есть множество примеров, из которых можно получить идеи.

Вы используете xcode при реализации собственного кода ios и android studio (или IDEA), когдареализация кода для Android.К счастью, поскольку вы просто пишете несколько привязок, нативный код обычно довольно тонкий.

Обычно код Dart вызывает нативные методы, но работает и обратное.Нативный код также может генерировать события.Flutter заботится о преобразовании параметра Dart и возвращаемых значений в / из собственных значений и поддерживает простые типы, списки, карты и т. Д.

Кто-то из вашей команды, знакомый с библиотекой вендора на обеих платформах, должен иметь возможность определитьобщий API Dart (подмножество функций, которые вы используете) и реализуйте родные привязки.Плагин обрабатывает все остальное.

...