Приложения реального времени имеют несколько отличные от привычных принципы. Начнем с того, что состоянием управляет удаленный сервер и некоторая очередь событий. С учетом жизненного цикла мобильных приложений приходится не только «пинговать» и восстанавливать подключение, но и предусматривать механизмы back pressure, когда клиент не может справиться с «лавиной» данных. «Под капотом» мессенджера будет протокол websocket, который тоже потребует небольшого «тюнинга».
Подготовка к воркшопу:
- Установить Flutter. Андрей будет использовать версию 1.22.5 и рекомендует установить такую же по ссылке Windows/MacOS/Linux. Успешная установка Flutter проверяется запуском консольной команды flutter doctor.
- Понадобится git для клонирования репозитория. Скачать здесь.
- Установить IDE AndroidStudio и установить плагины для Dart и Flutter.
- Опционально можно установить VSCode с расширением Flutter. Это рекомендуемая IDE.
- Успешность сетапа проверить запуском
flutter hello world:
{{ flutter create test}}
cd test
flutter run
- Посмотреть API желательно заранее, например, через отладчик https://hoppscotch.io/realtime с URL wss://dartservice.ru/messenger/ws.