При переходе на новую технологию, мы лишаемся привычных инструментов для разработки. В каких-то случая мы вынуждены смириться с их отсутствием из-за каких-то технических ограничений, но при возможности переносим инструменты с собой. Разрабатывая android приложения, за основу я брал пример чистой архитектуры предложенной Fernando Cejas. Разбираясь с используемыми во Flutter шаблонами проектирования, я решил отказаться от этой архитектуры в пользу BLoC. К данному шаблону я быстро привык, он очень похож на MVVM, с которым работал ранее, но с одной деталью я никак не хотел мириться. При вызове методов репозитория я должен был ловить исключения, кастить их к какому-то типу и в соответсвии с типом, создавать необходимое состояние. На мой взгляд, это очень захламляет блок и я портировал тип Either используемый ранее в android проектах, основанных на Fernando.
Читать полностью »
Рубрика «flutter» - 9
Функциональный подход обработки ошибок в Dart
2019-07-12 в 9:56, admin, рубрики: bloc, dart, Either, flutterКак я пытался починить поиск по картам для водителей. Часть 3 (финал)
2019-07-09 в 19:37, admin, рубрики: flutter, автомобили, автомобильная навигация, Автомобильные гаджеты, Геоинформационные сервисы, дизайн мобильных приложений, карты, мобильные приложения, навигация, разработка мобильных приложенийИтак, это третья часть моей попытки переосмыслить привычный поиск по картам. Первая часть тут, а вторая тут — они более технические, но пробежать глазами для лучшего понимания можно. Вкратце это звучит так: мне надоело ковыряться в картах за рулем, пытаясь среди мелких значков и рекламы найти ближайшую заправку. Вместо этого хотелось бы просто ехать, посматривая на экран приложения. Чтобы оно сортировало ближайшие места по времени езды, показывало списком, объясняло, какие из них по пути и какой к ним трафик. Такая вот идея.
Собственно, к версии приложения 3.0 наконец получилось реализовать все основные функции, которые хотелось. После прошлой статьи из этой серии его скачало некоторое количество людей, и даже написали отзывы — спасибо, ко всем прислушался. Работал над новой версией месяца два интенсивно, все мелкие изменения не перечислить — по сути это на 80% новое приложение. С кардинально улучшенным интерфейсом, раза в 2 быстрее и значительно стабильнее. Опять же, приглашаю сочувствующих оценить и поругать. А под катом снова технические моменты.
https://www.dchabanenko.com/city-scope — вот тут ссылки на айфон и андроид
Дайджест интересных материалов для мобильного разработчика #305 (1 — 7 июля)
2019-07-07 в 9:35, admin, рубрики: apple, flutter, Google, Google Play, iOS, kotlin, ux дизайн, Блог компании Цифровые Экосистемы, искусственный интеллект, маркетинг мобильных приложений, разработка мобильных приложений, Разработка под android, разработка под iOSОчередной дайджест для мобильных разработчиков — в нем мобильная экстрасенсорика, новый порос Developer Economics, знакомство с HealthKit, онлайн-квест для разработчиков, Bixby Marketplace и много других интересных материалов.
Главный секрет Google I-O 2019, о котором не узнать из интернета
2019-05-18 в 20:59, admin, рубрики: dart, flutter, google io, Google IO 2019, i/o, IO19, wrike, Блог компании Wrike, конференцииТитульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только рассказать всё, что скрыто, обнажить тёмные уголки и понять, что вообще происходит в солнечной Калифорнии эти три дня в году.
Так получилось, что я был на предыдущей конференции и даже написал статью про это. Поэтому, с одной стороны, задача усложняется, ведь никто не хочет читать одно и то же два раза, а с другой, она усложняется ещё больше. Не хотелось бы превращать текст в отчёт в духе: «прирост посетителей: +20%, надои упали на 3%, настроение личного состава хорошее», поэтому давайте условимся: перед вами будет художественное описание личного опыта и немного объективной информации.
Внимание, это не детальный разбор программы, а своего рода виртуальный тур по конференции. Никто же не любит обманутых ожиданий, правда? Все доклады есть на YouTube

Дайджест интересных материалов для мобильного разработчика #297 (6 — 12 мая)
2019-05-12 в 15:30, admin, рубрики: abdroid studio, accessibility, firebase, flutter, Google, Google Play, iOS, swift, ux дизайн, Блог компании Everyday Tools, маркетинг мобильных приложений, нейросети, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSПосле длинных выходных возвращаемся с новым дайджестом. В нем новинки I/O и Build, PWA, Flutter и React Native, ограничения и переработки, UX и анимации.
Основы RxVMS: RxCommand и GetIt
2019-05-12 в 7:13, admin, рубрики: dart, flutter, практика программированияЭто четвертая часть моей серии про архитектуру Flutter:
- Введение
- Основы Dart Streams
- RxDart: магические трансформации потоков
- Основы RxVMS: RxCommand и GetIt (этот пост)
- RxVMS: Службы и Менеджеры
- RxVMS: самодостаточные виджеты
- Аутентификация пользователя посредством RxVMS
Хотя 2 предыдущие части явно не относились к паттерну RxVMS, они были необходимы для ясного понимания этого подхода. Теперь мы обратимся к самом важным пакетам, которые понадобятся, чтобы использовать RxVMS в вашем приложении.
Анонсирован Dart 2.3: оптимизирован для разработки пользовательских интерфейсов
2019-05-11 в 10:16, admin, рубрики: dart, Dart 2.0, dartlang, flutter, ПрограммированиеFish Redux — новая Redux библиотека для Flutter
2019-05-05 в 11:50, admin, рубрики: dart, fish-redux, flutter, flutter-reduxВ конце 2018 года Google, не без помощи Open-Source сообщества, сделал большой подарок для мобильных разработчиков, выпустив первую стабильную версию кросс-платформенного фреймворка для мобильной разработки Flutter.
Однако, при разработке крупных приложений, немного больших, чем одностраничные 'Hello World'ы, разработчики могли столкнуться с проблемой неопределенности. Как стоит писать приложение? Фреймворк достаточно молод, ещё не существует достаточной базы хороших примеров с открытым кодом, основываясь на которых можно было бы понять плюсы и минусы применения различных паттернов, понять что стоит использовать в данном конкрентном случае, а что — нет.
Спасает ситуацию то, что Flutter имеет определенную степень схожести с React и React Native, а значит можно перенять некоторый опыт программирования на последних. Возможно, именно из-за этого появились такие библиотеки, как Flutter Flux, Flutter Hooks, MobX, а также сразу несколько реализаций Redux. Долгое время самой популярной была версия Брайана Игана под названием Flutter Redux.
Тем не менее, пару месяцев назад первый коммит увидела библиотека Fish Redux, опубликованная под именем компании Alibaba. Библиотека за короткое время собрала большую популярность, уже на пером дне обогнав реализацию Брайана по колличеству звезд, а на втором опередив её в два раза.
Дайджест интересных материалов для мобильного разработчика #296 (22 — 26 апреля)
2019-04-28 в 12:44, admin, рубрики: apple, ARCore, cloud firestore, flutter, Google, Google Play, iOS разработка, kotlin, swift, ux дизайн, Блог компании Everyday Tools, маркетинг мобильных приложений, машинное обучение, разработка игр, разработка мобильных приложений, Разработка под android, разработка под iOSОчередной выпуск расскажет вам про новые иконки Google Play, главные вопросы Swift, о бесплатной музыке для проектов, покупке Realm и восторге от Интернета вещей.