Как добавить Flutter в нативное приложение iOS и протестировать его на Codemagic (Часть 2)
Hola, Amigos! На связи Саша Чаплыгин, Flutter dev компании заказной разработки Amiga. Нашел интересную статью на английском о том, как добавить Flutter в новый или существующий проект Native iOS. Решил поделиться с вами переводом. Это вторая часть, в которой будет идти речь про реализацию экрана Flutter в приложение для iOS и использование platform channel.
Первая часть здесь. Она посвящена созданию приложения на iOS и интеграции Flutter в это приложение.
Третья часть выйдет совсем скоро. Чтобы не пропустить, подписывайтесь на наш телеграм-канал Flutter. Много. Там мы с командой делимся опытом, интересными мероприятиями для разработчиков и другой полезной информацией. В последней статье рассмотрим использование «Hot Reload», «Hot Restart» и тестирование на Codemagic.
Поехали!
Добавление экрана Flutter в приложение iOS
FlutterViewController используется для отображения экрана Flutter внутри приложения iOS. Но также потребуется создать FlutterEngine.
Подходящее место для создания FlutterEngine — внутри AppDelegate.swift.
Заменяем все содержимое этого файла следующим кодом:
Теперь просто добавляем в файл следующие строки ViewController.swift, чтобы отобразить экран на Flutter:
Если запустим приложение сейчас, то сможем просмотреть экран приложения Flutter Demo Counter, нажав кнопку «CALCULATE» .
Обратитесь к официальной документации Flutter для получения дополнительной информации.
Завершение пользовательского интерфейса Flutter
Пользовательский интерфейс экрана результатов ИМТ будет очень простым и будет содержать всего несколько текстовых виджетов.
Код для пользовательского интерфейса экрана результатов ИМТ:
Использование Platform Channel
Используем Platform Channel для передачи данных из приложения iOS в модуль Flutter.
Настройка модуля Flutter (получение данных)
1) Прежде всего, нужно создать канал с каким-нибудь именем внутри класса _MyHomePageState.
2) Создаем метод _receiveFromHost(), который будет извлекать данные, переданные из нативной части, и получим данные для отображения внутри модуля Flutter.
3) Устанавливаем _receiveFromHost()метод как Обработчик вызова метода setMethodCallHandler.
4) Пишем код для метода build, чтобы отображать данные, полученные с использованием Platform Channel:
Настройка приложения iOS (отправка данных)
1) Создаем канал для общения с модулем Flutter:
2) Отправляем данные по каналу:
На этом вторая часть статьи подошла к концу. Мы рассмотрели реализацию экрана Flutter в приложение для iOS и использование platform channel. В последней части речь будет идти про использование «Hot Reload», «Hot Restart» и тестирование на Codemagic.
Чтобы не пропустить анонс, подписывайтесь на наш телеграм-канал Flutter. Много!