Gubin_dev – Telegram
Gubin_dev
129 subscribers
49 photos
7 videos
5 files
33 links
Авторский канал, где публикаются новости о технологиях. В основном конечно Flutter <3

Мой тг: @webmadness
Download Telegram
Пара мыслей по поводу стейт менеджмента в Flutter

Мы пытаемся рассматривать bloc, riverpod и другие менеджеры состояний как место где можно писать бизнес-логику и хранить состояние.

Я считаю, что стоит строго отделить инструменты управления состоянием UI и состоянием системы.

Есть несколько аргументов:
- изменения состояния системы не обязательно будет затрагивать слой UI
- объекты bloc подвязываются к ЖЦ виджетов
- bloc включает в себя данные, необходимые для UI.

Из redux я вспонил понятие Global State. И кажется мы совсем забыли про него. А ведь это важная часть системы. Его недостатком в Flutter можно считать попытку позиционировать себя как Global State. НЕЛЬЗЯ ХРАНИТЬ ВСЕ ЯЙЦА В ОДНОЙ КОРЗИНЕ. Redux желал быть всеобъемлющим.

Надеюсь сформировать мысли по поводу того как должен выглядеть такой State Holder.

Пока такие термины: агрегат, транзакции, промежуточная консистентность состояния

Канал про технологии - @Gubin_dev
👍2😱21🔥1
Там Билайн на днях поделился своей архитектурой в статье

Я прочитал немного, ребята используют классические подходы, но приходят к странным выводам и странным решениям.

Мне конкретно не нравится, что они модифицируют классы виджетов для реализации DI. С другой стороны, интересное решение, чтобы не плодить вызовы одного объекта (например, локатора). Но почему бы тогда не использовать простой provider?

В общем вопросов много, если у вас есть какие-нибудь замечания, идеи для обсуждения по этой статье/архитектуре в целом, пишите в комментарии, давайте вместе помозгуем

Канал про технологии - @Gubin_dev
👍31🔥1😱1
15 февраля сгонял на Mobile Peerlab от Яндекса

Было круто и атмосферно! Поболтали в тусовочно-домашнем формате. Обсудили флаттер в вебе, архитектуру (как без этого), поговорили про Backend-Driven UI. Ну и просто поболтали и обменились опытом.

Было несколько треков: flutter, android, ios.

Так уж получились, что узнал про это мероприятие в последний момент.
Постараюсь сделать для вас анонсы классных тусовок!

А пока делюсь с вами фоточками

Подробнее можно почитать на сайте: https://dev.go.yandex/events/peer-lab
4🔥3💋2
Работа с rootBundle в Flutter

rootBundle позволяет подгружать файлы из ассетов, однако не все знают, что эта операция является синхронной и в devtools, на вкладке performance она отображается как AssetManager::GetAsMapping.

Будьте осторожнее когда грузите данные из ассетов, ведь это может обернуться потерей кадров.

Кстати, есть интересный участок кода во flutter (можно увидеть на скрине или по ссылке) https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/services/asset_bundle.dart#L88

Получается, что в некоторых случаях даже лучше просто вычислить значение в изоляте?

А еще некоторые ассеты могут вызываться в worker thread’е)
https://github.com/flutter/engine/pull/6648
3🗿2🔥1🤔1
2 апреля пройдет конференция для Flutter-разработчиков

Расскажут как метчить Flutter c отечественной ОС Аврора

Первая конференция для разработчиков про использование Flutter для создания или портирования приложений для российской мобильной операционной системы "Аврора"


https://auroraos.timepad.ru/event/2820781
🤡9👍1👀1
20 апреля пройдет конференция для мобильных и бэкенд-разработчиков DEV DAY & NIGHT

На конференции вас ждут два трека: backend и mobile. Скажу за мобилку, будет про ios, android и flutter

И говоря о флаттер, будет бомбовый доклад про DI от Сергея кольцова (Руководитель core-команды Яндекс Про), загадочный доклад про анализ энергопотребления от Никиты Васильченко (Руководитель команды перформанса Яндекс Про).

Я лично думаю что в мобилке тоже трек поделят как минимум на два, а может и на три параллельных.

Регистрируйтесь, количество мест ограничено

Подробнее: *ссылка*
3🔥3🌚3👍2🎉1🗿1
Написал алгоритм нахождения оптимального пути на dart

Генерация происходит случайным образом, проходит по каждой клетке и с вероятностью 0.3 ставим стену.

Поиск пути происходит через BFS (breadth-first search, поиск в ширину) + backtracking. Помечаем пройденные клетки числами и если в рекурсии наткнулись на число, которое оптимальнее нашего, прекращаем ветку, и отдаем другой ветке преимущество.

Репозиторий: https://github.com/WebMad/maze_generator
🔥32🎉1😎1
This media is not supported in your browser
VIEW IN TELEGRAM
Генератор островов на dart

В процессе усложнил себе задачку и написал алгос, который генерирует острова, окруженные водой.

По сути, основано на рекурсии, чекаем есть ли рядом уже острова и, если есть, поднимаем лапки к верху и прекращаем рисовать остров в эту сторону.
🔥31💊1
Пирамидки на Flutter

Другими словами, ханойская башня. Звучит конечно уже получше, чем пирамидки.

По сути, классика, работает через рекурсию.

Репозиторий: https://github.com/WebMad/hanoi_tower
🤨3💋1🗿1
Gubin_dev
Прозрачность во Флаттер Прозрачность во флаттер может быть коварным инструментом, который в некоторых случаях значительно увеличивает сложность отрисовки страницы. Сам по себе виджет Opacity вызывает операцию saveLayer (см операции skia). Эта операция занимает…
Помните я полгода назад затирал про оптимизации?

Так вот, спустя столько времени, сообщество GDG Astrakhan все-таки решили опубликовать записи докладов 😋

Если интересует тема оптимизации отрисовки вашего Flutter-приложения, велкам ❤️

Там я рассказываю:
- как происходит отрисовка кадра во флаттер
- рассматриваю основные ошибки при построении UI
- делюсь дельными советами по оптимизации существующего UI
- рассказываю про devtools в рамках оптимизации отрисовки
- обзорно прохожусь по инструменту skia debugger
- затрагиваю тему Impeller'а (не так уж он и хорош на андроиде, честно говоря)

https://youtu.be/buAGswCcw-c?si=56Z5adI41Cwr48Jz
🔥2
Итак, немного поздно, но!

Расчищайте планы на вечер, сегодня буду вести лекцию в Школе Мобильной Разработки от Яндекса.

Тема: Architecture. Часть 1: App Architecture Overview

Буду рассказывать про общие правила проектирования/разработки. Интересно будет тем, кто только начинает втягиваться в архитектуру. Рассказываю про SOLID и все что на переферии, затрону немного DI, подробно расскажу про связность и сцепку компонентов (REP, CCP, CRP, ADP, SDP, SAP). Рассмотрим некоторые паттерны проектирования.

Всем хорошего дня, увидимся вечером, в 19:00, на лекции

Ссылочка: https://www.youtube.com/live/Hy4grS4u6HE
🔥11😱2🏆1👻1
На низком старте