TGViewer
Channel Public Channel
DartWay Ru | Flutter & Fullstack Dart

DartWay Ru | Flutter & Fullstack Dart

@dartway_dev_ru

Flutter и fullstack Dart в реальной разработке —
без занудства и ненужных абстракций.

Архитектура, практические приёмы, разборы кода.

Для Flutter-разработчиков, которые хотят увереннее чувствовать себя в реальных проектах

💬 @dartway_dev_ru_community
Subscribers
593
Photos
22
Videos
0
Links
37

Showing posts older than #85 · Back to latest

Older Posts 20 shown
Post #84 561
State Management — это не про выбор библиотеки

Когда разработчики слышат про state management,
они думают про:
— Provider
— Riverpod
— BLoC

И кажется, что если выбрать “правильную” библиотеку
и аккуратно разложить всё по папкам —
то архитектура станет хорошей

Нет, не станет

—

Главный вызов state management —
найти баланс между консолидацией и инкапсуляцией

—

Первая крайность — монструозные стейты

Один большой объект с десятками полей,
на который завязан весь интерфейс

Вроде удобно
но в итоге:
— сложно понять, что влияет на что
— лишние перерисовки
— любое изменение тянет за собой всё

—

Вторая крайность — раздробленный хаос

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

И любое изменение:
👉 требует лезть в несколько мест
👉 ломает связи между фичами

—

И вот здесь плохая новость:

универсального решения нет

В каждой задаче тебе нужно принимать решение:
— что выносить в отдельный state
— что оставить локально
— что просто передать параметром

—

State management — это не про библиотеку

Это про способность принимать эти решения

_____________________________________________________

State Management is not about choosing a library

When developers hear about state management,
they think of:
— Provider
— Riverpod
— BLoC

And it feels like if you pick the “right” library
and organize everything neatly into folders —
your architecture will become solid

It won’t

—

The real challenge of state management
is finding the balance between consolidation and encapsulation

—

The first extreme — monolithic state

A single large object with dozens of fields,
driving the entire UI

Seems convenient
but leads to:
— unclear dependencies
— unnecessary rebuilds
— changes affecting everything at once

—

The second extreme — fragmented chaos

Multiple small pieces of state
stitched together with callbacks, providers, and hacks

And any change:
👉 requires touching multiple places
👉 breaks feature boundaries

—

And here’s the uncomfortable truth:

there is no universal solution

In every case, you have to decide:
— what should be extracted into separate state
— what should stay local
— what can just be passed as a parameter

—

State management is not about a library

It’s about your ability to make these decisions
  • 👍 5
  • ❤ 1
  • 🔥 1
Post #83 462
Начал набрасывать карту компетенций разработчика 🧩

Пока это верхнеуровневая структура — разбил на основные области:

* Core Engineering (алгоритмы, архитектура, инструменты, процессы, продукт)
* Flutter Mobile Dev (язык, фреймворк, стейт-менеджмент, интеграции, тестирование)

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

Хочу собрать не просто список знаний, а понятную систему:
— что важно
— как это связано между собой
— в каком порядке это осваивать

Буду постепенно дополнять и делиться обновлениями.

Если у вас есть мысли/идеи, что обязательно должно быть в такой карте — пишите 👇

---

I’ve started putting together a developer competency map 🧩

For now, it’s a high-level structure — broken down into key areas:

* Core Engineering (algorithms, architecture, tools, processes, product)
* Flutter Mobile Dev (language, framework, state management, integrations, testing)

Next step is to gradually go deeper and break each area down into конкретные темы и навыки (down to what exactly to learn and practice).

The goal is not just a list of знаний, but a clear system:
— what matters
— how things are connected
— in what order to learn them

I’ll keep refining it and sharing updates.

If you have ideas on what should обязательно be included — drop them in the comments 👇
  • 🔥 8
Post #81 579
Сегодня в 17 будет очередной созвон

Посмотрим чистовик задачки с прошлой недели, посмотрим ряд других моментов по коду
  • 👍 2
  • ❤ 1
Post #80 880
Поделюсь на случай, если кто-то мучался так же, как и я.

Включить клавиаутуру на Android эмуляторе оказалось задачей не из простых. ChatGpt помочь не смог, к сожалению, пришлось по старинке самому гуглить
  • 👌 6
  • 🙏 1
Post #78 727
Всем привет,
завтра в 17 по МСК попробуем новый формат - вебинар-практика

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

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

Ссылку выложу на телемост выложу в канал за 30 минут до эфира, присоединяйтесь.
Запись тоже будет, но это не точно))
  • ❤ 8
Post #77 979
Как разработчику расти?
Этот вопрос возникает в комментариях чаще других.
Я сейчас готовлю более подробный материал на эту тему, но пока хочу поделиться одной простой моделью, которая помогает лучше понять развитие в профессии.

Мне нравится аналогия с игровыми видами спорта. Там развитие обычно строится вокруг трёх вещей.

1. Теория

Это понимание того, как устроена система.

В разработке это:

— архитектура
— паттерны
— понимание технологий
— знание инструментов и сервисов

Без теории можно писать код, но сложно строить устойчивые системы.

2. Практика

Это то, что нарабатывает «программистские мышцы».

Большая часть роста происходит именно здесь.

Причём полезна не только работа в основном проекте. Хорошо прокачивают:

— небольшие скрипты
— автоматизация
— пет-проекты
— эксперименты с новыми инструментами

Но особенно сильно развивают:

— решение сложных задач
— рефакторинг существующего кода

3. Скиллы

Это наработанные навыки решения конкретных задач.

Со временем многие вещи начинают делаться быстро и почти автоматически.

Если говорить про Flutter, то ключевые навыки обычно связаны с тремя областями:

— работа с данными
— управление состоянием
— верстка интерфейсов

Частая проблема в том, что разработчики развивают только одну из этих частей.

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

На практике рост начинается тогда, когда теория, практика и прикладные навыки развиваются одновременно.
  • 👍 11
Post #76 730
Сегодня проводил код-ревью у команды и вспомнил фразу Тони Роббинса:
"... большинство людей думает о том, как заработать на жизнь, а не о том, как её устроить."

И это удивительно точно ложится на разработку.

Большинство разработчиков думает только о том, как решить задачу.
Но почти никто не думает о том, как устроить приложение и как организовать работу над ним.

В моменте всё работает.
Фича сделана.
Задача закрыта.

А через полгода начинается классика:

— вокруг легаси
— сроки горят
— новая фича ломает старую
— архитектура начинает сопротивляться каждому изменению

И команда постепенно превращается в пожарную бригаду.

Знакомо?

Мне — очень.

Когда-то я сам постоянно оказывался в таком положении, но со временем начал понимать одну простую вещь:
архитектура — это не про красоту кода.
Это про свободу двигаться дальше.

Если фундамент заложен правильно — продукт может расти годами.
Если нет — каждая новая задача становится всё больнее.

Со временем у меня сформировался набор принципов, которые позволяют этого избежать.
Постараюсь делиться ими с вами⭐️
  • 🔥 14
Post #75 668
DartWay Ru | Flutter & Fullstack Dart Всем привет. Коротко зафиксирую статус и планы на месяц. DartWay сейчас проходит переход от внутреннего инструмента к публичному использованию. Поэтому фокус — на обратной связи и жёстком рефакторинге ради нормального Dev Experience, а не на расширении ф…
Всем привет,
сожалею, что пропал - работал над сложной задачей по чатам))

Такие вещи требуют максимального погружения, очень сложно на что-то отвлекаться

Тем временем мы готовим dartway к публичному использованию

Один из ключевых шагов - обновление до актуальных версий всех зависимостей и удаление лишних.

План на февраль был небольшим, но выполнен успешно.

Планы на март:
- выпустить dartway linter - чтобы разработчики видели сразу в коде замечания по архитектуре и код стилю

Ну и конечно больше годного контента для вас - о Flutter, Dart и разработке в целом
  • 🔥 7
Post #73 869
Всем привет, сегодня в 19:00 МСК будет онлайн вебинар по fullstack Dart

Поделюсь опытом нашей студии, расскажу про основные нюансы - как положительные, так и отрицательные)
  • 🔥 2
  • 🤩 2
Post #72 913
В пятницу в 19:00 проведу онлайн-встречу про fullstack Dart.

После первого вебинара несколько человек написали, что интересно подробнее разобрать серверную часть и в целом наш реальный опыт.
Так что логично продолжить разговор.

Мы в компании уже около 3 лет используем Dart и на клиенте, и на сервере.
Расскажу, как это устроено у нас на практике:

— как строим архитектуру
— какие задачи закрываем этим стеком
— где есть ограничения
— и почему пока не планируем с него уходить

Кстати, с этой темой я уже выступал на https://crossconf.com/
— но там был короткий формат.
В пятницу будет просто спокойный разбор без спешки.

Если тема вам откликается — подключайтесь.
В пятницу, 19:00.
Ссылку выложу отдельно.
  • 🔥 7
  • 👍 4
  • ❤ 1
Post #71 786
Выложил запись прошедшего вебинара на youtube - https://www.youtube.com/watch?v=R8rVWFVKphE

Ваши лайки, комментарии и подписки очень помогут в развитии канала и инструментов DartWay
  • 🔥 5
Post #69 750
Большое спасибо всем, кто присоединился, начало положено!

Запись обработаю и выложу на ютуб в ближашие дни.

Для следующей встречи предлагается встреча - бэкенд на Dart и fullstack Dart - опыт, плюсы, минусы, перспективы
Расскажу про Serverpod и наш фреймворк немного
  • 👍 4
Post #67
DartWay Ru | Flutter & Fullstack Dart pinned «Презентация dartway_router состоится сегодня в 19:00 по МСК. Ссылку на телемост скину сюда. Программа такая примерно: - посмотреть роутер и основные сценарии его использования - познакомиться, обсудить тему для следующего вебинара По длительности я думаю…»
Post #66
DartWay Ru | Flutter & Fullstack Dart pinned «Презентация dartway_router состоится сегодня в 19:00 по МСК. Ссылку на телемост скину сюда. Программа такая примерно: - посмотреть роутер и основные сценарии его использования - познакомиться, обсудить тему для следующего вебинара По длительности я думаю…»
Post #65 788
Презентация dartway_router состоится сегодня в 19:00 по МСК.
Ссылку на телемост скину сюда.

Программа такая примерно:
- посмотреть роутер и основные сценарии его использования
- познакомиться, обсудить тему для следующего вебинара

По длительности я думаю около часа, может чуть больше

Запись постараюсь сделать и выложить на ютуб
  • 👍 4
Post #64 728
📏 Правило 120 строк

Одно простое правило, которое реально меняет качество кода — ограничение длины файла.

Можно спорить про архитектуры, паттерны, Clean Architecture, DDD, BLoC, MVP — всё это важно. Но пока нет простых ограничений, разработчик скатывается в «ну ещё пару методов добавлю сюда же».

Мы у себя держим ориентир — 120 строк на файл.
Это не закон, не линтер, не автопровал PR. Это внутренняя дисциплина.

И вот что происходит.

💡 Что меняется на практике

1. Ты вынужден думать о структуре.
120 строк — это мало, а значит приходится выделять независимые кусочки и раскладывать по ним.

Файл перестаёт быть «свалкой ответственности».

2. Архитектура перестаёт быть теорией.
Когда ограничение реальное, ты физически не можешь «запихнуть всё сюда».
Приходится проектировать.

3. Читаемость растёт в разы.
Открываешь файл — и видишь цельный кусок логики.
Не 800 строк прокрутки, а понятную единицу смысла.

🧠 В чём настоящая ценность?

Не в коротких файлах.

А в том, что ограничение заставляет:
анализировать зависимости
понимать зоны ответственности
видеть границы модуля

Когда разработчик зажат в рамки — включается мозг.
Появляется инженерное мышление.

Со временем это становится привычкой.
Ты уже автоматически делишь код правильно.

⚠️ Важный момент

Это не догма.
Есть исключения — конфиги, роутеры, маппинги.

Но если у вас половина проекта — по 400–600 строк в файле,
то проблема не в «бизнес-логике», а в дисциплине.

🚀 Мини-челлендж

Возьмите любой свой проект.
Попробуйте в течение месяца держать лимит 120 строк.

Без фанатизма.
Просто как ориентир.

Через 3–4 недели вы увидите, как меняется мышление.

И да — скорость разработки растёт.
Потому что маленькие модули проще тестировать, менять и расширять.

Иногда развитие — это не новый фреймворк.
А одно простое правило.
  • 🔥 11
Post #63 995
Прелесть dartway начинает проявляться в том, что для большинства фичей достаточно всего пары строк кода помимо верстки.

На скрине список затронутых файлов для реализации поиска по сообщениям. И речь идёт не только о фронте, но и о беке. Точнее бек просто по умолчанию поддерживает эти фильтры и позволяет вытягивать данные с применением фильтра.

И общие трудозатраты чуть больше часа.
  • 🔥 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →