Обновить
16K+

Flutter *

Фреймворк для кросс-платформенной разработки

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

Мой первый KitRover: попытка сделать машинку с управлением по сети (часть 2)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели122

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

Продолжаю рассказывать о том, как делаю ровер с управлением по сети.

Читать далее

Новости

Мой первый KitRover: попытка сделать машинку с управлением по сети. (часть 1)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.5K

Основные условия к проекту - это возможность собрать ровер из готовых модулей, которые можно найти на известных площадках, прошить микроконтроллер простым drag-and-drop и записать OS на SD Card.

История о том, как я пытаюсь сделать ровер.

Читать далее

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

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

Мы рады объявить о выходе Dart 3.13!

В этом релизе мы отмечаем тему, которую любят все разработчики: чистый и легковесный код. Dart 3.13 фокусируется на этом аспекте на каждом уровне работы разработчика. Что касается языка, то первичные конструкторы устраняют повторяющийся шаблонный код, позволяя определять классы в одной строке кода. В инструментах разработчика внесены улучшения, позволяющие dart formatподдерживать аккуратность кода в соответствии с правилами стиля Effective Dart , а также dart pubвведены новые команды рабочей области для поддержания порядка в монорепозиториях. На pub.dev расширенные функции документации, такие как <callout-box>теги и {@example}директивы, делают документацию пакетов более понятной. Внутри системы, оптимизация кода нативных библиотек (tree-shaking @RecordUse) и отложенная загрузка WebAssembly помогают сделать скомпилированные бинарные файлы приложений максимально компактными.

Так что обновите Dart или запустите программу flutter upgrade и следите за обновлениями, пока мы будем изучать новинки Dart 3.13!

Читать далее

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

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

Вышла версия Flutter 3.47, и вместе с ней мы получили несколько интересных нововведений.

Сегодня мы приветствуем выпуск версии 1.0 автономного приложения material_uiи cupertino_uiпакетов. Это важная веха, которая отделяет системы проектирования от основного SDK.

Мы также повышаем производительность и улучшаем инструменты во всех областях. В этом релизе Impeller по умолчанию доступен для настольных компьютеров, наши конвейеры подготовлены для iOS, macOS и Xcode 27, а предварительные версии виджетов Flutter переведены в стабильную версию.

Итак, flutter upgradeдля начала выполните команду в терминале или прочитайте дальше, чтобы узнать больше о главных изменениях в этом релизе.

Читать далее

Сборщик мусора в Dart. Часть 2: поколения и scavenge

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

В первой части мы разобрались как Dart отличает число от объекта. Эти знания нам пригодятся, чтобы разобраться в дальнейших хитростях сборщика.

Перед нами стоит самый главный вопрос: А как сборщик все-таки за собой убирает? 

Молодое и старое поколение.

Что происходит в обычном build() у Flutter-виджета? За один кадр создается куча временных объектов: EdgeInsets, Padding, промежуточные TextStyle, какие-то списки, замыкания. Живут они до следующего ребилда(Не учитывая const).

Также у нас есть и другая категория объектов, которые живут долго: синглтоны, кэши, репозитории, состояние приложения.  Они создаются один раз  и живут все время работы.
Отсюда вывод, если молодые объекты пересоздаются пачками, а старые в основном живут, то убирать их одинаково не выгодно. Именно поэтому Dart делит кучу на 2 поколения...

Читать далее

AI-centric архитектура Flutter-приложения (и не только) для небольших стартапов

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели8.1K

Мысли о масштабируемой архитектуре приложений через кодовую структуру и философии «developer as a user»; подходит для indie-разработчиков и стартапов на ранних стадиях.

Читать далее

Заметки Note: P2P-синхронизация, локальное шифрование и режим «под принуждением»

Время на прочтение8 мин
Охват и читатели8.9K

По-настоящему важные данные нельзя держать в одном единственном месте — их нужно диверсифицировать.
Можно хранить всё дома и однажды вернуться с прогулки, а вместо дома и драгоценного компьютера — одни обугленные руины.
Можно носить всё с собой в телефоне, но лишиться его в первом же кафе, где аппарат вытащит у вас из кармана воришка.
Можно загрузить всё на надёжный сервер крупной корпорации, но в один прекрасный день эта корпорация введёт против вас санкции или просто заблокирует доступ к вашему же аккаунту.
У каждого отдельного хранилища есть свой собственный способ вас подвести.

Вот ровно эту проблему я и попытался решить.

Читать далее

Поставил свою Flutter-игру на iPhone друга без Mac и подписки Apple Developer

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели10K

Занимаюсь разработкой своей игры на Flutter. Дошёл до этапа, когда её пора было показать другу-тестировщику, а у него iPhone. Первая мысль — покупать Mac Mini или подписку Apple Developer за $99 в год. Обе цены платить не хотелось, пока проект не подтвердил, что вообще будет.

На Samsung всё это делается за 15 минут: dev mode, USB, установка. На iPhone пришлось искать схему, которую нигде не находил собранной в одном месте — четыре инструмента, час на реализацию и заметно дольше на то, чтобы вообще понять, что она существует.

Внутри: рабочий пайплайн Tenorshare iCareFone → GitHub Actions → Sideloadly → доверие на устройстве. Полный yml для сборки unsigned .ipa на хостовом macOS-раннере (со всеми нюансами Flutter-версии, precache, packaging и --dart-define для API). Разбор тонких моментов, которые не вылезают в туториалах: bundle ID под бесплатным Apple ID, Firebase-конфиги, миграция macos-latest на macOS 26 в июне 2026.

Отдельно — честная экономика iOS-релиза из России в июле 2026: как теперь оплачивать Apple Developer, когда с 1 апреля отключили мобильную оплату; во сколько по факту обходится 99 долларов через Gift Card, посредников и иностранные карты; и сравнение с Google Play ($25 единоразово), RuStore и AppGallery.

Читать далее

Как мигрировать Flutter-приложение на SPM — гайд с граблями, костылями и скриптами

Время на прочтение19 мин
Охват и читатели12K

Flutter активно движется в сторону Swift Package Manager (SPM) и, как и весь Swift‑мир, постепенно отказывается от CocoaPods. Сам Flutter описывает миграцию в два шага: включить флаг flutter config --enable-swift-package-manager и запустить сборку. Если после этого приложение собирается и в консоли появляется предложение deintegrate CocoaPods — вы счастливчик. Если нет, добро пожаловать под кат. 

Привет! Меня зовут Даниил Гиренко, я Flutter‑разработчик в Яндекс Про. Проект по переводу нашего супераппа с CocoaPods на Swift Package Manager оказался одним из самых сложных и долгих в моей карьере программиста. Весь мой пережитый ужас опыт я решил выразить в этой статье, чтобы решившиеся на миграцию разработчики (или агенты) понимали, какие подводные камни их ждут. Буду рад, если ваш проект займёт недели, а не месяцы, как у меня.

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

Читать далее

Миграция с Flutter Web на Jaspr: наш опыт

Время на прочтение8 мин
Охват и читатели9.3K

Уже несколько лет мы занимаемся развитием клиентского приложения на Flutter: начинали с мобильных платформ, когда веб и десктоп вышли в бету – портировали его и на эти платформы. Последние два года PWA крутится в проде и в некоторых регионах является самой популярной платформой для нашего приложения.

Недавно мы попробовали мигрировать наше приложение с Flutter Web на Jaspr – под катом расскажем о том, почему мы это сделали, с какими трудностями столкнулись и какие выводы сделали.

Да кто такой этот Jaspr?!

Plumix: как я переписываю Flutter на C# — вместе с ИИ

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели8.9K

Я скучал по C#, когда писал на Flutter, и по Flutter — когда писал на C#. Поэтому взял и совместил: Plumix — фреймворк с флаттеровской архитектурой виджетов поверх .NET и Avalonia, который во многом строят ИИ-агенты. Рассказываю про мотивацию, конвейер портирования, текущие фичи и планы.

Смотреть, что получилось

Как я написал сервис для анализа конкурсных списков вузов и моделирования зачисления по приоритетам

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели12K

Каждое лето сотни тысяч абитуриентов пытаются понять одну простую вещь:

Поступлю я или нет?

Казалось бы, все данные открыты. Вузы публикуют конкурсные списки, количество мест известно, правила приёма описаны на сайтах.

Но на практике ответить на этот вопрос гораздо сложнее, чем кажется.

Именно из этой проблемы вырос проект AbitList.

Сайт: https://abitlist.ru

Читать далее

Как устроено состояние во Flutter: локальное состояние, данные приложения, InheritedWidget и Provider

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.2K

Привет, Хабр! Это Аня, руководитель Flutter-команды Friflex, и Катя, Flutter-разработчица Friflex.

В этой статье разберем, что такое состояние во Flutter. Катя расскажет, как отличать локальное состояние от состояния приложения и в каких случаях достаточно setState(). Аня покажет, как передавать данные по дереву виджетов с помощью InheritedWidget, и разберет, как устроен Provider.

Читать далее

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

Сборщик мусора в Dart. Часть 1: память и указатели

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.8K


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

Эта статья – моя попытка объяснить вам доходчивым языком, что же такое Garbage Collector в Dart, объяснить почему эти некоторые знания нам нужны на практике и что из всей этой тяжелой, технической внутрянки вам необходимо знать.

Читать далее

Чем является ваша работа сегодня?

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

В декабре 2025 года многие ведущие инженеры мира все-таки высказались вслух о том, о чём боялись даже думать: «Кажется, LLM пишет код лучше меня».

Фархан Тавар, руководитель инженерного направления Shopify (3000 инженеров, 10% мирового e-commerce), рассказал, как они к этому готовились — и что делать дальше. Спойлер: сокращать команду они не только не собираются, но и наняли уже 1000 интернов. Но обо всем – в статье

Понять, кто я теперь

Динамические иконки приложения на Flutter: подробная инструкция для ручного выбора и обновлений по воздуху

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели10K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства продуктовой разработки Amiga. Мы с командой подготовили для вас перевод статьи о том, как можно кастомизировать иконку приложения динамически. Всем приятного чтения!

Читать далее

Как подготовиться к собеседованию на Flutter-разработчика

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.9K

Привет! Это Анна, руководитель Flutter-команды Friflex. Я иногда провожу технические собеседования с Flutter-разработчиками и вижу, с чем чаще всего сталкиваются начинающие специалисты.

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

Читать далее

Nostr — бэкенд «из коробки»: где подходит, а где нет

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

Готовый децентрализованный бэкенд без своего сервера — звучит заманчиво. На личном опыте двух приложений разбираю, где Nostr реально экономит месяцы работы, а где упирается в одно базовое ограничение и начинает мешать: заметки, чаты, ленты, communities, организации.

Читать далее

Зачем я сделал LAN-синхронизацию между своими же устройствами в self-hosted мессенджере (и почему не через сервер)

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели9.8K

ONYX — мой pet-project: self-hosted, анонимный, E2E-шифрованный мессенджер. Клиент — Flutter, есть под Windows/Linux/macOS/Android, аккаунт без телефона и почты.

Вышла v1.7-beta. Список изменений ниже, но текст в основном про одну фичу: WardLink, ради которой стоило катить этот релиз.

Читать далее

Когда таймлайн сам рисует кадры: встроенный ИИ‑генератор в MultiTrack

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

В прошлой статье я рассказывал, как собрал мобильный видеоредактор с мультитреком, кейфреймами и ИИ‑ассистентом, который монтирует по промпту. Тогда ассистент умел резать, двигать, накладывать эффекты — но создавать картинки и видео приходилось где‑то сбоку: сгенерировал, скачал, импортировал, подогнал под проект.

Это раздражало. Монтаж — это поток. Любая лишняя вкладка в браузере — как пауза посреди джазовой импровизации.

Поэтому в MultiTrack появился встроенный ИИ‑генератор — отдельная панель «AI Generation» на базе Higgsfield. Не заглушка «попробуйте нейросеть», а полноценный цикл: промпт → генерация → скачивание → Import to Project → клип сразу в библиотеке и на таймлайне. Без выхода из редактора.

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