Год подходит к концу, и мы, Роза, Катя и Аня, хотим устроить небольшую ретроспективу и поделиться своими открытиями за 2025-ый
Этот год был богат на задачи абсолютно разного характера. За это время я сделала пару парсеров, разработала расширение для DevTools, внедрила LLM во Flutter Web-приложение, поработала с Serverpod, узнала, что такое OTA, и в целом писала бэкенд на Dart.
Главный инсайт: любую задачу можно сделать (почти). Какой бы сложной она ни казалась вначале, всегда находится решение. И в этом есть свой кайф — на второй-третий день ты всем сердцем ненавидишь ее, не понимая, с чего начать, а когда все-таки решаешь — это настоящее блаженство
Раньше я часто бралась за задачу без особого анализа и обдумывания деталей. Но когда сталкиваешься с большой фичей, которая может повлиять на другие части проекта, начинаешь задумываться над каждым шагом.
Моим ориентиром на год было улучшение кода и архитектуры. Справилась ли я? Сложно сказать. Но открывая свой старый код, я постоянно вижу, что его можно улучшить и оптимизировать — а то, что я это замечаю, наверное, о чем-то говорит.
Мой главный инсайт: агенты и вайб-кодинг. В этом году у меня было открытие, которое изменило мой подход к разработке. Сейчас начинается эра vibe coding — когда ты не пишешь код построчно, а просто описываешь намерение, и агент превращает его в рабочий (не всегда) код.
Раньше программирование было про «как»: как написать цикл, как обработать исключение, как настроить конфиг. С агентами это стало про «что»: что я хочу получить, какую проблему решаем.
Что изменилось?
✔️Скорость: То, что занимало час, теперь — 15 минут
✔️Креативность: Освободилось время на архитектуру и эксперименты
✔️Рутина: Boilerplate, тесты, документация генерируются автоматически
Но главное — важно понимать, что даже сейчас агенты работают неидельно и их нужно перепроверять. Но с базовыми задачками они справляются хорошо. Конкретно я использую copilot, и в первое время он выдавал чепуху, но тут главное хорошо описывать промпт и потом читать код.
Этот год был супер насыщенным на новые знания и открытия. Но мой самый главный инсайт — коммуникация команды с заказчиком.
На первый взгляд здесь все максимально просто. В команде у каждого участника есть своя роль, а с ней — свои обязанности. Но, как показывает практика, иногда бизнес выдвигает свои требования, которые могут сильно повлиять на весь процесс коммуникации.
В этом случае важно идти на компромисс. Да, заказчик может хотеть общаться напрямую с разработчиками и другими членами команды. Да, заказчик может просить встречи и обсуждения в нерабочее время. Здесь самое главное — уверенно отстоять границы команды, донести до бизнеса наши внутренние роли, предложить варианты, которые не будут негативно влиять на продуктивность команды.
Самая идеальная схема коммуникации — через PM, как через некий буфер, который не пропускает лишней информации в обе стороны. В таком случае другие члены команды остаются максимально в фокусе своих задач и не тратят силы и время на дополнительные вопросы.
И главное, что стоит помнить и заказчикам, и команде — вы не конкуренты, вы партнеры! У вас общая цель, вы идете к стабильному, рабочему продукту. А достичь этой цели возможно только совместными усилиями и обоюдными компромиссами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍6🎄6🔥3☃1😁1🎅1
А пока вы готовите костюмы, хотим поздравить с Новым годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14😁5🔥4👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
Какие три основных подхода существуют для работы с иконками во Flutter?
Anonymous Quiz
4%
PNG, JPG, GIF
61%
Icon Fonts, SVG, Vector Graphics
33%
Material Icons, Cupertino Icons, Font Awesome
2%
Bitmap, Vector
Какой виджет позволяет дочернему элементу выходить за границы родителя?
Anonymous Quiz
85%
OverflowBox
3%
AspectRatio
11%
Expanded
2%
Align
Какие модификаторы можно комбинировать?
Anonymous Quiz
22%
base и final
26%
abstract и base
13%
sealed и base
39%
abstract и mixin
Какой Sliver позволяет вставить обычный виджет в CustomScrollView?
Anonymous Quiz
15%
SliverList
76%
SliverToBoxAdapter
5%
SliverAppBar
5%
SliverGrid
За этот год во @flutterfriendly вышло 222 публикации, а вы поставили более 3800 реакций. Решили вспомнить посты, которые вы больше всего читали и которыми активно делились за 2025 год:
Аудит безопасности мобильных приложений: виды и этапы
Использование ARB-формата
Обновление Android Studio без ошибок
Как пользоваться режимом выбора виджетов
Пакет meta
Оптимизация списков: как сделать скролл плавным и эффективным
Виджеты для управления размерами
Работа с иконками
Библиотека dartx
FutureOr в Dart
gRPC во Flutter: эффективная коммуникация между клиентом и сервером
Модификаторы классов в Dart
Тестирование кода: виды и для чего это нужно
Режимы сборки: debug, profile и release
Friflex Flutter Starter
Паттерн Strategy
Запись митапа: способы темизации и кастомизации мобильных приложений
Создание виджетов поверх существующего интерфейса
Определение местоположение пользователя: интеграция в приложение
Как быстро развернуть сайт документации с помощью Docusaurus
Адаптивная верстка: что это такое и как реализовать
Утечки памяти во Flutter-приложениях
Техническое собеседование: как подготовиться начинающим разработчикам
Hot Restart и Hot Reload: в чем отличия и как работают
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4
Какой принцип SOLID нарушен, если класс UserManager одновременно валидирует данные, сохраняет в БД и отправляет email?
Anonymous Quiz
2%
Принцип открытости/закрытости (O)
96%
Принцип единственной ответственности (S)
1%
Принцип инверсии зависимостей (D)
1%
Принцип подстановки Лисков (L)
Что из этого НЕ является Ephemeral state?
Anonymous Quiz
5%
Состояние текущей вкладки в TabBar
11%
Позиция скролла в ListView
71%
Данные пользователя из API
14%
Состояние анимации
Библиотека Equatable помогает:
Anonymous Quiz
5%
Упростить работу с State Management
83%
Упростить сравнение объектов по значению
10%
Создавать immutable объекты
2%
Генерировать тесты автоматически
Что означает TDD?
Anonymous Quiz
8%
Type-Driven Development
6%
Time-Delayed Deployment
1%
Top-Down Design
86%
Test-Driven Development
Dart FFI позволяет:
Anonymous Quiz
95%
Вызывать нативный C/C++ код из Dart
0%
Создавать красивые интерфейсы
3%
Работать с Firebase
2%
Ускорять компиляцию
Какой виджет лучше всего подходит для длинных списков с большим количеством простых элементов?
Anonymous Quiz
10%
SingleChildScrollView
13%
CustomScrollView
2%
Column
75%
ListView