Обновить
64K+

Dart *

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

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

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

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

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

Читать далее

Новости

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

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

Привет. Полгода назад я выложил 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 мин
Охват и читатели5.9K

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Dart на бекенде: почему его бросила бывшая

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

Если ты тоже смотришь на Dart как на backend-альтернативу для Node.js, лучше пройти этот путь на чужих ошибках. Полные результаты benchmark'а — Go, Node.js, Dart, Bun, Deno, .NET — с методологией, конфигурацией и сырыми цифрами лежат на GitHub. Под катом — сама история. Не технический отчёт, а инженерская драма: как 2 недели ушли на перенос архитектуры, почему всё выглядело идеально на бумаге, и как гипотеза с "экономией памяти" разбилась о реалии raw benchmark. И ещё — почему AI-агент сделал всё правильно, и именно это оказалось проблемой.

Читать далее

Null в Dart: С нуля до капитана

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

Всем привет!

Сегодня я хочу обратить ваше внимание на такой важный концепт в программировании, как null, поведать о его истории и выяснить, как Dart решает проблему работы с null.

Читать далее

Я устал настраивать ПК и написал свое приложение для Windows на Flutter

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

Привет. Меня зовут Никита.

Наверняка многим знакома ситуация: кто‑то из друзей или родственников просит «почистить комп», «передалать PNG в JPG» или «раскидать свалку файлов в загрузках».

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

Так появился мое приложение SmartLauncher.

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Как я перестал верстать чеки в коде и написал визуальный редактор шаблонов для Flutter

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

Я решил, что хватит это терпеть, и написал pdf_kit_editor — визуальный конструктор, который отделяет дизайн документа от данных.

Читать далее

РСПКДС: мнемонический шаблон для  обработки данных в Dart -шпаргалка для начинающих

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

В статье разберём РСПКДС — простой мнемонический шаблон, который поможет новичкам в Dart структурировать базовые операции обработки данных. Покажу, как использовать формулу для решения типовых задач, приведу примеры кода и дам практические рекомендации. Вы узнаете, как за 6 шагов превратить сырые данные в осмысленный результат.

Читать далее

Оформление и настройка тем во Flutter: руководство для разработчиков

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

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

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

Читать далее

Flutter в феврале: релизы Flutter и Dart, Roadmap 2026, Toyota Fluorite и главное из экосистемы

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

Привет, Flutter-разработчики! 👋

Февраль — это тот месяц, когда экосистема не просто жила, а перестраивалась. Два ключевых релиза, публичный вектор развития на 2026, неожиданный 3D-движок от Toyota и тонна полезных материалов!

Читать далее

Между логином и 401: как устроена JWT-авторизация во Flutter

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

Привет, Хабр! Я — Роза, Flutter Dev Friflex. Сегодня я расскажу о веб-токенах JWT: как с их помощью безопасно передавать данные и реализовать авторизацию во Flutter. Разберем, чем JWT отличаются от классической схемы с сессиями, как работают Access- и Refresh-токены, зачем нужен Blacklist и как все это собрать в рабочее решение.

Читать далее

Повторяем профиль Телеграма, используя Metaballs

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

Я потратил много времени, чтобы разобраться, как работает анимация аватара с Dynamic Island в Telegram.

Затем я реализовал её на Flutter с помощью metaballs и шейдеров 🚀

Узнать, что скрывает Телеграм
1
23 ...