Ответ
У меня 3+ года опыта в разработке кроссплатформенных мобильных приложений на Flutter и Dart. Работал над проектами в e-commerce, fintech и edtech сферах. Основные навыки:
- Полный цикл разработки: от прототипирования UI/UX и верстки по макетам Figma до публикации в App Store и Google Play.
- Архитектура и управление состоянием: Глубокое понимание и практический опыт с BloC/Cubit, Provider и Riverpod. Создавал сложные, предсказуемые потоки данных.
- Работа с бэкендом: Интеграция REST API и GraphQL (используя Dio, retrofit, graphql_flutter), работа с Firebase (Auth, Firestore, Cloud Functions, Cloud Messaging).
- Нативная интеграция: Опыт написания platform channels для доступа к специфичным возможностям iOS (Swift) и Android (Kotlin).
- Производительность: Профилирование и оптимизация приложений. Например, в одном из проектов удалось сократить время холодного старта на 40% за счет отложенной инициализации, оптимизации ассетов и кеширования.
Пример реализации типичного Cubit для счетчика:
class CounterCubit extends Cubit<int> {
CounterCubit() : super(0);
void increment() => emit(state + 1);
void decrement() => emit(state - 1);
}
Публиковал приложения с аудиторией более 50k пользователей. Активно слежу за обновлениями экосистемы Flutter, участвую в митапах и изучаю новые подходы, такие как Flutter 3 с поддержкой desktop и Impeller.
Ответ 18+ 🔞
Слушай, история как у всех, только с деталями. Три года, блядь, в этой мобильной вёрстке на Flutter'е просидел — ебать мои старые костыли. Таскал эти коробки с товарами, деньги переводил и даже учить кого-то пытался через телефон. В общем, полный спектр услуг, ёпта.
Что я там только не делал, сука. Начинал с того, что из этой Figma, как мартышлюшка, пиксели выковыривал, а заканчивал тем, что уже в магазины эти готовые приложения закидывал. В App Store, в Google Play — везде наш след, блядь.
С архитектурой вот что было: BloC, Provider, Riverpod — это мои, блядь, лучшие друзья и одновременно головная боль. Чтобы состояние приложения не разъебывалось в хлам, приходилось их юзать. Создаешь такой управляемый хаос, чтобы всё летало и не падало. Овердохуища логики иногда накручивалось, конечно.
С сервером общался как родной. Эти REST'ы, GraphQL'ы — всё родное. Пакеты всякие подключал, Dio там, retrofit. Firebase — это вообще отдельная песня: авторизация, база данных, пуши... Иногда чувствуешь себя, блядь, сантехником, который соединяет трубы, только вместо воды — JSON'ы бегут.
А вот когда нативные штуки нужны были — тут вообще ёперный театр начинался. Пишешь на Dart'е, а тебе надо к камере на iOS или к NFC на Android достучаться. Приходилось, блядь, в Kotlin и Swift лазить, эти platform channels клепать. Чувствуешь себя немного предателем, но что поделать.
Скорость — это святое. Один раз так приложение оптимизировал, что время запуска с 5 секунд до трёх срубил. Картинки сжал, инициализацию растащил, кеши настроил. После этого чувствуешь себя богом, на минуточку.
Вот, к примеру, типичный кубик для счётчика, который все делают, когда только начинают. Проще пареной репы, но суть в нём:
class CounterCubit extends Cubit<int> {
CounterCubit() : super(0);
void increment() => emit(state + 1);
void decrement() => emit(state - 1);
}
Выпускал приложения, где больше 50 тысяч человек твои костыли юзали. Страшно было сначала, а потом — да похуй, работает же.
В общем, сижу, слежу за этим Flutter'ом. Вот уже и на десктопы зачем-то полез, и движок новый рисуют. Главное — не отставать, а то сядешь на старый код, как на мель, и всё, пидарас шерстяной, ты никому не нужен.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶