Разработка Flutter-приложения для изучения языков: опыт и уроки
При создании мобильных приложений на Flutter мы часто сталкиваемся с проблемами, которые не описаны в учебных пособиях и демо-версиях 📚. Основные проблемы начинаются, когда продуктовая логика перестает помещаться в учебные примеры, и нам приходится искать инженерные решения для реальных сценариев 🤔.
Автор статьи делится своим опытом разработки полноценного клиента с авторизацией, переводом, распознаванием и другими функциями 📱. Он подчеркивает, что полезные инженерные решения в проекте появились не из любви к "красивой архитектуре", а после сбоев в реальных сценариях 🚧. Автор также рассказывает о своем решении использовать Firebase для identity, а backend-токен сделать отдельным, что позволило упростить унификацию транспорта и жить с anonymous flow 📈.
Автор описывает три подхода, которые он использовал для улучшения работы своего приложения 📊. Во-первых, он решил использовать отдельную модель аутентификации на стороне сервера, вместо того, чтобы пытаться упростить клиент 📝. Во-вторых, он отказался от ручной очистки состояния приложения при смене пользователя или других критических событиях, и начал пересоздавать всё дерево провайдеров целиком 🌳. В-третьих, он перешёл от использования только HTTP-запросов к схеме HTTP + WebSocket для долгих серверных операций 📊.
Читать здесь: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #mobiledevelopment #flutterapp
Post #2784
359
- ❤ 1