Обновить
64K+

Flutter *

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

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

Как мы ускоряем работу во Flutter в VSCode: расширения и горячие клавиши

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

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

Читать далее

Новости

Как я, видео‑монтажер, создал собственный видеоредактор

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

Да, монтирую видео очень давно, около 20 лет, и часто не хватает софта, чтобы что‑то быстро подправить или смонтировать на выезде, на ходу и даже в отпуске. Ноут далеко не всегда с собой, а вот iPad бывал частенько, и тогда в те времена года три назад очень не хватало софта нормального, какие‑то огрызки, на них разве что рилсики пилить. Несерьезно.

Основная претензия от меня как от профи — на всех приложениях, как правило, одна дорожка! Я решил написать редактор видео таким, каким я его вижу на мобильном устройстве.

Читать далее

LxBox: переносим опыт singbox-launcher в Android

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

Привет. Полгода назад я выложил singbox-launcher — десктопный GUI для управления ядром sing-box. По фидбеку стало понятно: идея зашла, людям удобно собирать и отлаживать конфиги на ноутбуке, а потом переносить их на роутеры и другие сетевые устройства. Подробнее о десктопной версии я писал на Хабре.

Пару слов для тех, кто не в контексте. Есть небольшой класс кроссплатформенных сетевых ядер, которые умеют гибкую маршрутизацию трафика и поддерживают современный набор протоколов: WireGuard, VLESS, SOCKS5, Shadowsocks, Hysteria2, TUIC и так далее. Sing-box в этом списке — не самый раскрученный, но для меня он оказался наиболее интересным: быстрая эволюция, внимание к деталям, чистый код, живое общение мейнтейнеров с пользователями, классно организованный по логике конфиг.

Довольно быстро стали приходить запросы на Android-порт. Первое время казалось, что это будет прямое переиспользование десктопного кода. На практике сценарии потребления на мобильных оказались сильно другими: другой UX, другой lifecycle, Doze и background-лимиты, OEM-специфика, ограниченный экран, другие ожидания от автозапуска и обновлений. В итоге пришлось переписать практически всё с нуля.

Результат этой работы — LxBox, и сегодня я хочу рассказать, чем он отличается от существующих Android-клиентов и как устроен изнутри.

Читать далее

Один движок на два рантайма: как мой сайт на Next.js делит формулы с Flutter-приложением

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

Прошлой зимой я писал тут про «Мастерок» — строительный калькулятор на Flutter для RuStore. Приложение поехало в прод, набрало 4.9 звезды, и в какой-то момент пришло осознание: аудитория смартфонных приложений — это аудитория смартфонных приложений. А человек, который в обед нагуглил «сколько мешков ротбанда на 20 квадратов», в магазин приложений не полезет. Он хочет страницу в браузере. Желательно без куки-баннера на полэкрана, без интерфейса из 2012-го и без того, чтобы перед ответом на вопрос ему предлагали посмотреть пять реклам.

Так появился getmasterok.ru — веб-половина той же экосистемы. Сайт на Next.js 15, шестьдесят один калькулятор, ИИ-прораб, SEO, блог, всё как положено. И с одним неочевидным вызовом, который стал главным сюжетом этой статьи.

А вызов я нашёл не сам. Его нашёл пользователь.

Читать далее

Приватная Cвязь на Go и Flutter

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

Пока все обсуждают очередные сливы баз и особенности модерации в популярных «безопасных» мессенджерах, решил попробовать пойти другим путем. В этой статье рассказываю, как я скрестил Flutter и Go через CGO, прикрутил libp2p для создания P2P-сети и реализовал честное E2EE шифрование (Double Ratchet для личек и MLS для групп). Никакой централизации, никаких единых точек отказа. Делюсь результатами эксперимента.

Читать далее

Как я собирал Flutter-клиент, который не разваливается вне happy path

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

Когда рассказывают про архитектуру Flutter-приложения, всё обычно выглядит слишком аккуратно.

Есть Bloc, есть Dio, есть go_router, есть get_it. Где-то рядом лежат репозитории, модели, пара экранов и слайд со стрелками. На демо это звучит убедительно: “вот UI-слой, вот data-слой, вот state management”. Кажется, что если взять правильный набор пакетов, дальше система почти сама соберётся.

У меня так не вышло.

Я делаю Flutter-приложение для изучения языков. Это не pet-проект на три экрана, а полноценный клиент: авторизация через несколько провайдеров, анонимный вход, перевод, распознавание, генерация контента, учебные капсулы, локальные настройки, офлайн-поведение, WebSocket-события, длинные фоновые операции. И основные проблемы там начинаются не на уровне Flutter, а в тот момент, когда продуктовая логика перестаёт помещаться в учебные примеры.

Почти все полезные инженерные решения в проекте появились не из любви к “красивой архитектуре”, а после вполне приземлённых сбоев в реальных сценариях:

пользователь зашёл анонимно, потом решил зарегистрироваться и не должен потерять данные;

сеть на телефоне формально есть, но realtime-слой умер;

тяжёлая серверная операция крутится десятки секунд, а UI не должен выглядеть подвисшим;

приложение надо уметь не просто логинить, а аккуратно переживать смену identity;

после logout нельзя надеяться, что десяток старых Cubit-ов сами как-нибудь очистятся.

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

Читать далее

Вынесение бизнес‑логики из BLoC в use‑cases: прагматичный взгляд на архитектуру Flutter

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

Начиная писать Flutter-приложение, для стейт-менеджмента часто хватает простого setState или простого решения, по типу BLoC/Cubit без излишеств. Но с течением жизни проекта ваши блоки могут начать превращаться в god objects. Внутри хендлеров могут находиться и запросы в сервисы, и валидация, и эмиттеры состояния, а для крупной страницы точно одним ивентом не обойдешься. В таких условиях разработка сильно затрудняется, становится сложно поддерживать и масштабировать проект, снижается тестируемость.

Это не субъективный опыт — строгая разделенная архитектура повышает гибкость, переиспользуемость и тестируемость кода. BLoC сам по себе — паттерн с отличной дисциплиной потока данных и строгим отделением бизнес‑логики от UI, но стоит немного расслабиться, и он разрастается до god объекта.

Цель этой статьи — продемонстрировать, как вынесение бизнес логики в use-cases может помочь вернуть контроль над ViewModel слоем. Это не попытка навязать единственный вариант реализации, а материал про технический компромисс, подтвержденный цифрами и опытом.

Читать далее

Неразработчик + чат с ИИ + Android Studio: промежуточные результаты после публикации двух приложений

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

Я бизнес‑аналитик. Пишу мобильные приложения с нуля — без исходных знаний кода, архитектуры, дизайна и маркетинга. Инструменты те же: Claude в чате и копипаст в Android Studio.

Это вторая статья. Первая была про старт эксперимента и публикацию первых версий. Реакция была предсказуемая: часть читателей сочла это «неподдерживаемым способом разработки», часть — «игрой в прототипы», часть — «без навыков всё развалится». Я не собираюсь спорить на уровне тезисов. Поэтому вместо дискуссии — отчёт по фактам.

Ссылка на первую статью. Здесь не будет пересказа. Это именно промежуточный срез: что произошло после публикации, когда пришли реальные пользователи и реальные проблемы.

Читать далее

Как добавить свое расширение в DevTools и взаимодействовать с кодом приложения

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

Привет, Хабр! Я — Роза, Flutter-разработчица в Friflex. Уверена, многие из вас знакомы с Dart DevTools и уже использовали его для анализа своих Flutter-приложений. Но пробовали ли вы создавать собственные расширения? Недавно у меня была такая задача, и я хочу поделиться своим опытом.

Читать далее

Обновляем токен авторизации при помощи Dio

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

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

Из статьи вы узнаете:

- Из чего состоит JWT-токен?

- Зачем нужны Interceptor’ы в Dio и  чем отличается QueryInterceptor?

- Какие есть способы обновления токенов?

Читать далее

Flutter-дайджест: март 2026

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

Март выдался… немного тише, чем февраль.
Без громких релизов уровня Flutter 3.x — но это не значит, что было скучно 😉

Наоборот — месяц получился про практику, реальные кейсы и прокачку навыков 💪
А ещё… несмотря ни на что — мы продолжаем работать.

Да, даже несмотря на блокировки Telegram —
❌ мы никуда не уходим
❌ в MAX не переезжаем
✅ и продолжаем делать лучший Flutter-контент для вас

👉 Подписка на канал сейчас — это реальная поддержка проекта ❤️
https://t.me/flutterpulse

Читать далее

Оптимизация Flutter-приложения: списки, build() и утечки памяти

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

Привет, Хабр! Меня зовут Анна Ахлестова, я лидер Flutter-команды компании Friflex. В этой статье я расскажу об оптимизации скроллящихся списков, уменьшении лишних перестроений в build() и контроле утечек памяти в приложении на Flutter. Разберу, какие решения помогают снизить нагрузку на интерфейс, где обычно возникают проблемы с производительностью и на что стоит обращать внимание в повседневной разработке.

Читать далее

Оптимизация производительности во Flutter

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

Производительность Flutter-приложения напрямую зависит от качества написанного кода: лишние перестроения UI, тяжёлые операции в основном потоке, неправильная работа со списками и изображениями — всё это ведёт к фризам, падению FPS и ухудшению пользовательского опыта. 

В данной статье мы собрали наиболее распространённые ошибки, которые снижают производительность Flutter-приложений, и показали, как их избежать на практике.

Читать далее

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

Я заменил целую команду разработки на ИИ. 0 рублей, 2 недели, 2 приложения

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

Меня зовут [неважно], я бизнес-аналитик. Моя работа — писать ТЗ, рисовать процессы в BPMN, ругаться с разработчиками из-за неправильно понятых требований и пить кофе на стендапах. За 5 лет в профессии я не написал ни одной строчки кода. Ни одной. Даже Hello World.

В начале 2026-го я поймал себя на мысли, которая наверняка посещала каждого бизнес-аналитика: «Я точно знаю, что нужно сделать. Я подробно описываю как это должно работать. Единственное, чего я не могу — написать код». А потом я прочитал очередной пост про то, как кто-то с помощью ИИ создал приложение за выходные, и подумал: а что если моя профессия — это и есть идеальная подготовка к работе с ИИ-ассистентами?

Спойлер: через 2 недели у меня было 2 приложения в RuStore, 0 рублей затрат и 14 скачиваний. Да, четырнадцать. Но обо всём по порядку.

Читать далее

Пакет yx_virtual_device: опенсорс‑инструмент для упрощения тестирования Flutter‑приложений

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

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

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

Читать далее

ONYX: self-hosted мессенджер с LAN-режимом — история одного инди-проекта

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

Когда смотришь на существующие self-hosted мессенджеры, часто видишь одно из двух: либо сложную инфраструктуру, которую непросто развернуть (Matrix/Synapse), либо минимализм без шифрования. ONYX — это попытка найти середину: простой в развёртывании сервер, полноценное E2E-шифрование и режим работы в локальной сети без интернета вообще.

Читать далее

Что происходит с подписочной моделью в приложениях: уроки, тренды и ориентиры на 2026 год

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

Перевод статьи Лорелея Уитмен, RevenueCat

Ключевые выводы из крупнейшего в мире набора данных о подписочных приложениях

Краткое содержание

Рынок подписочных приложений быстро меняется. Старые приложения по-прежнему доминируют по доле выручки, но новые каждый день наводняют cторы. ИИ-приложения «умирают» быстрее, чем успевают выходить, а зона безопасной выручки для среднего приложения стремительно исчезает. «Выживания» больше нет: либо процветаешь, либо выгораешь.

Каждый год наш отчёт «Состояние подписочных приложений» ставит целью понять, что меняется в индустрии: что нового, что ушло в прошлое и что нас ждёт. В этом году наш набор данных снова вырос: более 115 000 приложений, представляющих более 16 миллиардов долларов выручки. И мы проанализировали данные по всем 115 тысячам из них.

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

Если перефразировать слова Дэвида Барнарда: «Есть много приложений, которые зарабатывают много денег».

Но если у вас (как это ни удивительно) нет времени читать каждую страницу полного отчета, то этот краткий обзор для вас. Начнем!

Читать далее

Widgetbook: мост между сore командой, дизайнерами и продуктовыми командами

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

Привет, Хабр! Я Александр, занимаюсь Flutter разработкой продукта Свой бизнес и Дизайн-системы в команде РСХБ.Цифра.  РСХБ это не только банк топ 5* по размеру активов, но и огромная экосистема Своё со множеством мобильных приложений разной тематики: банкинг, туризм, жильё, маркетплейс фермерских продуктов, поиск работы в агропромышленном комплексе и другие . 

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

Читать далее

Flutter Widget Previewer: разработка UI без запуска приложения

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

Я разрабатываю приложения на Flutter уже много лет, и то, как он развивается, не перестает меня удивлять. Сегодня Flutter Widget Previewer — это уже не эксперимент, а нормальный инструмент для проектирования UI: он позволяет видеть, как виджеты отрисовываются в реальном времени, без запуска приложения целиком.

В этой статье разберем, что такое Flutter Widget Previewer, как им пользоваться и как этот инструмент помогает ускорить разработку интерфейсов. Заодно поговорим о нескольких особенностях, о которых стоит помнить.

Читать далее

ИИ-агенты и Flutter: как сделать интеграционные тесты частью процесса разработки

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

Привет, хабровчане! Меня зовут Александр и я Flutter-разработчик. В этой статье хочу рассказать о том как я подружил ИИ-агентов с интеграционными тестами Flutter, какой инструмент пришлось для этого написать и что вообще из этого вышло. Летс гоу.

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