TGViewer
Channel Public Channel
Flutter Pulse

Flutter Pulse

@flutterpulse

На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Subscribers
1.01K
Photos
770
Videos
0
Links
2.1K

Showing posts older than #3048 · Back to latest

Older Posts 20 shown
Post #3047 330
Flutter 3.47: что сломается и что делать до ноября

Лето выдалось интересным: стабильные релизы 3.45 и 3.46 так и не вышли, а вот 3.47 приехал 12 августа с размахом — сразу 1358 коммитов сверх версии 3.44. Но главное в этом обновлении — не новые фичи, а тихая, но масштабная переупаковка: пакеты material и cupertino официально уехали из SDK в отдельные библиотеки.

Спокойствие, не паникуем! 🧘‍♂️ На живых проектах переход с 3.44 на 3.47 проходит гладко: flutter analyze чистый, тесты зелёные, а библиотеки внутри SDK пока на месте. Депрекейт назначен на ноябрьский релиз — вот тогда и начнется настоящая миграция.

Как подготовиться? Есть одна команда, но с двумя граблями:

dart fix --apply --code=migrate_design_widgets


Обратите внимание: просто dart fix --apply эту магию не совершит — код нужно указывать явно. И будьте внимательны: в pubspec команда впишет material_ui: any. Сразу поправьте это на каретку с конкретной версией, чтобы не ловить сюрпризы при обновлении зависимостей.

А что насчет слухов про ChangeNotifier? В 3.47.2 классы на месте и не помечены как deprecated. Пакет listen — это вторая независимая реализация тех же имён, но типы несовместимы. Если передадите ValueNotifier из listen в ValueListenableBuilder, получите ошибку компиляции. Этот пакет лучше использовать для кода без Flutter: сервер, CLI или общая логика.

И еще один нюанс: Primary constructors в Dart 3.13 сами не включатся. Без указания sdk: ^3.13.0 в pubspec вас встретит ошибка experiment_not_enabled, даже если у вас стоит нужный SDK. И честно говоря, экономия бойлерплейта заметно теряет в цене, когда код пишет не человек, а нейросеть. 🤖

Остальные детали, включая Impeller по умолчанию на десктопе, поддержку iOS 15 и macOS 12, а также Wasm, я разобрал в видео.

Полную новость читайте здесь, а само видео тут

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #migration #release
  • 👍 1
  • 😱 1
Post #3046 272
🔥 Топ-6 лучших обновлённых пакетов за последние 24 часа

LocaleSweep 0.3.0
Пакет для автоматизации QA локализации в Flutter: проверяет переполнение текста, RTL-раскладку и тёмную тему. В обновлении добавлен пиксельный анализ скриншотов с генерацией диффов и детальной статистикой.
👍 Лайки: 7, 📥 Скачиваний: 208
https://pub.dev/packages/locale_sweep

better_player_plus 1.4.1
Популярный видео-плеер для Flutter. Обновление добавляет поддержку Built-in Kotlin на Android (AGP 9.0+), устраняет утечки памяти и краши на iOS, а также обновляет Android Media3 до 1.11.0.
👍 Лайки: 171, 📥 Скачиваний: 20.4К
https://pub.dev/packages/better_player_plus

permission_handler 13.0.2
Кроссплатформенный плагин для запроса разрешений в Flutter. Исправлена логика определения статуса «постоянно отклонено» на Android и обновлен подпакет permission_handler_android до 14.1.0.
👍 Лайки: 6010, 📥 Скачиваний: 3.18М
https://pub.dev/packages/permission_handler

better_auth_flutter 0.1.2
Flutter-клиент для Better Auth. Обновление обеспечивает совместимость с серверной версией 1.7, включая выделенные пакеты passkey и api-key, а также добавляет новые маршруты для управления сессиями и устройствами.
👍 Лайки: 12, 📥 Скачиваний: 157
https://pub.dev/packages/better_auth_flutter

mapbox_maps_flutter 2.30.0
Официальный пакет Mapbox для встраивания кастомизированных карт в Flutter-приложения. Поддерживает управление камерой, жесты, работу с векторными, растровыми и GeoJSON-слоями, а также офлайн-режим.
👍 Лайки: 379, 📥 Скачиваний: 113К
https://pub.dev/packages/mapbox_maps_flutter

dartssh2 4.1.0
SSH/SFTP клиент на чистом Dart. Добавлен pipelining запросов для сокращения задержек и исправлена проблема с метаданными, из-за которой пакет скрывался из поиска для веб-разработчиков.
👍 Лайки: 146, 📥 Скачиваний: 85.4К
https://pub.dev/packages/dartssh2

Поддержать канал

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #locale_sweep #better_player_plus #permission_handler #better_auth_flutter #mapbox_maps_flutter #dartssh2
Post #3044 381
async*: Магия потоков в Dart, которая экономит километры кода 🚀

Знаете это чувство, когда нужно создать кастомный поток данных, но вместо элегантного решения вы пишете бесконечные циклы, обработчики ошибок и ручное управление подписками? 😩

В свежем выпуске рубрики «Техника недели» разбирают один из самых недооценённых инструментов в арсенале Dart — оператор async*. Это не просто синтаксический сахар, а способ превратить сложную логику генерации событий в чистый, читаемый и предсказуемый код.

Представьте, что вы можете писать генераторы потоков так же легко, как обычные функции, используя привычные конструкции yield и await. Никаких лишних классов, никаких «магических» методов — только чистая логика.

Вот как это выглядит на практике:


Stream<int> generateNumbers() async* {
for (var i = 0; i < 5; i++) {
await Future.delayed(Duration(seconds: 1));
yield i;
}
}


Просто, правда? А теперь представьте, что вы делаете то же самое с классическим StreamController. Разница в читаемости колоссальная! 📈

Если вы до сих пор не освоили async*, это тот самый момент, когда стоит остановиться и разобраться. Это навык, который мгновенно поднимет уровень вашего кода на новый уровень.

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #async #streams
  • 👍 2
Post #3043 285
Обзор пакетов на тему Light Mode, Dark Mode & Themes

Theme Tailor 4.0.1
Генератор кода, который автоматизирует создание ThemeExtension в Flutter 3.0+, избавляя от рутины. Инструмент генерирует стандартные методы и расширения, позволяя сосредоточиться на логике дизайна.
👍 Лайки: 228, 📥 Скачиваний: 45.4K
📅 Обновлено: 6 дней назад
https://pub.dev/packages/theme_tailor

FlexColorScheme 8.4.0
Пакет для создания изысканных тем Material Design с минимальными усилиями, гарантируя полное соответствие цветов в ThemeData. Поддерживает генерацию палитры из seed-цветов и упрощенную настройку компонентов.
👍 Лайки: 3230, 📥 Скачиваний: 89.5K
📅 Обновлено: 9 месяцев назад
https://pub.dev/packages/flex_color_scheme

adaptive_theme 3.8.0
Самый простой способ добавить поддержку светлой и тёмной темы в Flutter. Пакет позволяет переключать темы вручную или по системным настройкам, сохраняя выбор пользователя между перезапусками.
👍 Лайки: 954, 📥 Скачиваний: 34.2K
📅 Обновлено: 20 дней назад
https://pub.dev/packages/adaptive_theme

system_theme 3.3.0
Плагин для получения акцентного цвета системной темы и отслеживания его изменений в реальном времени. Поддерживает платформы Android, iOS, Windows, macOS, Linux и Web.
👍 Лайки: 123, 📥 Скачиваний: 6.0K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/system_theme

dynamic_color 2.1.0
Пакет для автоматической генерации цветовых схем Material Design на основе настроек операционной системы. Позволяет адаптировать фирменные цвета приложения под динамическую палитру пользователя.
👍 Лайки: 637, 📥 Скачиваний: 172.0K
📅 Обновлено: 13 дней назад
https://pub.dev/packages/dynamic_color

FlexSeedScheme 5.0.1
Расширяет возможности стандартного ColorScheme.fromSeed, позволяя использовать отдельные seed-цвета для разных палитр. Поддерживает новые варианты Material-3 и настройку хроматичности в цветовом пространстве HCT.
👍 Лайки: 110, 📥 Скачиваний: 482.0K
📅 Обновлено: 3 дня назад
https://pub.dev/packages/flex_seed_scheme

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #ThemeTailor #FlexColorScheme #adaptive_theme #system_theme #dynamic_color #FlexSeedScheme
Post #3042 240
⚡️ Flutter State Management: что на самом деле быстрее?

Можно ли ускорить Flutter-приложение, просто выбрав другой state management?

Автор нового benchmark решил проверить это не на искусственном тесте, а на реальном Flutter-приложении. Результат оказался довольно неожиданным 👀

В сравнении участвовали:

• setState() — baseline
• ChangeNotifier + Provider
• Freezed + Provider + ValueNotifier
• Bloc
• Riverpod
• GetX
• Signals

🧪 Как тестировали?

Автор измерял прежде всего время build, а не искусственную скорость изменения состояния.

Для эксперимента использовалось специально подготовленное Android-устройство с контролем температуры, CPU/GPU scaling и других факторов, способных повлиять на результаты.

Тестирование продолжалось:

5 дней 2100 испытаний 300 раундов на каждый подход

Цель — понять, оказывает ли выбор state management заметное влияние на производительность UI.

---

📊 Результаты

Provider + ChangeNotifier

Практически не отличается от обычного setState().

Freezed + Provider + ValueNotifier

Тоже показывает результат примерно на уровне baseline.

А вот:

GetX → примерно +5–6 μs Riverpod → примерно +5–6 μs Signals → примерно +5–6 μs

Звучит неплохо для benchmark'а, но в реальном приложении это практически ничего.

При 120 Hz бюджет одного кадра составляет:

1 000 000 / 120 ≈ 8 333 μs

Дополнительные 6 μs — всего около 0,07% бюджета кадра.

То есть разница находится далеко за пределами того, что имеет практическое значение для пользователя.

---

🤔 А что насчёт Bloc?

Интереснее всего оказался результат Bloc.

В конкретном тесте он оказался примерно на 21 μs быстрее vanilla.

Но это вовсе не означает, что Bloc быстрее остальных.

Почему?

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

И здесь возникает важнейшая проблема benchmark'ов.

Мы можем сравнивать не state management, а архитектуру приложения.

---

🧩 Что действительно влияет?

Условно различия можно разделить на три уровня:

A — сама библиотека
Как реализована подписка и обновление состояния.

B — архитектурный подход
Насколько легко разделять состояние и ограничивать rebuild'ы.

C — стиль разработчика
Как именно конкретный человек построил widget tree.

Именно пункты B и C способны дать гораздо большую разницу, чем несколько микросекунд работы самой библиотеки.

---

🎯 Главный вывод

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

❌ Riverpod быстрее Provider
❌ Bloc быстрее GetX
❌ Signals самый быстрый
❌ setState всегда производительнее

В реальном приложении разница между популярными state management решениями оказалась настолько маленькой, что выбирать библиотеку только по performance практически бессмысленно.

Гораздо важнее:

🔥 сколько widgets rebuild'ится
🔥 насколько большой subtree перестраивается
🔥 что выполняется внутри build()
🔥 сколько времени занимают layout и paint
🔥 какие операции выполняются на UI isolate

То есть проблема обычно не в том, выбрали вы Riverpod или Provider.

Проблема в том, ЧТО именно вы заставляете Flutter перестраивать.
🚀

Источники: Оригинал новости, нашёл тут

#Flutter #Dart #FlutterDev #StateManagement #Provider #Riverpod #Bloc #GetX #Performance #FlutterPulse #FlutterPulseNews
Post #3041 291
🔥 Топ обновлённых пакетов за последние 24 часа

test_api 0.7.14
Минимальный пакет для написания тестов в Dart. Добавлена поддержка нативного CLI-компилятора для рантаймов vmAsan, vmMsan и vmTsan, а также экспорт класса TestFailure из scaffolding.dart.
👍 Лайки: 24, 📥 Скачиваний: 11.4M
https://pub.dev/packages/test_api

flutter_gen_ai_chat_ui 2.16.1
UI-кит для чатов с ИИ. Исправлена ошибка, из-за которой список сообщений «молча прыгал» вперед в начале стриминга ответа. Теперь автопрокрутка корректно удерживает позицию, не сбрасывая фиксацию (pin) при задержке.
👍 Лайки: 100, 📥 Скачиваний: 1.9K
https://pub.dev/packages/flutter_gen_ai_chat_ui

purchases_ui_flutter 10.11.0
Пакет для интеграции paywalls и Customer Center от RevenueCat в Flutter-приложения. В новой версии добавлена поддержка установки ID устройства Singular (setSingularDeviceID) для аналитики.
👍 Лайки: 88, 📥 Скачиваний: 139K
https://pub.dev/packages/purchases_ui_flutter

purchases_flutter 10.11.0
Популярный пакет для управления подписками в Flutter (RevenueCat). Добавлена поддержка метода setSingularDeviceID для интеграции с аналитикой Singular, а также внесены мелкие технические улучшения.
👍 Лайки: 913, 📥 Скачиваний: 429K
https://pub.dev/packages/purchases_flutter

grinder 0.5.7
Инструмент для автоматизации задач в Dart (сборка, тесты, деплой). Добавлены асинхронные методы, включая runProcessAsync() и PubTools.buildAsync(). Убраны дублирующиеся стек-трейсы при ошибках сборки, теперь бросается исключение, если не удается найти Dart SDK при запуске бинарных файлов.
👍 Лайки: 116, 📥 Скачиваний: 148K
https://pub.dev/packages/grinder

test 1.32.0
Стандартный пакет для тестирования в Dart. Исправлены утечки секретов и файлов при запуске браузерных и Node.js тестов. Добавлена поддержка переменных окружения DART_TEST_REPORTER, улучшена работа с компиляторами vm-asan, vm-msan, vm-tsan и исправлены гонки в сборке покрытия кода в Chrome.
👍 Лайки: 626, 📥 Скачиваний: 10.7M
https://pub.dev/packages/test

Поддержать канал

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #test_api #flutter_gen_ai_chat_ui #purchases_ui_flutter #purchases_flutter #grinder #test
  • 👍 1
Post #3038 430
VS Code стал ещё умнее для Flutter-разработчиков! 🚀

Плагин Dart Code (v3.142) получил свежее обновление, которое заметно упрощает жизнь при отладке. Главная фишка — теперь уведомления в редакторе поддерживают deep-link в DevTools.

Звучит скучно? А вот и нет! Представьте: ваш виджет переполняется (overflow), и вместо того чтобы гадать, где именно проблема, вы просто кликаете по уведомлению в VS Code — и мгновенно оказываетесь в нужном месте DevTools. Это экономит кучу времени и нервов при поиске багов в layout-ах. 🛠

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

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #ohmyflutter #vscode #devtools
  • ❤ 2
  • 🔥 1
Post #3037 303
Обзор пакетов на тему ChatGPT, LLM & Generative AI

dart_mcp 0.5.2
Пакет позволяет легко создавать серверы и клиенты для протокола Model Context Protocol (MCP) в экосистеме Dart. Он поддерживает инструменты, ресурсы, промпты и гибкую архитектуру через миксины.
👍 Лайки: 82, 📥 Скачиваний: 385K
📅 Обновлено: 2 месяца назад
https://pub.dev/packages/dart_mcp

flutter_gemma 1.7.0
Плагин позволяет запускать LLM (Gemma, Qwen, DeepSeek, Phi и др.) прямо на устройстве пользователя без необходимости подключения к серверам. Поддерживает мультимодальность, включая текст, изображения и аудио, а также работу через NPU/GPU.
👍 Лайки: 427, 📥 Скачиваний: 25.2K
📅 Обновлено: 2 дня назад
https://pub.dev/packages/flutter_gemma

dart_openai 8.0.0
Неофициальный клиент обеспечивает типизированный доступ ко всем ключевым API OpenAI, включая Chat Completions, Realtime и Batch. Пакет работает на всех платформах и поддерживает автоматические ретраи с экспоненциальным откатом.
👍 Лайки: 575, 📥 Скачиваний: 17.6K
📅 Обновлено: 8 дней назад
https://pub.dev/packages/dart_openai

firebase_ai 4.0.0
Официальный плагин для интеграции генеративных ИИ-моделей, таких как Gemini и Imagen, в Flutter-приложения. Он предоставляет прямой доступ к возможностям Firebase AI Logic.
👍 Лайки: 122, 📥 Скачиваний: 72.8K
📅 Обновлено: 8 дней назад
https://pub.dev/packages/firebase_ai

mcp_dart 2.4.1
SDK реализует полный набор функций протокола Model Context Protocol (MCP) для ролей клиента, сервера и хоста. Поддерживает актуальную спецификацию MCP 2026-07-28 с автоматическим фолбэком на предыдущие версии.
👍 Лайки: 76, 📥 Скачиваний: 264K
📅 Обновлено: 13 дней назад
https://pub.dev/packages/mcp_dart

langchain 0.9.0
Неофициальный порт популярного фреймворка LangChain для экосистемы Dart упрощает работу с языковыми моделями. Пакет предоставляет готовые компоненты для чат-ботов, RAG, агентов и суммаризации.
👍 Лайки: 301, 📥 Скачиваний: 2.8K
📅 Обновлено: 5 дней назад
https://pub.dev/packages/langchain

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #dart_mcp #flutter_gemma #dart_openai #firebase_ai #mcp_dart #langchain
Post #3036 264
🔥 Топ-6 лучших обновлённых пакетов за последние 24 часа

Katana CLI 3.25.0
CLI-инструмент для фреймворка Masamune (Flutter/Dart). Добавлены конфигурации, специфичные для окружения (dev/prod), и улучшена система управления флейворами.
👍 Лайки: 2, 📥 Скачиваний: 4.9К
https://pub.dev/packages/katana_cli

lifecycle 1.0.0
Инструмент для управления состоянием виджетов, объединяющий состояние приложения, маршруты и скролл-вьюпорты в единый неизменяемый снапшот. Полный редизайн API с отказом от старых обсерверов в пользу компонуемого дерева на базе LifecycleController и LifecycleScope.
👍 Лайки: 80, 📥 Скачиваний: 4.1К
https://pub.dev/packages/lifecycle

Ack 1.2.0
Библиотека schema validation для Dart/Flutter. Введен AckModelAdapter для генерируемых моделей, добавлена возможность валидации с сохранением исходного значения (Ack.preserveBoundary) и улучшена обработка ошибок на нативных и веб-платформах.
👍 Лайки: 57, 📥 Скачиваний: 1.2К
https://pub.dev/packages/ack

sqflite_tizen 0.1.6
Реализация SQLite для платформы Tizen. Обновление для поддержки Flutter 3.44 и Dart 3.12, а также обновление зависимости sqflite до версии 2.4.3.
👍 Лайки: 1, 📥 Скачиваний: 5.4К
https://pub.dev/packages/sqflite_tizen

not_static_icons 0.53.0
Пакет для добавления плавных анимаций иконок (на базе Lucide) без использования Rive или Lottie. В релизе добавлено 53 новых иконки с уникальными анимациями, включая семейства gallery, gamepad, Git, globe, grid и grip.
👍 Лайки: 52, 📥 Скачиваний: 1.3К
https://pub.dev/packages/not_static_icons

Saropa Lints 15.2.8
Пакет для поиска утечек памяти и ошибок рантайма, которые пропускают стандартные линтеры. Реализована «осведомленная о стоимости» система сброса правил при высокой нагрузке на память: отключаются ресурсоемкие правила, а в панели конфигурации появился раздел «Shed rules» с пояснениями.
👍 Лайки: 10, 📥 Скачиваний: 6.6К
https://pub.dev/packages/saropa_lints

Поддержать канал

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #katana_cli #lifecycle #ack #sqflite_tizen #not_static_icons #saropa_lints
  • ❤ 1
Post #3034 299
👣 Primary constructors в Dart: почему путь к простоте был таким сложным?

В Dart 3.13 наконец-то появилась долгожданная фича — primary constructors. Теперь можно объявить класс с полями и конструктором буквально в одну строку. Звучит просто, правда? Но за этим «сахаром» стоит история долгих споров и компромиссов.

Боб Нюстром (Bob Nystrom) подробно разобрал, через что пришлось пройти команде языка. Давайте выделим самое интересное 🧐

Зачем вообще нужен синтаксический сахар?
Он не добавляет новых возможностей, но оправдан в трех случаях:
🔹 Когда новый способ объективно лучше старого (как отмена обязательного
new

в Dart 2.0).
🔹 Когда он сильно упрощает частые сценарии (как появление настоящих
enum

).
🔹 Когда делает намерение кода более явным.

Главная боль: «Синтаксический клиф»
Представьте: вы написали класс через primary constructor, а потом захотели добавить логику в конструктор. Если синтаксис не позволяет добавить тело, вам придется переписывать всё на старый, многострочный вариант. Это и есть клиф — резкий обрыв удобства.

Чтобы этого избежать, в Dart добавили блоки
this { ... }

. Теперь можно расширить primary constructor, не ломая структуру:
class FormatterOptions(
  final int indent = 0,
  final int pageWidth = 80,
) {
  this {
    log.write('Created options.');
  }
}

И еще одна приятная мелочь: ключевое слово
new

Раньше для именованных конструкторов нужно было повторять имя класса. Если имя длинное — это боль. Теперь можно использовать
new

:
class LongClassName {
  new(); // безымянный
  new create(); // именованный
}

Для фабрик тоже стало короче:
class AnotherLongClass {
  factory () { ... }
  factory create() { ... }
}

Это не просто экономия символов. Это решение проблем с
typedef

и расширениями, где имя класса не всегда доступно.

💡 Итог
Primary constructors — это пример того, как язык может развиваться эволюционно. Команда Dart не просто добавила фичу, а продумала защиту от будущих проблем. Код стал чище, а работа с ним — приятнее.

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #code #dev
  • 👍 1
Post #3033 248
Обзор пакетов на тему Cloud Storage & Cloud Database

firebase_database 12.5.0
Официальный плагин для работы с API Firebase Database в приложениях на Flutter.
👍 Лайки: 650, 📥 Скачиваний: 176K
📅 Обновлено: 7 дней назад
https://pub.dev/packages/firebase_database

tostore 3.1.2
Современный движок данных для сценариев edge-интеллекта и распределенных систем. Он объединяет реляционные данные, векторный поиск и неструктурированную информацию в едином API.
👍 Лайки: 141, 📥 Скачиваний: 853K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/tostore

firebase_storage 13.5.0
Плагин для Flutter, обеспечивающий доступ к Firebase Cloud Storage.
👍 Лайки: 1770, 📥 Скачиваний: 660K
📅 Обновлено: 7 дней назад
https://pub.dev/packages/firebase_storage

cloud_firestore_web 5.7.3
Web-реализация Cloud Firestore для Flutter. Позволяет работать с облачной базой данных Firebase прямо в браузере.
👍 Лайки: 45, 📥 Скачиваний: 1.18M
📅 Обновлено: 7 дней назад
https://pub.dev/packages/cloud_firestore_web

cloud_firestore 6.9.0
Официальный плагин для работы с облачной базой данных Firebase.
👍 Лайки: 3780, 📥 Скачиваний: 1.15M
📅 Обновлено: 7 дней назад
https://pub.dev/packages/cloud_firestore

supabase_flutter 2.17.2
Официальный клиент Supabase для Flutter. Позволяет легко интегрировать аутентификацию, работу с базой данных, Realtime-события и хранилище файлов в ваше мобильное приложение.
👍 Лайки: 976, 📥 Скачиваний: 839K
📅 Обновлено: 17 дней назад
https://pub.dev/packages/supabase_flutter

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #firebase_database #tostore #firebase_storage #cloud_firestore_web #cloud_firestore #supabase_flutter
Post #3032 302
Миграция Flutter iOS CI/CD на Xcode Cloud: как сэкономить 10x и избавиться от боли с сертификатами 🚀

Долгое время iOS-сборки в GitHub Actions были «черной дырой» бюджета: минута на macOS-раннере съедает 10 минут квоты (или стоит в 10 раз дороже Linux). Старый пайплайн на 90 строк YAML требовал ручного управления 6 секретами, профилями и ключами — хрупко, больно и дорого. 😭

Решение — переезд на Xcode Cloud. И это гейм-чейнджер: 25 часов compute-времени в месяц уже входят в стандартную подписку Apple Developer Program ($99/год). Релиз теперь стоит 0 минут GitHub Actions и всего ~6 минут оплачиваемого времени Apple. 💸

Главные плюсы, за которые стоит сказать «спасибо»:
✅ Managed Signing — Apple сама управляет подписью. Никаких keychain, base64, правок pbxproj и секретов в репозитории.
✅ Доставка в TestFlight настраивается галочкой в UI, без API-ключей.
✅ Кастомизация через три shell-скрипта в папке ci_scripts (post-clone, pre-xcodebuild, post-xcodebuild): ставим Flutter, проверяем версию в теге vs pubspec.yaml, генерируем Generated.xcconfig, шлём уведомления в Telegram. 🤖

Есть и минус: конфигурация уходит из Git в веб-интерфейс App Store Connect (No code-as-config). Лечится обязательным ранбуком (документацией с датой) в репозитории, иначе пайплайн превращается в «фольклор». 📝

Триггеры разделили префиксами тегов: ios/v* — Xcode Cloud, android/v* — GitHub Actions. Обычный v* ничего не запускает — защита от случайных затрат. 🛡

Путь первого успешного билда пролегал через 7 кругов ада за 6 коммитов (ни одна ошибка не была виной дизайна миграции!):
1️⃣ Права доступа к репо — помогло переключение на «New Primary Repository».
2️⃣ Устаревший Flutter тянул старый intl (на Android замаскировалось).
3️⃣ Swift Package Manager требует закоммиченный Package.resolved — пришлось откатиться на CocoaPods.
4️⃣ Ошибка «specs repository is too out-of-date» — ложный след.
5️⃣ Настоящая причина — конфликт Ruby: системный 2.6 не видел xcodeproj из Homebrew. Лечится gem install --user-install xcodeproj. 💎
6️⃣ Двойной pod install (flutter build --config-only уже делает это сам).
7️⃣ Застарелый Podfile.lock (4 месяца!) — версии нативных SDK расходились с pubspec.lock. Локально тоже было сломано! 🤯

💡 Главный урок: CI, который не запускаешь регулярно, не находит ошибки. Ошибка CocoaPods «too out-of-date» почти всегда вводит в заблуждение — смотрите логи выше!

📊 Итоговые замеры:
⏱️ Wall-clock: 10 мин (оценка 15).
⚡️ Compute-time: 6 мин (оценка 15).
📈 Экономия: было ~45 мин GH Actions → стало 0. Запас релизов в месяц вырос с ~100 до ~250. Xcode Cloud тарифицирует CPU-время, а не ожидание сети!

Читать здесь: полная статья на Хабре

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #flutterpulsehabr #ci_cd #xcodecloud #iosdev
Post #3031 262
🔥 Топ обновлённых пакетов за последние 24 часа

wakelock_plus 1.8.0
Популярный пакет для Flutter, позволяющий удерживать экран устройства включенным (предотвращать засыпание). Поддерживает Android, iOS, Web, macOS, Windows и Linux. В новой версии добавлена поддержка tvOS, обновлена совместимость с Flutter 3.47 и исправлены требования к платформе iOS в SPM.
👍 Лайки: 641, 📥 Скачиваний: 2.15M
https://pub.dev/packages/wakelock_plus

phone_numbers_parser 9.0.26
Dart-библиотека для парсинга телефонных номеров. Пакет поддерживает валидацию, форматирование и поиск номеров в тексте на всех платформах без необходимости настройки каналов. Обновление метаданных.
👍 Лайки: 274, 📥 Скачиваний: 286К
https://pub.dev/packages/phone_numbers_parser

jni_flutter 1.0.3
Библиотека для доступа к Android API Flutter из Dart. В новой версии обновлена версия Kotlin в примерах.
👍 Лайки: 16, 📥 Скачиваний: 4.25M
https://pub.dev/packages/jni_flutter

liquid_glass_widgets 1.2.3
Пакет для добавления фирменного эффекта «жидкого стекла» из iOS 26 в Flutter-приложения: реальный шейдерный блюр, физика «желе» и динамическое освещение. Исправлен баг в GlassTabBar.minimizable и выделен виджет MinimizableTrailingPill для единообразной физики анимаций.
👍 Лайки: 246, 📥 Скачиваний: 53.5К
https://pub.dev/packages/liquid_glass_widgets

sherpa-onnx 1.13.7
Обновление расширяет поддержку платформ: теперь Rust доступен на iOS и Windows ARM64. Также добавлены исправления для Flutter (iOS, APK) и улучшена стабильность ASR-моделей (Qwen3, Whisper).
👍 Лайки: 120, 📥 Скачиваний: 43.6К
https://pub.dev/packages/sherpa-onnx

Chewie 1.16.1
Популярный видео-плеер для Flutter. В новой версии добавлена опция showPlayButton в ChewieController, позволяющая программно скрывать или показывать центральную кнопку воспроизведения.
👍 Лайки: 2.3К, 📥 Скачиваний: 749К
https://pub.dev/packages/chewie

Поддержать канал

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #wakelock_plus #phone_numbers_parser #jni_flutter #liquid_glass_widgets #sherpa-onnx #chewie
  • 👍 2
Post #3029 266
Летний перерыв заканчивается! С сегодняшнего дня регулярные рубрики возобновятся!
  • 🔥 4
Post #3028 317
Новые пакеты за неделю

LocaleSweep
Автоматизированный QA локализации для Flutter. Генерирует скриншоты для всех комбинаций языков, масштабов текста и размеров экранов, выявляя переполнения, отсутствующие ключи ARB и ошибки RTL-раскладки до релиза.
👍 Лайки: 3, 📥 Скачиваний: 0
https://pub.dev/packages/locale_sweep

prithbrokenicons
Кроссплатформенный набор из 904 иконок для Flutter (Android, iOS, Web, Windows, macOS, Linux). Чистый Dart без нативных зависимостей, два стиля: outline и filled, нулевые рантайм-зависимости.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/prithbrokenicons

flutter_cockpit_test
Интеграционные тесты Flutter с реальным движком Cockpit. Расширяет стандартный integration_test, добавляя точные селекторы, реальные hit-tested жесты, скриншоты и контроль вьюпорта. Идеально для dev-шеллов, уже использующих Cockpit.
👍 Лайки: 1, 📥 Скачиваний: 213
https://pub.dev/packages/flutter_cockpit_test

haudiotagger
Rust-движок для работы с аудио-метаданными в Flutter. Позволяет читать, писать и редактировать теги (ID3, Vorbis, APE и др.) на всех платформах. Поддерживает частичное обновление полей, пакетную обработку с прогрессом, ReplayGain и кастомные теги. Высокая производительность благодаря Rust (lofty + flutter_rust_bridge).
👍 Лайки: 6, 📥 Скачиваний: 650
https://pub.dev/packages/haudiotagger

mermaid_flutter
Диаграммы Mermaid нативно в Flutter. Позволяет рендерить диаграммы прямо в приложениях без использования SVG, WebViews или platform views. Использует mermaid_core для парсинга и CustomPainter для отрисовки. Поддержка тем, интерактивного просмотра (панорамирование, зум) и обработки ошибок.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/mermaid_flutter

smooth_window_close
Плавное закрытие для Flutter Windows. Решает проблему «зависшего» последнего кадра при выходе из десктопных приложений. Сначала скрывает окно, затем выполняет асинхронное сохранение состояния и очистку ресурсов (БД, сокеты, трей), и только после этого завершает работу. Поддерживает режим «свернуть в трей» без дополнительных зависимостей.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/smooth_window_close

Поддержать канал

FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #locale_sweep #prithbrokenicons #flutter_cockpit_test #haudiotagger #mermaid_flutter #smooth_window_close
  • 🔥 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →