Обновить
14.44

Dart *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Два года с Duit — история взросления фреймворка

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров1.4K

Когда-то Duit был всего лишь экспериментом — попыткой упаковать интерфейс Flutter в JSON и заставить его ожить. Сегодня это уже не технический трюк, а осмысленный подход к тому, как можно описывать UI данными, а не кодом, создавая управляемые интерфейсы нового поколения. Новый релиз — история взросления и поиска архитектурного баланса.

За два года проект прошёл путь от набора идей до зрелой архитектуры, где принципы гибкости, тестируемости и производительности стали фундаментом проекта.

Приглашаю тебя прочитать статью и узнать, как Duit v4 меняет представление о том, каким может быть BDUI-фреймворк.

Читать далее

Новости

Сокращённая запись через точку начиная с Dart 3.10 и Flutter 3.38

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров741

Синтаксис сокращённой записи через точку — .foo — позволяет писать более лаконичный Dart-код, опуская имя типа там, где компилятор может вывести его из контекста. Это аккуратная альтернатива полному варианту вида ContextType.foo при обращении к значениям перечислений (enum), статическим членам и конструкторам.

Теперь язык стал еще более лаконичным.

Читать далее

Dart 3.10 — что нового в Dart?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.3K

Сегодня мы рады объявить о выпуске Dart 3.10!

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

В этом выпуске также реализован ряд улучшений pub.dev и управления пакетами. Вы найдёте новые возможности поиска на вкладке «Нравится» в своём профиле, а авторы пакетов теперь могут отключить ручную публикацию для повышения безопасности. Наконец, мы добавили набор новых, более точных аннотаций об устаревании , чтобы вы могли более точно контролировать развитие своего API.

Продолжайте читать, чтобы узнать больше об этих и других улучшениях в Dart 3.10.

Читать далее

Flutter 3.38 — Что нового во Flutter?

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров4.1K

Добро пожаловать в наш ежеквартальный релиз Flutter 3.38. Это обновление призвано повысить вашу продуктивность и улучшить взаимодействие с разработчиками благодаря сокращённым точкам и обновлениям для предварительных просмотров виджетов. Благодаря нашему сообществу этот релиз включает в себя в общей сложности 825 коммитов от 145 уникальных участников, 37 из которых — новички. Давайте разберёмся, что же нового в этом релизе.

Читать далее

Распознаём позу человека во Flutter Web с MediaPipe

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров420

Учебник по подключению MediaPipe в качестве веб-плагина Flutter, чтобы распознавать положение тела по видео с вебкамеры. Учимся писать плагины, подтягивать произвольный JavaScript, вызывать его и рисовать поверх видео с камеры.

Читать далее

Как на Хабре каждый раз хоронят Flutter

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.8K

Представьте, что вы Flutter-разработчик. Вы заходите на Хабр. В комменты статьи про Flutter. И там опять: «Flutter уже не развивается давно, умирает, нет 3д», «Dart — зачем нужен этот новый странный язык», «Google закроет проект, там в Индии всех разрабов уволили, они уже на кладбище». И это каждый. Божий. День.

Вот что интересно: пока на Хабре хоронят Flutter, 30% всех новых iOS-приложений пишутся на нём. BMW делает на Flutter приложение для своих машин. Google Pay работает на Flutter. Credit Agricole Bank переписал на него банковский апп на миллион пользователей — и поднялся с 10-го на 3-е место в рейтинге. Но на Хабре Flutter, конечно, мёртв. Как и в прошлом году. И позапрошлом.

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров308

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

1. switch_on_type, чтобы сделать switch по типу переменной безопасным.

2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.

Читать далее

Октябрьский Flutter-дайджест

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров691

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

Читать далее

Dart 3.9: актуальность новых фич

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.1K

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

Читать далее

Когда важна каждая миллисекунда: оптимизация съёмки для CV и AR

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.6K

2ГИС Ситискан — это мобильное приложение для автоматизированной съёмки городской среды. Оно устанавливается на смартфон, закреплённый в автомобиле, и во время движения делает снимки, собирает координаты, скорость и другие параметры. Эти данные обрабатываются с помощью ИИ, чтобы находить проблемы в инфраструктуре: ямы, мусор, повреждённые объекты и другое.

Одна из ключевых задач приложения — снимать изображения с высокой частотой, особенно при объездах сложных участков. Но на практике оказалось, что стандартный метод съёмки takePicture во Flutter может занимать до 3 секунд на один кадр. Это делает невозможной съёмку даже 1 кадра в секунду, не говоря уже о 4 кадрах, которые нам нужны для точного анализа.

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

Читать далее

Книга: «Основы Flutter»

Время на прочтение3 мин
Количество просмотров5.5K

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

Читать далее

Написал приложение с помощью GPT-5 и вот что получилось

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров18K

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

Читать далее

Flutter-дайджест сентября

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.7K

Привет, друзья! 🌐

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

Читать далее

Ближайшие события

Как создать собственный RenderObject

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2.3K

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

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

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

Читать дальше

И ещё немного про то, что const в dart надо ставить где попало

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров931

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

Читать далее

Release — CherryPick 3.x

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров880

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

Читать далее

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров1.9K

Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений

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

Готовы превратить сборку мобильных приложений из рутинной задачи в полностью автоматизированный процесс? Тогда начинаем!

Читать далее

Flutter дайджест — Лето 2025 (июль + август)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.3K

Привет, друзья! ☀️ Лето подходит к концу, а значит самое время подвести итоги и вспомнить, что интересного произошло во Flutter-мире за два месяца.

Впереди осень 🍂 — и мы готовим ещё больше новостей, релизов и туториалов. Ну а пока наслаждайтесь нашим летним дайджестом.

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

Читать далее

Flutter + нативные iOS виджеты: любовь с первого Method Channel

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.7K

Как создать нативные iOS виджеты для Flutter приложения: Widget Extension, Method Channel для обмена данными, Timeline Provider для обновлений и SwiftUI верстка.

Пошаговый гайд с примерами кода на русском языке. Рассматриваем настройку App Groups, работу с UserDefaults и стратегии обновления виджетов.

Без лишних библиотек, только нативные возможности iOS и стандартные механизмы Flutter.

Читать далее

Clean Arch + Cubit + Reactor

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.3K

Clean + Cubit + Reactor

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

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

Читать далее
1
23 ...