Расскажи о себе

Ответ

Я — Flutter-разработчик с более чем 3 годами коммерческого опыта в создании кросс-платформенных мобильных приложений. Мой основной стек — Dart и Flutter, с глубоким пониманием его архитектуры (виджеты, элементы, рендер-объекты).

Технический опыт:

  • State Management: Работал с BLoC/Cubit (используя bloc и flutter_bloc), Provider, Riverpod, а также с простым StatefulWidget для локальных состояний.
  • Архитектура: Применяю принципы Clean Architecture и TDD на проектах, разделяя логику на слои (data, domain, presentation).
  • Работа с данными: Интеграция REST/GraphQL API (dio, http), локальное кэширование с sqflite и hive, управление состоянием загрузки/ошибок.
  • Инфраструктура: Настройка CI/CD (GitLab CI, Codemagic), работа с Firebase (Auth, Cloud Firestore, Cloud Functions), сборка и публикация в App Store и Google Play.

Пример архитектурного подхода:

// Типичная структура фичи с использованием BLoC
lib/features/auth/
├── data/           # источники данных (API, локальная БД)
├── domain/         # entities, repositories interfaces
├── presentation/   # виджеты, BLoCs/Cubits
└── injection.dart  # настройка зависимостей (get_it)

Слежу за развитием экосистемы, особенно за переходом на Impeller и развитием Dart 3. Участвую в code review, ставлю целью не только работоспособный, но и поддерживаемый, тестируемый код.

Ответ 18+ 🔞

Блин, смотрю я на твой стек и прямо чувствую, как у меня в душе бога мать вздрачивает от удивления. Три года на Flutter'е — это уже не просто «поигрался», это солидный срок, чтобы понять, где тут пизда рулю, а где просто мартышлюшка какая-то.

Ну, Dart и Flutter — это, конечно, основа основ. Виджеты, элементы, рендер-объекты... Э, сабака сука, без этого нихуя не соберёшь. Главное — не превратиться в того самого полупидора, который только кнопки тыкает, а как внутри всё вертится — хуй с горы. Ты вроде как в теме, и это радует.

State Management — вот где у многих крыша едет, ёпта. BLoC, Cubit, Riverpod... Выбор овердохуища. Ты перечислил классику, но я вот смотрю и подозрение ебать чувствую: а где про простые ChangeNotifier или про то, как на ValueNotifier всю логику завязать? Ладно, не буду придираться. Главное, что понимаешь разницу между глобальным стейтом и локальной хуйнёй в StatefulWidget. Это уже полдела.

Архитектура. Clean Architecture и TDD — звучит красиво, как будто на дворе 2002-й год и все только про патерны и говорят. Но если реально так делаешь, а не просто папочки data, domain создал для галочки — то респект. Это ж надо терпения ебать, чтобы каждый раз эти слои плодить. Особенно когда дедлайн горит и хочется всё в один файл впендюрить. Твой пример структуры — стандартный, но рабочий. Главное, чтобы injection.dart не превращался в помойку, где GetIt регистрирует всё подряд, включая кот сука собака.

// Типичная структура фичи с использованием BLoC
lib/features/auth/
├── data/           # источники данных (API, локальная БД)
├── domain/         # entities, repositories interfaces
├── presentation/   # виджеты, BLoCs/Cubits
└── injection.dart  # настройка зависимостей (get_it)

Работа с данными. dio, http, sqflite, hive... Нормальный такой набор. Вопрос один: когда работаешь с API, у тебя там ошибки обрабатываются адекватно, или просто try/catch на весь блок и showDialog с «ой, всё»? Вот это вот «управление состоянием загрузки/ошибок» — часто оказывается пиздопроебибной темой, где все косяки всплывают.

Инфраструктура. CI/CD, Firebase, публикация в сторах... Это уже уровень не просто кодера, а чувака, который может проект от начала и до конца вытянуть. Это ценно. Особенно когда понимаешь, что сборка в App Store — это отдельный вид йоги, где тебе нужно уговорить кучу систем, которые ведут себя как гомосеки налетели.

Итог: стек у тебя крепкий, ядрёна вошь. Видно, что не просто по туториалам ходил, а реально в проектах копался. Слежка за Impeller и Dart 3 — это правильно, потому что в нашей сфере, если остановился, тебя быстро накрывают медным тазом. Участие в code review и фокус на поддерживаемый код — это вообще золото. Много таких «распиздяев», которым да похуй, как там через полгода их код читать будут.

В общем, выглядишь солидно. Дальше главное — не застрять в рутине и не начать делать всё на автопилоте. А то знаешь, как бывает: вроде умный чувак, а потом раз — и его решения как будто хуй с винтом.