Два новых линта в Dart 3.9

Два новых линта в Dart 3.9:
1. switch_on_type, чтобы сделать switch по типу переменной безопасным.
2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.

Язык программирования, созданный Google

Два новых линта в Dart 3.9:
1. switch_on_type, чтобы сделать switch по типу переменной безопасным.
2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.

Октябрь был насыщенным и вдохновляющим: новые релизы, статьи, переводы с Medium и целая волна полезных пакетов. Flutter не останавливается, а сообщество растёт с каждой неделей! 🚀

(!) Дата релиза этого обновления: 13 августа 2025. Это плановый, «прикладной» апдейт, который делает анализатор умнее, CLI — ощутимо быстрее, pub — точнее в разрешении зависимостей, а также приносит официальный MCP-сервер для интеграции Dart/Flutter с ИИ-ассистентами. Ниже — только существенное, с примерами и пошаговыми рекомендациями. (Dart)

2ГИС Ситискан — это мобильное приложение для автоматизированной съёмки городской среды. Оно устанавливается на смартфон, закреплённый в автомобиле, и во время движения делает снимки, собирает координаты, скорость и другие параметры. Эти данные обрабатываются с помощью ИИ, чтобы находить проблемы в инфраструктуре: ямы, мусор, повреждённые объекты и другое.
Одна из ключевых задач приложения — снимать изображения с высокой частотой, особенно при объездах сложных участков. Но на практике оказалось, что стандартный метод съёмки takePicture во Flutter может занимать до 3 секунд на один кадр. Это делает невозможной съёмку даже 1 кадра в секунду, не говоря уже о 4 кадрах, которые нам нужны для точного анализа.
В этой статье мы — Руслан Цицер и Арген Жукеев @zhukeev— расскажем, как исследовали узкие места, перепробовали разные подходы — от RepaintBoundary до нативной обработки на C и Java — и в итоге добились стабильной съёмки с минимальной задержкой. Наш кейс будет полезен Flutter-разработчикам, которым необходима высокая частота съёмки (до 4 fps и выше) для своих приложений и инженерам в области компьютерного зрения и машинного обучения или разработчики AR/VR-решений на Flutter, где важны каждая миллисекунда и каждый пиксель.

Привет, Хаброжители! Книга предназначена для всех, кто хочет погрузиться в эффективную кроссплатформенную разработку с Flutter. Вы не только изучите синтаксис языка Dart и основы фреймворка, но и сразу примените знания на практике, разрабатывая проект, который развивается на протяжении всей книги. После каждой новой темы вас ждут задания по доработке его кодовой базы, что позволит уверенно прокачать свои hard-скиллы.

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

Привет, друзья! 🌐
Сентябрь оказался по-настоящему горячим месяцем для Flutter-разработчиков — громкие релизы, свежие статьи на Хабре, видеоразборы с YouTube и целая россыпь полезных пакетов. На нашем канале FlutterPulse мы собрали всё самое интересное в одном месте, чтобы вы ничего не пропустили.

Наверняка вы слышали, что Flutter позволяет управлять содержимым каждого пикселя на экране. И что он помогает реализовать любой интерфейс, который только можно вообразить.
Меня зовут Александр, я Flutter-разработчик в Surf, и сегодня мы сделаем ещё один небольшой шаг к этим крутейшим возможностям — мы научимся создавать собственные RenderObject.
В этой статье мы разберём, как RenderObject появляются на свет, какие задачи решают, зачем может понадобиться создание собственных RenderObject, а также рассмотрим процесс создания собственного RenderObject с примерами и без танцев с бубном.

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

🚀 CherryPick 3.x уже доступен!
Быстрое, безопасное и удобное управление зависимостями в Dart и Flutter: O(1) разрешение зависимостей, защита от циклов, автоматическая очистка ресурсов и поддержка декларативного DI.
📦 Попробовать на pub.dev

Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений
Привет! Меня зовут Данил Абдрафиков, я мобильный разработчик в компании TAGES. Эта статья является продолжением первой части руководства по настройке GitLab CI/CD для Flutter приложений, в котором мы подробно разобрали настройку физической машины и подготовили GitLab Runner для работы. Теперь, когда инфраструктура готова, перейдем к самому интересному – автоматизации сборки и подписания мобильных приложений.
Готовы превратить сборку мобильных приложений из рутинной задачи в полностью автоматизированный процесс? Тогда начинаем!

Привет, друзья! ☀️ Лето подходит к концу, а значит самое время подвести итоги и вспомнить, что интересного произошло во Flutter-мире за два месяца.
Впереди осень 🍂 — и мы готовим ещё больше новостей, релизов и туториалов. Ну а пока наслаждайтесь нашим летним дайджестом.
А ещё — поздравляем студентов и школьников с Днём знаний! 🎓 Пусть учёба будет лёгкой, а знания по Flutter и Dart только умножаются. Канал FlutterPulse будет развиваться и расти вместе с вами 🚀

Как создать нативные iOS виджеты для Flutter приложения: Widget Extension, Method Channel для обмена данными, Timeline Provider для обновлений и SwiftUI верстка.
Пошаговый гайд с примерами кода на русском языке. Рассматриваем настройку App Groups, работу с UserDefaults и стратегии обновления виджетов.
Без лишних библиотек, только нативные возможности iOS и стандартные механизмы Flutter.

Clean + Cubit + Reactor
Взаимодействие кубитов друг с другом изолированно через репозиторий без стримов. Подход, который родился у меня в процессе работы над несколькими моими проектами.
Задача — как синхронизировать несколько независимых Cubit‑ов, работающих с одними и теми же данными, имеющих разную логику и при этом не связывать их напрямую и не пробрасывать события через UI.

Добро пожаловать в ежеквартальный релиз Flutter 3.35! Это обновление призвано повысить вашу продуктивность и включает в себя стабильную версию горячей перезагрузки с сохранением состояния в веб-версии и экспериментальный запуск предпросмотра виджетов! Благодаря усилиям нашего сообщества, Flutter 3.35 включает в себя 1108 коммитов от 168 уникальных участников, 39 из которых присоединились к нам впервые. Давайте узнаем, что нового!

Итак, йоу, юзеры!
Я Hilrein, 18-летний разработчик мобильных и веб-приложений. В этой статье я расскажу вам про базовый Dart - язык программирования, лежащий в основе Flutter. Он отлично подходит как для новичков, так и для тех, кто хочет перейти в кроссплатформенную мобильную разработку.
Эта статья рассчитана на начинающих и охватывает всё, что нужно знать до перехода к объектно-ориентированному программированию (ООП).

Управление состоянием — одна из самых спорных и при этом критически важных тем для Flutter‑приложений. На первый взгляд кажется, что рынок давно полон готовых решений, но на практике у каждой команды есть свои требования, которые могут не укладываться в чужие подходы.
Сегодня мы релизим в опенсорс ещё один state management для Flutter — ровно так же, как чуть меньше года назад мы выпустили yet another DI. Неужели снова ничего не подошло из готового? Да, снова не подошло.
В этой статье я расскажу, почему у нас снова зачесались руки сделать собственную библиотеку: как мы пришли к созданию собственного state management и чем он отличается от Riverpod, BLoC или Redux, какие компромиссы пришлось искать, чтобы совместить несовместимое.

Последние годы я фокусируюсь на мобильной разработке с точки зрения собственной экспертизы и бизнеса. За это время собрал несколько команд, попробовал разные сферы, поработал с Xamarin и ушел от него на Flutter, ищу куда развиваться дальше.
Обзор рынка в СНГ сейчас дал какую-то однобокую картину: курьер может заработать больше, чем предлагают по вакансиям в разработке.
Кажется, что после COVID стало нормальным, когда у специалиста несколько работ.
Может, и работодатели уже смирились с этим? "Задачи закрываются и ладно".
Я начинаю исследование, чтобы понять, можно ли всё это узаконить и отладить процесс со сниженной ролью в заказной разработке.
Начну с темы, на которой я фокусировался последнее время — мобильная разработка на Flutter.

Привет, хабровчанин! Я рад, что спустя полтора года после своей первой статьи у меня наконец закончилась разработка и оптимизация всего, что только можно, и я могу с уверенностью поделиться о лучших практиках при разработке огромных 2д рпг с открытым миром для любой платформы на фреймворке Flame.
Начну с того, что Flame имеет очень уютное коммьюнити, которое всегда поможет, подскажет, примет вашу критику и охотно аппрувнет ваши исправления в главную ветку если они действительно здравые. Так что такое отношение к своему детищу от разработчиков не может не радовать. Да, движок молодой, но очень быстро набирает все необходимые функции, чтобы уже на данном этапе позволяет делать очень крутые игры.

Ни для кого не секрет что смартфоны в наше время это вещь очень нужная и необходимая. Сейчас у каждого популярного сервиса есть своё мобильное приложение. Мобильное приложение полезно не только пользователю, но ещё и компании которая его предоставляет, ведь благодаря этому приложению можно увеличить охваты.
Вот и я решил создать приложение для уже существующего образовательного портала RushENGL, ведь сайт то безусловно хорош, но не всем пользователям с телефона удобно им пользоваться, да и хотелось бы видеть его в списке приложений для быстрого доступа.
В этой статье разберём как создать своё мобильное приложение для уже имеющегося сайта без лишних морок!