Обновить
27.6

Flutter *

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

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

State-менеджмент «из коробки» во Flutter: эффективная альтернатива BLoC и Riverpod

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

Управление состоянием — один из ключевых аспектов разработки приложений на Flutter. Часто для этой задачи выбирают тяжелые и многофункциональные решения вроде BLoC, Riverpod или GetX. Однако во многих проектах подобная инфраструктура избыточна: не каждое приложение требует сложной архитектуры и дополнительного уровня абстракции.

В данной статье мы расскажем про встроенные инструменты Flutter, которые позволяют реализовать надежный и предсказуемый state-менеджмент без сторонних фреймворков. Вы узнаете, как использовать ValueNotifier и Provider для удобной работы с состоянием и когда такой подход является оптимальным.

Читать далее

Новости

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

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

Привет, друзья! 👋
Ноябрь выдался ультра-насыщенным, и если вы пропустили хоть что-то — сейчас наверстаем!

Читать далее

Работа с RTSP-плеером во Flutter: выбор библиотеки и снижение задержки

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

Работа с RTSP-потоками во Flutter остаётся задачей, которую нельзя решить штатными средствами фреймворка. Базовый плагин video_player не поддерживает RTSP, из-за чего прямое воспроизведение видео с IP-камер и систем наблюдения недоступно без сторонних решений. Для корректной работы в таких сценариях требуется специализированный плеер, обеспечивающий стабильное отображение потока и минимально возможную задержку.

В данной статье мы рассмотрим основные библиотеки для работы с RTSP во Flutter — flutter_vlc_player, fijkplayer и media_kit, сравним их особенности, достоинства и влияние на задержку воспроизведения. Отдельное внимание уделим настройкам, которые позволяют минимизировать latency, прежде всего в решениях на базе FFmpeg. Также разберём доступные параметры оптимизации в flutter_vlc_player. 

Материал поможет выбрать подходящую библиотеку и настроить плеер так, чтобы обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях.

Читать далее

Чем вайб-инженер отличается от вайб-кодера

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

Привет, Хабр! Это Юра Петров, Tech Lead Friflex. В этой статье хочу разграничить два понятия: вайб-инжиниринг и вайб-кодинг. Они звучат очень похоже, но разница между ними, на самом деле, колоссальная. Попробую объяснить ее простым языком.

Читать далее

Как я написал свою соцсеть на Flutter Web: от Firebase до трёх кругов ада с Google Sign-In

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

История создания веб-приложения Syncory — платформы для поиска единомышленников по нишевым интересам. Подробный разбор архитектуры на Flutter Web + Firebase, реализация системы приватных комментариев и ролевой модели, а также пошаговое решение всех проблем с Google Sign-In на Flutter Web. Полный открытый исходный код и живое демо. Для разработчиков, которые хотят быстро запустить serverless веб-приложение без боли с инфраструктурой.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Как дизайнер своё приложение навайбкодил

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

История о том, как одинокий UX/UI-дизайнер сделал Flutter приложение, прошёл огонь, воду, Drag’n Drop — и вышел в релиз.

Читать далее

Flutter — везде (и даже в чайнике). Часть 1

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

Как я сделал аудиогид с ИИ без опыта мобильной разработки

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

Это рассказ о том, как я в свободное время реализовал свою старую идею, и как мне в этом помог ИИ. Я решил сделать приложение, которое превращает Википедию в говорящий аудиогид и полностью написал его с помощью ИИ, хотя никогда не занимался мобильной разработкой. ИИ использовался для создания аудио рассказов и для написания самого приложения.

Читать далее

Собираем и публикуем Flutter-апп в AppStore

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

Автоматизация сборки Flutter-приложения для iOS с использованием macOS

1 часть: Нано-ЦОД на Mac M4 mini

Привет! Наш Mac Mini M4 прошел путь от «нано-ЦОД» до полноценной сборочной фабрики!

В новой статье — без лишней воды — рассказываем, как мы настроили полный цикл: от кода до автоматической публикации в AppStore.

Что внутри:

Готовые конфиги Fastlane
Настройка GitLab CI/CD
Работа с секретами

И главное: почему 9 минут сборки лучше, чем 7 (да, мы ленимся оптимизировать кеш! 😅)

Читать далее

Нано-ЦОД на Mac M4 mini

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

Нано‑ЦОД на Mac M4 mini

Считали, что выгоднее: арендовать Mac для сборок или купить свой? Оказалось, что собственный Mac Mini M4 окупается всего за год и экономит 60к ежегодно!

В этом кейсе — честные цифры, настройка с ИБП для автономности, борьба с шифрованием диска и headless-режимом через плату видеозахвата, а также развертывание GitLab Runner, OrbStack и Apache Guacamole.

Читайте наш опыт: мы прошли через восстановление из кирпича и готовы поделиться лайфхаками, чтобы вы не наступали на те же грабли!

Читать далее

Интернет радио, продолжение

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

Всем привет! Приемник интернет-радио, собранный в предыдущей статье Интернет-радио на базе ESP32 и ЦАП UDA1334A , имел некоторые недостатки. А именно: были частые потери сигнала wifi, медленная и глючная работа в целом, случайные перезагрузки. Короче, он перестал меня устраивать и я решил продолжить тему проигрывателя интернет радио, но на базе другой аппаратной платформы.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

Когда .arb не тянет: как я подключаю TMS к Flutter-проекту

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

Привет! Я Роза, Flutter Dev Friflex. Недавно на CrossConf рассказывала о том, что такое система управления переводами и как подключить ее к проекту на Flutter. В этой статье — краткое сравнение популярных сервисов локализации и разбор подключения TMS по шагам.

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