Статьи

Канал платформы во флаттере — преимущества и ограничения

Одной из самых больших проблем для мобильных кроссплатформенных сред является то, как добиться собственной производительности и как помочь разработчикам создавать различные виды функций для разных устройств и платформ с минимальными усилиями. При этом мы должны помнить, что UX должен оставаться таким же, но с уникальными компонентами, которые являются специфическими для каждой конкретной платформы (Android и iOS).

Хотя кроссплатформенные платформы (в большинстве случаев) могут решать задачи, специфичные для платформы, существует определенное количество задач, которые с помощью специального кода, специфичного для платформы, могут быть достигнуты только через native. Вопрос в том, как эти структуры могут установить связь между конкретной платформой и приложением? Лучшим примером является канал платформы Flutter  .

Что такое канал платформы и когда мы должны его использовать?

По мере роста сообщества Flutter появляется все больше и больше подключаемых модулей и пакетов сообщества, которые выполняют функции, специфичные для платформы. Если вашему проекту требуется особая функция, которая не поддерживается во Flutter, или ее проще реализовать на собственной стороне, вам необходимо установить связь между собственными платформами (Android или iOS) и Flutter для выполнения этого пользовательского кода, специфичного для платформы.

Платформа Channel работает по принципу отправки и получения сообщений без генерации кода. Связь является двунаправленной и асинхронной. Приложение Flutter (часть приложения, написанная на Dart) в этом сообщении представляет клиента, который отправляет сообщения на хост (Android или iOS) и ожидает ответ, как успешный, так и неудачный.

Когда сообщение получено на стороне хоста, мы можем выполнить необходимую логику в собственном коде (Java / Kotlin для Android или Objective-C / Swift для iOS) или вызвать любые API для конкретной платформы и отправить ответ обратно в приложение Flutter. через канал. Когда каналы создаются, мы должны помнить о соглашениях об именах. Название канала в приложении Flutter должно совпадать с именем на нативной стороне.


Вам также может понравиться:
Учебник Flutter для разработчиков: пошаговое руководство по созданию приложений .

Настроить

Одной из основных характеристик Platform Channel является тот факт, что его легко настроить и понять как на стороне флаттера, так и на нативной стороне. Это также хорошо документировано и объяснено в  официальной документации

Чтобы объяснить, как настроить / создать канал, я приведу простой пример взаимодействия между приложением Flutter и нативным Android (Kotlin).

Во-первых, нам нужно создать канал в приложении Flutter с соответствующим именем. В этом случае мы можем назвать его «platform_channel»:


дротик