Flutter Pulse
1.01K subscribers
770 photos
1 file
2.07K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
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
🔥 Топ-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
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
🔥 Топ обновлённых пакетов за последние 24 часа

motion_tab_bar_v2 3.0.0
Плагин для Flutter, который позволяет использовать анимированную нижнюю навигационную панель. Добавлена полная документация API, юнит-тесты и CI-процессы. Исправлены конфликты имён библиотек, удалена неиспользуемая зависимость vector_math, а пример приложения приведён в соответствие с последними стандартами SDK.
👍 Лайки: 95, 📥 Скачиваний: 462
https://pub.dev/packages/motion_tab_bar_v2

lint 2.14.0
Плагин для Flutter, который позволяет использовать популярный набор правил линтинга для Dart/Flutter. Требует Dart 3.13+. Включены новые правила: async_return_with_no_await, empty_container_bodies, initialize_in_field_declaration, unnecessary_const_in_enum_constructor, unnecessary_primary_constructor_body, unnecessary_type_name_in_constructor, use_declaring_parameters, use_primary_constructors. Отключено правило avoid_private_typedef_functions (для strict/package).
👍 Лайки: 863, 📥 Скачиваний: 204К
https://pub.dev/packages/lint

Serverpod Database 4.0.0-rc.2
Плагин для Flutter, который позволяет использовать внутреннее ядро Serverpod. Поддержка перехода к моделям по Ctrl/Cmd+Click в VS Code. Автообновление и перезапуск scloud при вызове из serverpod cloud. Новый пакет serverpod_cloud_storage для нативной поддержки Serverpod Cloud. Генерация списков синхронизации и сессий для моделей database: sync. Исправления ошибок десериализации, работы с TTY и сигналов процесса.
👍 Лайки: 0, 📥 Скачиваний: 15.4К
https://pub.dev/packages/serverpod_database

flutter_octicons 1.79.0
Плагин для Flutter, который позволяет использовать иконки Octicons. Обновлены иконки до актуальной версии из репозитория GitHub. Пакет автоматически синхронизируется с upstream каждый вечер, чтобы вы всегда использовали свежие значки.
👍 Лайки: 8, 📥 Скачиваний: 708
https://pub.dev/packages/flutter_octicons

lucide_icons_flutter 3.1.18
Плагин для Flutter, который позволяет использовать популярный набор иконок Lucide. В новой версии Lucide 1.40.0 добавлены иконки: can, bridge, shrimp-off, shopping-cart-plus / shopping-cart-minus, lighthouse.
👍 Лайки: 201, 📥 Скачиваний: 167К
https://pub.dev/packages/lucide_icons_flutter

zikzak_inappwebview 5.3.2
Плагин для Flutter, который позволяет использовать встроенный веб-браузер. Вышел фикс для Windows: добавлен недостающий импорт kDebugMode, устраняющий ошибку сборки, возникшую в версии 5.3.1.
👍 Лайки: 31, 📥 Скачиваний: 2.9К
https://pub.dev/packages/zikzak_inappwebview

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

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #motion_tab_bar_v2 #lint #serverpod_database #flutter_octicons #lucide_icons_flutter #zikzak_inappwebview
👍1
🔥 Топ обновлённых пакетов за последние 24 часа

bluesky 2.8.3
Библиотека для полного доступа к API Bluesky Social (ленты, профили, чаты, модерация Ozone) поверх AT Protocol. Добавлена поддержка новых эндпоинтов: app.bsky.actor.defs#interestsPref.updatedAt и tools.ozone.moderation.getAccountPreferences.
👍 Лайки: 31, 📥 Скачиваний: 6.5К
https://pub.dev/packages/bluesky

FForm 5.2.7
Высокоуровневый инструмент для создания и валидации форм в Flutter. Удалена нерабочая ссылка на Patreon (страница возвращала 404) и обновлены бейджи в README.
👍 Лайки: 183, 📥 Скачиваний: 121
https://pub.dev/packages/fform

pin_input_text_field 4.5.3
Популярный пакет для создания PIN-полей в Flutter. Добавлена адаптация под Dart 3 и исправлена совместимость со стабильным Flutter 3.47. Также улучшена настройка отступов для текста ошибок валидации и исправлена передача параметров тулбара.
👍 Лайки: 159, 📥 Скачиваний: 225К
https://pub.dev/packages/pin_input_text_field

opal 0.2.6
Dart-пакет для токенизации и подсветки синтаксиса. Требуется Dart 3.10+. Добавлена базовая поддержка Mermaid (flowcharts, sequence diagrams), улучшена точность подсветки JSON и обработка комментариев, исправлены edge cases в CSS.
👍 Лайки: 2, 📥 Скачиваний: 7.0К
https://pub.dev/packages/opal

audio_flux 2.0.0
Универсальный инструмент для визуализации аудио в реальном времени в Flutter (осциллограммы, спектры частот FFT, кастомные GPU-эффекты). Обновлены зависимости flutter_soloud (до 5.0.2) и flutter_recorder (до 2.0.3). Новый подход к захвату аудио обеспечивает более высокую производительность, но содержит breaking changes.
👍 Лайки: 45, 📥 Скачиваний: 77
https://pub.dev/packages/audio_flux

SINT 1.6.2
Специализированный фреймворк для Flutter, объединяющий управление состоянием, DI, навигацию и переводы. Исправлены ошибки при удалении слушателей, улучшена очистка ресурсов Rx, усиlena типизация в DI и оптимизирована очистка зависимостей маршрутов. Требуется Flutter >= 3.32 / Dart >= 3.8.
👍 Лайки: 22, 📥 Скачиваний: 211
https://pub.dev/packages/sint

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

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

#bluesky #FForm #pin_input_text_field #opal #audio_flux #SINT #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
❤1
Обзор пакетов на тему Device Utilities

wakelock_plus 1.8.0
Популярный Flutter-плагин для предотвращения автоматического отключения экрана. Поддерживает Android, iOS, Web, macOS, Windows и Linux без необходимости запроса специальных разрешений.
👍 Лайки: 642, 📥 Скачиваний: 2.25M
📅 Обновлено: 5 дней назад
https://pub.dev/packages/wakelock_plus

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

super_clipboard 0.9.1
Обеспечивает комплексный доступ к буферу обмена для Flutter, поддерживая macOS, iOS, Android, Windows, Linux и Web. Позволяет работать со стандартными и кастомными форматами данных, включая ленивое предоставление информации.
👍 Лайки: 257, 📥 Скачиваний: 169K
📅 Обновлено: 15 месяцев назад
https://pub.dev/packages/super_clipboard

flutter_volume_controller 2.0.2
Плагин для управления системной и медиа-громкостью, а также отслеживания изменений уровня звука. Поддерживает Android, iOS, macOS, Windows, Linux и HarmonyOS.
👍 Лайки: 76, 📥 Скачиваний: 77K
📅 Обновлено: 19 дней назад
https://pub.dev/packages/flutter_volume_controller

battery_plus 7.1.1
Универсальный плагин для получения данных о заряде батареи и состоянии устройства, включая режимы зарядки и экономии энергии. Поддерживает Android, iOS, macOS, Web, Linux и Windows.
👍 Лайки: 562, 📥 Скачиваний: 388K
📅 Обновлено: 53 дня назад
https://pub.dev/packages/battery_plus

device_info_plus 13.2.0
Популярный пакет для получения информации о устройстве, такой как модель, ОС и браузер. Работает на всех платформах: Android, iOS, macOS, Web, Linux и Windows.
👍 Лайки: 3040, 📥 Скачиваний: 3.86M
📅 Обновлено: 2 месяца назад
https://pub.dev/packages/device_info_plus

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

#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #wakelock_plus #pasteboard #super_clipboard #flutter_volume_controller #battery_plus #device_info_plus
🔥 Топ-6 обновлённых пакетов за последние 24 часа

Bonfire 4.0
Инструмент для создания RPG-игр на базе FlameEngine. Мажорный релиз переработал API: миксины заменены именованными объектами, упрощена система движения, добавлены деревья поведения и улучшена система коллизий.
👍 Лайки: 511, 📥 Скачиваний: 3.6К
https://pub.dev/packages/bonfire

smooth_sheets 1.2.0
Решение для создания модальных и персистентных шторок с плавными анимациями и поддержкой вложенной навигации. Исправлены критические ошибки в зависимом пакете navigator_resizable (краши при переходах маршрутов), минимальная версия Flutter SDK повышена до 3.41.0.
👍 Лайки: 655, 📥 Скачиваний: 108К
https://pub.dev/packages/smooth_sheets

app_badge_plus 1.3.5
Плагин для добавления бейджей на иконки приложений (iOS, macOS, Android). Исправлена ошибка в имени разрешения CHANGE_BADGE для Honor (убран лишний пробел).
👍 Лайки: 165, 📥 Скачиваний: 304К
https://pub.dev/packages/app_badge_plus

flutter_foreground_task 11.0.3
Плагин для реализации фоновых сервисов в Flutter (Android/iOS): выполнение повторяющихся задач и двусторонняя связь с UI. Исправлена проблема на iOS: Objective-C shim теперь корректно включается в source_files podspec и компилируется под CocoaPods.
👍 Лайки: 581, 📥 Скачиваний: 189К
https://pub.dev/packages/flutter_foreground_task

lucide_icons_flutter 3.1.19
Популярный пакет иконок для Flutter. Включено tree shaking для шрифтов (уменьшение размера приложения), добавлены новые иконки (germ, virus, engine и др.), исправлены существующие (leaf, trash).
👍 Лайки: 201, 📥 Скачиваний: 176К
https://pub.dev/packages/lucide_icons_flutter

native_device_orientation 2.1.3
Плагин для точного определения ориентации устройства (включая различие между «альбомной» левой и правой стороной). Исправлена обработка null-событий датчика ориентации в Android-колбэках.
👍 Лайки: 150, 📥 Скачиваний: 164К
https://pub.dev/packages/native_device_orientation

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

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #bonfire #smooth_sheets #app_badge_plus #flutter_foreground_task #lucide_icons_flutter #native_device_orientation
Flutter в салоне Toyota RAV4 2026: это не концепт, а реальность! 🚗💨

Друзья, пора забыть стереотипы о том, что Flutter — это только про мобильные приложения. Японский автогигант официально подтвердил: мультимедийная система в новых Toyota RAV4 и Lexus ES написана именно на Flutter. И это не демо-стенд для выставки, а серийный продукт, который можно пощупать прямо сейчас! 🤯

Команда Flutter поделилась деталями этого амбициозного кейса, и вот что там интересного:

🟢 Собственный стек: Toyota разработала собственный embedder и плагины, адаптированные под специфические автомобильные функции.
🟢 Экономика выбора: Многие автомобильные платформы закрыты и дороги. Flutter, будучи open source, выиграл в том числе по бюджету.
🟢 Любимый пакет: Из экосистемы
pub.dev

отдельно отметили пакет
provider

.
🟢 Скорость итераций: Раньше на внесение обратной связи в код уходили годы. Теперь команда может начать работу с кодовой базой уже на следующий день! ⚡
🟢 Глобальная команда: Разработчики из Северной Америки, Европы и Японии работают над единой кодовой базой.
🟢 Гибкость и масштаб: Flutter позволил эффективно работать с разным оборудованием, а система уже готова к расширению на будущие модели.

P.S. Под капотом интерфейса работают Automotive Grade Linux и Arene SDK от Woven by Toyota, а Flutter отвечает за рендеринг экрана.

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #DiaryFlutterDev #automotive #opensource
🗑️ Как Dart убирает мусор в старом поколении: Mark-Sweep vs Mark-Compact

Знаете, почему иногда приложение на Flutter «подвисает» на пару сотен миллисекунд? Чаще всего виноват не ваш код, а сборщик мусора, который устраивает генеральную уборку в старом поколении 🧹 В отличие от молодого поколения, где объекты просто копируются, здесь всё серьезнее: живых объектов много, копировать их дорого, а памяти под «вторую половину» жаба не даст.

Поэтому Dart использует классический двухфазный алгоритм Mark-Sweep:
1️⃣ Mark (Пометка): GC обходит граф от корней (стек, глобальные переменные) и ставит «галочку» в заголовке каждого достижимого объекта.
2️⃣ Sweep (Очистка): Проходит по памяти. Непомеченные → в список свободных блоков (free list). Помеченные → сброс бита. Пустые страницы → возвращаются ОС.

⚠️ Но есть подвох! После Sweep память превращается в «дырявый сыр» 🧀 — фрагментация не позволяет выделить под большой объект кусок памяти, хотя суммарно места хватает.

На помощь приходит Mark-Compact 🚀 При сильной фрагментации живые объекты аккуратно сдвигаются к началу кучи, сливаясь в один монолит. А чтобы не сломать ссылки, используется таблица пересылки (forwarding table) — она быстро вычисляет новый адрес по смещению внутри блока.

💡 Главный вывод для нас, разработчиков: те самые заметные паузы в DevTools — это почти всегда работа со старым поколением. Чем больше у вас долгоживущих объектов (кэши, неочищаемые листы, разросшиеся стейты), тем дольше GC будет «компактировать» кучу.

В следующей части разберем, как движок спасает нас от фризов с помощью Concurrent Marking, барьеров записи и финализаторов. Оставайтесь на связи! 👇

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

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

#flutter #dart #flutterpulse #flutterpulsehabr #garbagecollection #performance #memorymanagement
Обновлённые пакеты за последние 24 часа

adaptive_dialog 2.8.1
Пакет для создания адаптивных диалоговых окон под iOS и Android. Добавлена поддержка AI Agent Skill и исправлены ошибки в рекурсивных вызовах showTextAnswerDialog.
👍 Лайки: 1080, 📥 Скачиваний: 23.4K
https://pub.dev/packages/adaptive_dialog

flutter_textfield_search 0.2.0
Лёгкий пакет для превращения TextField в поле поиска с выбором значения из списка. Реализована базовая функциональность: поиск по статическому списку и настройка метки.
👍 Лайки: 140, 📥 Скачиваний: 2210
https://pub.dev/packages/flutter_textfield_search

bloc_provider 1.0.1
Пакет для управления жизненным циклом BLoC в Flutter. Доступен AI Agent Skill и исправлены проблемы статического анализа.
👍 Лайки: 25, 📥 Скачиваний: 4130
https://pub.dev/packages/bloc_provider

barcode_scan2 4.8.2
Плагин для сканирования QR-кодов и 2D-штрих-кодов. Добавлена поддержка AI Agent Skill и исправлено предупреждение unawaited_futures.
👍 Лайки: 306, 📥 Скачиваний: 21.4K
https://pub.dev/packages/barcode_scan2

simple_logger 1.10.1
Пакет для логирования в Dart/Flutter. Добавлен AI Agent Skill, уточнены типы свойств и исправлены проблемы статического анализа.
👍 Лайки: 100, 📥 Скачиваний: 10.4K
https://pub.dev/packages/simple_logger

firestore_ref 0.16.1
Типобезопасная обёртка для Firestore с поддержкой Web. Добавлен AI Agent Skill, заменены устаревшие @required, рекурсивный deleteAll работает с await, исправлены проблемы анализатора.
👍 Лайки: 25, 📥 Скачиваний: 374
https://pub.dev/packages/firestore_ref

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

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

#adaptive_dialog #flutter_textfield_search #bloc_provider #barcode_scan2 #simple_logger #firestore_ref #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Многооконные приложения на Flutter? Это официально! 🚀

Друзья, кажется, эпоха, когда Flutter был «только для одного окна», подходит к концу. Matthew Kosarek представил новый Desktop Windowing API, который открывает двери для создания полноценных многооконных десктопных приложений. 🖥✨

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

Если вы давно мечтали о таком функционале или просто любите следить за развитием фреймворка — это к вам.

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #ohmyflutter #desktop #api
🔥7
Обзор пакетов на тему Game Development

flame_audio 2.12.2
Добавляет поддержку звука в игры на Flame, используя пакет audioplayers. Это позволяет легко воспроизводить фоновую музыку, звуковые эффекты и управлять кэшированием аудиофайлов.
👍 Лайки: 109, 📥 Скачиваний: 32.3K
📅 Обновлено: 51 days ago
https://pub.dev/packages/flame_audio

games_services 5.3.0
Flutter-плагин для поддержки сервисов Game Center и Google Play Games.
👍 Лайки: 177, 📥 Скачиваний: 11.8K
📅 Обновлено: 37 days ago
https://pub.dev/packages/games_services

bonfire 4.0.0
Мощный пакет для создания RPG-игр на базе Flame, предлагающий готовые компоненты для персонажей, карт, боя и искусственного интеллекта. В новой версии API переработан для улучшения опыта разработки, включая систему миксинов с паттерном WithFeature и новые деревья поведения.
👍 Лайки: 511, 📥 Скачиваний: 3.6K
📅 Обновлено: 2 days ago
https://pub.dev/packages/bonfire

rive 0.14.11
Runtime-библиотека для инструмента интерактивного дизайна Rive. Позволяет полностью контролировать файлы Rive в ваших Flutter-приложениях и играх.
👍 Лайки: 1.9K, 📥 Скачиваний: 434K
📅 Обновлено: 36 days ago
https://pub.dev/packages/rive

flame 1.38.2
Игровой движок на базе Flutter, предоставляющий игровой цикл, систему компонентов, обработку коллизий и ввода. Пакет также поддерживает интеграцию с внешними библиотеками для звука, физики и анимаций через официальные bridge-пакеты.
👍 Лайки: 2.3K, 📥 Скачиваний: 125K
📅 Обновлено: 12 days ago
https://pub.dev/packages/flame

forge2d 0.15.1
Предоставляет идиоматичный Dart API для нативного физического движка Box2D v3, позволяя запускать симуляции на полной скорости через dart:ffi. Пакет поддерживает все основные платформы, включая Web, где работает на базе WebAssembly.
👍 Лайки: 138, 📥 Скачиваний: 6.1K
📅 Обновлено: 28 days ago
https://pub.dev/packages/forge2d

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #flame_audio #games_services #bonfire #rive #flame #forge2d
👏1
Свет в конце пайплайна: 3D-движок на чистом Dart (+gpu)

flutter3d — это полноценный 3D-движок, написанный на чистом Dart. Никакого FFI, никаких нативных библиотек для физики или звука. Всё работает через новый API Flutter GPU, который дает прямой доступ к Metal и Vulkan. Проект уже включает физику, коллизии, аудио-микшер и три играбельные игры, доступные прямо в браузере.

Архитектура построена вокруг слоя аппаратной абстракции (HAL). Это позволяет использовать три взаимозаменяемых бэкенда: Impeller (основной, через Flutter GPU), WebGL2 (для веба) и CPU-растеризатор (чистый Dart без GPU). Последний бэкенд служит эталоном: он позволяет запускать попиксельные тесты в CI без видеокарты, что выявило ошибку в WebGL-бэкенде, где 19% пикселей расходились с эталоном.

⚠️ Flutter GPU накладывает жесткие ограничения. Нет рантайм-компиляции шейдеров — все материалы должны быть известны на этапе сборки. Нельзя сэмплировать depth-текстуры, поэтому карты теней записываются в цветовые буферы. Также есть проблема «stale bindings»: при смене пайплайна старые привязки могут вызывать визуальные артефакты, что решается принудительной очисткой состояния.

💡 Инженерные решения здесь впечатляют. Вместо dirty-флагов используется версионирование трансформаций, что исключает ошибки при обновлении матриц. Горячий цикл кадра оптимизирован под сборщик мусора Dart: нет обхода дерева сцены, списки отрисовки переиспользуются, а ключи сортировки хранятся в типизированных массивах.

⚡️ Производительность на высоте. Десктопный шутер с шестью источниками света, PBR-материалами и эффектом bloom держит 120 FPS даже в debug-сборке на ноутбуке. Реализованы каскадные карты теней, HDR-конвейер с bloom и детерминированная симуляция с фиксированным шагом.

🎮 Практическое применение уже доказано. Игра Coin Climb написана всего на ~600 строк кода, из которых 36 строк — это описание уровня в JSON. Жанровая механика (двойной прыжок, coyote time) вынесена в отдельные пакеты, что позволяет создавать игры без изменения ядра движка.

Проект находится на версии 0.4.0 и активно ищет вкладчиков. Приоритетны новые жанровые пакеты и тестирование на разных GPU. Если вы хотите писать 3D-игры на Dart без выхода за пределы экосистемы Flutter — это стоит попробовать.

🔗 Полезные ссылки
flutter3d на pub.dev
Исходный код на GitHub
Документация и пакеты

🔗 Полезные ссылки
📦 flutter3d
💻 coin_climb
💻 flutter3d
📚 pleion.dev

📰 Читать оригинал на Habr

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

#flutter #dart #flutterpulse #flutterpulsehabr
❤2
Обновлённые пакеты за последние 24 часа

flutter_baidu_mapapi_map 4.0.2
Плагин для интеграции карт Baidu в Flutter-приложения. Обновлены Android SDK до 8.2.0 и iOS SDK до 7.2.0, устранены лаги при отображении кластеров точек на iOS.
👍 Лайки: 38, 📥 Скачиваний: 5.7K
https://pub.dev/packages/flutter_baidu_mapapi_map

flutter_baidu_mapapi_search 4.0.2
Плагин для интеграции поискового API карт Baidu в Flutter-приложения. Обновлены Android SDK до 8.2.0 и iOS SDK до 7.2.0, исправлены лаги при кластеризации точек на iOS.
👍 Лайки: 17, 📥 Скачиваний: 404
https://pub.dev/packages/flutter_baidu_mapapi_search

flutter_contacts 2.5.0
Плагин для работы с контактами в Flutter. Методы update() и updateAll() теперь явно бросают ошибку read_only_contact при попытке изменить данные, управляемые синхронизацией.
👍 Лайки: 497, 📥 Скачиваний: 247K
https://pub.dev/packages/flutter_contacts

background_downloader 9.6.1
Кроссплатформенный плагин для фоновой загрузки и отправки файлов. Добавлены нативные iOS-хуки для отслеживания статуса задач, усилены ограничения Wi-Fi на Android и оптимизирована производительность на iOS.
👍 Лайки: 501, 📥 Скачиваний: 211K
https://pub.dev/packages/background_downloader

dart_flutter_version 1.0.53
Пакет для получения версий Dart и Flutter SDK во время выполнения. Обновлена таблица соответствий версий: добавлена связка Dart 3.13.3 и Flutter 3.47.3.
👍 Лайки: 10, 📥 Скачиваний: 28.4K
https://pub.dev/packages/dart_flutter_version

open_route_service 1.2.9
Dart/Flutter-клиент для OpenRouteService API. Добавлена поддержка Agent Skill для автоматической установки правил использования пакета AI-агентами.
👍 Лайки: 90, 📥 Скачиваний: 1.8K
https://pub.dev/packages/open_route_service

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

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

#flutter_baidu_mapapi_map #flutter_baidu_mapapi_search #flutter_contacts #background_downloader #dart_flutter_version #open_route_service #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Конец эпохи ручного копирования: Skills CLI 1.0 официально здесь! 🚀

Команда Dart сделала огромный шаг навстречу интеграции ИИ в наш рабочий процесс. Вышел релиз
skills

— CLI-тулзы, которая позволяет упаковывать и распространять скиллы для AI-агентов прямо внутри ваших пакетов.

Знаете, как раньше? Чтобы добавить скилл, приходилось либо вручную копировать файлы из чужих гит-репозиториев, либо тащить в чистый Dart-проект Node.js ради одной команды
npx skills

. Звучит знакомо? 😩

Теперь всё стало элегантно и нативно:
1. Автор пакета просто кладёт файл
SKILL.md

в папку
skills/

.
2. Вы, как потребитель, запускаете:
dart run skills@ get

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

Кстати, скиллы из сторонних источников (например, с skills.sh) теперь тоже ставятся через эту же систему командой
add

. Единый центр управления — это то, что нужно.

Уже сейчас такие фреймворки, как Jaspr, Serverpod, Flutter Scene и GenUI, активно используют этот подход. Будущее уже наступило, и оно на Dart! 🐦‍🔥

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #AI #DevTools