Flutter Pulse
1.01K subscribers
769 photos
1 file
2.07K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Обновлённые пакеты за последние 24 часа

camera_avfoundation 0.9.7+1
iOS-реализация пакета camera для Flutter. В обновлении пакет выделен в отдельную федеративную реализацию.
👍 Лайки: 14, 📥 Скачиваний: 645K
https://pub.dev/packages/camera_avfoundation

nylo_framework 7.2.2
Микрорамворк для Flutter. Исправлена ошибка компиляции: пакет теперь напрямую экспортирует package:flutter/painting.dart, устраняя проблему с зависимостью skeletonizer.
👍 Лайки: 110, 📥 Скачиваний: 2.4K
https://pub.dev/packages/nylo_framework

material_3_expressive 1.1.3
Реализация компонентов Material 3 Expressive для Flutter. Обновлены меню, навигация, чипы, переключатели и тулбары: улучшена навигация клавиатурой, spring-эффекты индикаторов, размеры и цвета состояний.
👍 Лайки: 43, 📥 Скачиваний: 1.7K
https://pub.dev/packages/material_3_expressive

codemod 0.0.0
Библиотека для автоматизации рефакторинга кода на Dart через AST-анализ. Breaking changes: теперь требуются Dart SDK ^3.13.0 и analyzer ^14.0.0.
👍 Лайки: 36, 📥 Скачиваний: 4.8K
https://pub.dev/packages/codemod

nm 0.6.0
Клиент для подключения к NetworkManager в Linux. Добавлена поддержка Dart 3 и требование обновленной версии dbus (0.8).
👍 Лайки: 22, 📥 Скачиваний: 3.4M
https://pub.dev/packages/nm

turf 0.0.14
Библиотека пространственного анализа для Dart и Flutter. Добавлены недостающие экспорты библиотек.
👍 Лайки: 50, 📥 Скачиваний: 128K
https://pub.dev/packages/turf

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

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

#camera_avfoundation #nylo_framework #material_3_expressive #codemod #nm #turf #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Попробуйте Flutter Web с WebAssembly Week

Flutter Web официально переходит на WebAssembly. Команда Dart провела «Неделю тестирования» (17–21 августа), чтобы помочь разработчикам мигрировать проекты и собрать обратную связь. Это не просто эксперимент: Wasm уже стабилизирован с версии Flutter 3.22 и становится новым стандартом для высоконагруженных веб-приложений.

Почему это важно? Потому что JavaScript часто упирается в потолок производительности при сложной анимации. WebAssembly решает эту проблему, обеспечивая нативную скорость выполнения кода прямо в браузере.

📊 Реальные цифры впечатляют. На MacBook Pro M4 Pro тесты показали:
✅ Время отрисовки кадров сократилось с 34.5 мс до 17.4 мс.
✅ Частота кадров стабильно держится на 60 FPS (в JS было проседание до 30 FPS).
✅ Сборка виджетов стала быстрее в 2.5 раза (с 29.3 мс до 11.4 мс).
✅ Дрожание кадров (jitter) уменьшилось более чем в 3 раза.

💡 Архитектурный прорыв. Ключевую роль играет skwasm — технология, которая переносит растеризацию графики на отдельный Web Worker. Основной поток браузера освобождается для обработки пользовательских событий, что делает интерфейс отзывчивым даже под высокой нагрузкой.

🔧 Инженерные детали. Компилятор dart2wasm работает в связке с WasmGC (системой сборки мусора WebAssembly). Это позволяет эффективно управлять памятью и ускорять сложную логику UI. Для проверки этих метрик на своем железе доступна интерактивная демонстрация, где можно сравнить Wasm и JS в реальном времени.

⚠️ Но есть подвох. Пока dart2js (JavaScript) остается компилятором по умолчанию. Причина проста: экосистема пакетов на pub.dev еще не готова. Многие библиотеки используют устаревшие dart:html и dart:js, которые несовместимы с Wasm.

🚀 Что делать разработчику?
1. Обновить Flutter до версии 3.47 (содержит оптимизации WasmGC).
2. Заменить старые зависимости на package:web и использовать dart:js_interop.
3. Настроить заголовки сервера: COEP: credentialless и COOP: same-origin.
4. Собрать проект командой flutter build web --wasm.

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

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

🔗 Полезные ссылки
Документация по WebAssembly на Flutter Web
Руководство по развертыванию веб-сайтов
FAQ по веб-технологиям Flutter

🔗 Полезные ссылки
💻 flutter-wasm-compare
📚 pub.dev
📚 WebAssembly на Flutter Web
📚 Переход к package:web современному взаимодействию с JavaScript

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

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

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

full_screen_menu 3.0.0
Пакет для создания полноэкранного меню в Flutter. Миграция на material_ui, автоматическое подхватывание темы приложения, минимальные требования Dart 3.13.0 / Flutter 3.47.0.
👍 Лайки: 89, 📥 Скачиваний: 144
https://pub.dev/packages/full_screen_menu

launchdarkly_flutter_observability 1.0.0
Мониторинг (трейсы, логи, ошибки) и запись сессий для Flutter-приложений. Официальный релиз 1.0.0, поддержка автоматической и ручной инструментации, корреляция фич-флагов с телеметрией.
👍 Лайки: 0, 📥 Скачиваний: 1.5K
https://pub.dev/packages/launchdarkly_flutter_observability

status_alert 3.0.0
Отображение самоскрывающихся статус-алертов в стиле Apple. Переход на material_ui, автоматическое подхватывание темы приложения, минимальная версия Dart 3.13.0.
👍 Лайки: 286, 📥 Скачиваний: 356
https://pub.dev/packages/status_alert

diagonal_decoration 2.0.0
Создание диагональных и матричных фоновых декораций. Переход на независимый пакет material_ui, повышение минимальных требований к SDK, API не изменился.
👍 Лайки: 52, 📥 Скачиваний: 51
https://pub.dev/packages/diagonal_decoration

assorted_layout_widgets 12.15.4
Набор полезных виджетов и утилит для Flutter. Добавлен виджет AnimatedSymbol для плавной анимации перехода между символами с настройкой толщины, цвета и размера.
👍 Лайки: 410, 📥 Скачиваний: 67.1K
https://pub.dev/packages/assorted_layout_widgets

Pigeon 29.0.4
Генератор кода для типобезопасной связи Flutter с нативными платформами. Исправлены ошибки в Swift FFI: обработка числовых значений и сериализация словарей.
👍 Лайки: 1260, 📥 Скачиваний: 666K
https://pub.dev/packages/pigeon

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

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

#full_screen_menu #launchdarkly_flutter_observability #status_alert #diagonal_decoration #assorted_layout_widgets #pigeon #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
👍1
Serverpod 4: что нового и почему это важно?

Вышел свежий релиз Serverpod 4, а вместе с ним и новый инструмент — App Studio. Даже если вы не используете этот фреймворк, стоит взглянуть на то, как развивается экосистема fullstack-разработки на Dart. Разбираем ключевые фишки обновления 👇

🚀 Full-stack hot reload
Теперь база, сервер и Flutter-приложение поднимаются одной командой. Любая правка — от модели до UI — подхватывается на лету без потери состояния. Больше не нужно держать четыре терминала и перезапускать всё вручную. Удобно, хотя для тех, кто работает с агентами в фоне, локальный стенд может быть не таким критичным.

🐘 Postgres без Docker и MCP-сервер
Для локальной разработки встроенный Postgres избавляет от необходимости поднимать Docker. А встроенный MCP-сервер дает ИИ-агентам прямой доступ к запущенному стеку: логам, миграциям и самому приложению. Это может сильно упростить отладку хитрых багов.

📱 Офлайн и база на клиенте
Модели и ORM теперь генерируют SQLite прямо во Flutter. Одна строка кода включает двустороннюю синхронизацию с сервером:
database: sync

Это экспериментальная, но очень перспективная фича, которая идет в ногу с трендами на офлайн-first приложения.

🔄 Future calls и общие модели
Фоновые задачи объявляются обычными Dart-методами (появились и повторяющиеся). Главное — модели можно вынести в отдельный пакет и делить между сервером и клиентом. Это решает одну из главных болей разработчиков, работающих с Serverpod.

☁️ Serverpod Cloud
Деплой бэкенда, базы и веб-приложения одной командой. Цена начинается от $5 в месяц. Модель простая: фреймворк бесплатный, деньги зарабатывают на хостинге.

🛠 App Studio
Десктопное приложение, где уже собраны Flutter, Dart и Serverpod. Внутри нет своего ИИ — вы подключаете Claude Code, Cursor или любого другого агента. На выходе получаете обычный проект, а не закрытую песочницу.

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

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #fullstack
🔥1🤮1💩1🥱1🖕1
Обновлённые пакеты за последние 24 часа

XLY 0.58.1
Набор утилит и компонентов для Flutter. Улучшена механика перетаскивания: добавлены задержка, визуальные эффекты, тактильный отклик и инерционное скольжение, исправлены артефакты теней.
👍 Лайки: 3, 📥 Скачиваний: 636
https://pub.dev/packages/xly

Liquid Glass Easy 4.3.2
Пакет для создания эффекта «Liquid Glass» в Flutter. Добавлен параметр для отключения внутренних теней, исправлены ошибки рендеринга для Flutter 3.47 и оптимизирована работа таб-бара.
👍 Лайки: 267, 📥 Скачиваний: 17.1K
https://pub.dev/packages/liquid_glass_easy

serverpod_cloud_storage_gcp 4.0.3
Пакет облачного хранилища GCP для Serverpod. Исправлены ошибки CLI, улучшена работа с тестами и восстановлением дампов Postgres, оптимизирована производительность argon2.
👍 Лайки: 1, 📥 Скачиваний: 27.5K
https://pub.dev/packages/serverpod_cloud_storage_gcp

serverpod_cloud_storage_s3 4.0.3
Пакет облачного хранилища S3 для Serverpod. Исправлены ошибки CLI и работы с базами данных, стандартизированы флаги futureCall, исправлены пути Windows и оптимизирован argon2.
👍 Лайки: 7, 📥 Скачиваний: 19.1K
https://pub.dev/packages/serverpod_cloud_storage_s3

flutter_inapp_purchase 10.7.0
Решение для покупок внутри приложения в Flutter. Добавлена поддержка резолвинга Android-стора на этапе сборки, исправлены отображение пробных периодов Amazon и уязвимости безопасности.
👍 Лайки: 442, 📥 Скачиваний: 5.1K
https://pub.dev/packages/flutter_inapp_purchase

commingle_money 4.0.3
Пакет для работы с денежными значениями. Исправлена точность для валюты JOD (теперь 3 знака после запятой).
👍 Лайки: 15, 📥 Скачиваний: 404
https://pub.dev/packages/commingle_money

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

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

#xly #liquid_glass_easy #serverpod_cloud_storage_gcp #serverpod_cloud_storage_s3 #flutter_inapp_purchase #commingle_money #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Обзор пакетов на тему Backend, Web Server & Web Framework

shelf_proxy 1.0.5
Обработчик для Shelf, который проксирует запросы на внешний сервер. Пакет можно использовать как самостоятельный прокси-сервер или подключить к существующему приложению для перенаправления только определенных URL.
👍 Лайки: 94, 📥 Скачиваний: 7.6M
📅 Обновлено: 5 months ago
https://pub.dev/packages/shelf_proxy

dart_frog 1.2.6
Быстрый и минималистичный бэкенд-фреймворк для Dart, разработанный Very Good Ventures. Пакет позволяет создавать проекты, запускать dev-сервер и генерировать production-сборки с Dockerfile.
👍 Лайки: 863, 📥 Скачиваний: 131K
📅 Обновлено: 10 months ago
https://pub.dev/packages/dart_frog

jaspr 0.23.5
Современный веб-фреймворк на Dart, который позволяет создавать сайты с поддержкой серверного и клиентского рендеринга. Пакет использует модель компонентов, похожую на Flutter, но генерирует стандартный HTML и CSS.
👍 Лайки: 756, 📥 Скачиваний: 41.7K
📅 Обновлено: 25 hours ago
https://pub.dev/packages/jaspr

serverpod 4.0.3
Полнофункциональный бэкенд для Flutter, позволяющий писать серверный код на Dart с автоматической генерацией API и интеграцией базы данных. Пакет включает встроенный ORM, кэширование, аутентификацию и систему миграций для минимизации объема кода.
👍 Лайки: 739, 📥 Скачиваний: 93.3K
📅 Обновлено: 12 hours ago
https://pub.dev/packages/serverpod

universal_html 2.3.0
Кроссплатформенная замена dart:html, позволяющая работать с DOM и CSS-запросами в браузерах, на мобильных, десктопе и сервере. Пакет также поддерживает парсинг HTML/XML и стриминг EventSource.
👍 Лайки: 516, 📥 Скачиваний: 644K
📅 Обновлено: 10 months ago
https://pub.dev/packages/universal_html

functions_client 2.7.1
Dart-библиотека для взаимодействия с Supabase Edge Functions. Пакет является портом supabase/functions-js и распространяется под лицензией MIT.
👍 Лайки: 7, 📥 Скачиваний: 1.07M
📅 Обновлено: 52 days ago
https://pub.dev/packages/functions_client

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #shelf_proxy #dart_frog #jaspr #serverpod #universal_html #functions_client
❤1🤮1💩1
Обновлённые пакеты за последние 24 часа

cached_network_image_ce 4.13.0
Форк кэширования изображений для Flutter с использованием hive_ce. Добавлено автоматическое ресайз WebP на диске и фикс анимаций WebP/APNG.
👍 Лайки: 103, 📥 Скачиваний: 161K
https://pub.dev/packages/cached_network_image_ce

copy_with_extension_gen 18.0.0
Генерация методов copyWith для Dart. Добавлена поддержка копирования записей (records) и исправлена ошибка с обнулением nullable полей в generic-классах.
👍 Лайки: 219, 📥 Скачиваний: 155K
https://pub.dev/packages/copy_with_extension_gen

flutter_inapp_purchase 10.7.1
Плагин для в-приложений покупок (In-App Purchases) на Flutter. Исправлена работа всех магазинов в минифицированных release-сборках.
👍 Лайки: 442, 📥 Скачиваний: 5010
https://pub.dev/packages/flutter_inapp_purchase

copy_with_extension 18.0.0
Пакет для генерации расширений copyWith в Dart. Добавлена поддержка копирования записей (records) и исправлена проблема с сбросом null для nullable полей в классах с дженериками.
👍 Лайки: 111, 📥 Скачиваний: 235K
https://pub.dev/packages/copy_with_extension

flutter_osm_plugin 1.0.0-dev.1
Пакет для интеграции карт OpenStreetMap в Flutter. Обновлена документация (README).
👍 Лайки: 511, 📥 Скачиваний: 4330
https://pub.dev/packages/flutter_osm_plugin

glassmorphism 4.0.0
Пакет для создания эффектов матового стекла. Приведен в соответствие с Flutter 3.24+, добавлены опциональные размеры, поддержка boxShadow и новых градиентов, исправлены баги с GlobalKey и формами.
👍 Лайки: 534, 📥 Скачиваний: 13.9K
https://pub.dev/packages/glassmorphism

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

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

#cached_network_image_ce #copy_with_extension_gen #flutter_inapp_purchase #copy_with_extension #flutter_osm_plugin #glassmorphism #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Обзор пакетов на тему Android/iOS Device Software & Hardware

vibration 3.2.1
Пакет позволяет управлять вибрацией на iOS, Android и Web, поддерживая настройку длительности, паттернов, амплитуды и использование предустановленных эффектов.
👍 Лайки: 940, 📥 Скачиваний: 418K
📅 Обновлено: 25 days ago
https://pub.dev/packages/vibration

app_settings 9.0.0
Позволяет открывать системные настройки телефона, такие как геолокация и Wi-Fi, прямо из приложения Flutter. Пакет поддерживает Swift Package Manager для iOS и предоставляет доступ к специфичным панелям настроек на Android Q и выше.
👍 Лайки: 1250, 📥 Скачиваний: 829K
📅 Обновлено: 41 days ago
https://pub.dev/packages/app_settings

flutter_plugin_android_lifecycle 2.0.35
Позволяет другим Flutter-плагинам получать доступ к объектам жизненного цикла Android через FlutterLifecycleAdapter. Это обеспечивает явное указание версии API в зависимостях плагина.
👍 Лайки: 120, 📥 Скачиваний: 6.4M
📅 Обновлено: 3 months ago
https://pub.dev/packages/flutter_plugin_android_lifecycle

background_fetch 1.7.0
Позволяет запускать приложение в фоновом режиме примерно каждые 15 минут для выполнения коротких задач. В новой версии добавлен метод scheduleTask для планирования одноразовых или периодических задач.
👍 Лайки: 1260, 📥 Скачиваний: 87.9K
📅 Обновлено: 4 months ago
https://pub.dev/packages/background_fetch

system_info2 4.1.0
Предоставляет удобный доступ к системной информации, включая архитектуру, версию ядра, память, ОС и данные о пользователе. Пакет является форком оригинального system_info, так как первоначальный разработчик прекратил его поддержку.
👍 Лайки: 67, 📥 Скачиваний: 797K
📅 Обновлено: 12 months ago
https://pub.dev/packages/system_info2

workmanager 0.10.10
Позволяет выполнять Dart-код в фоне даже при закрытом приложении, используя нативные механизмы Android, iOS и macOS. Он подходит для задач синхронизации данных, загрузки файлов и обслуживания базы данных.
👍 Лайки: 2420, 📥 Скачиваний: 269K
📅 Обновлено: 20 days ago
https://pub.dev/packages/workmanager

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #vibration #app_settings #flutter_plugin_android_lifecycle #background_fetch #system_info2 #workmanager
🔥1
Обновлённые пакеты за последние 24 часа

adaptive_video_player 1.3.3
Пакет для воспроизведения YouTube и прямых видео. Добавлена полная поддержка WASM, исправлена утечка dart:io в Web-сборках и разделена платформенная инициализация.
👍 Лайки: 19, 📥 Скачиваний: 320
https://pub.dev/packages/adaptive_video_player

fa_hub_client 0.2.0
Клиент для flutter_agent_harness, обеспечивающий доставку сообщений через подписанный WebSocket. Добавлена интеграция через Agent.externalSteeringSource, управление пированием и поддержка первичной регистрации.
👍 Лайки: 0, 📥 Скачиваний: 14.1K
https://pub.dev/packages/fa_hub_client

liquid_glass_easy 4.3.4
Пакет для эффектов «жидкого стекла» в стиле iOS 26. Устранена «рваность» контактных теней на Windows, Linux и macOS, теперь тени рендерятся с субпиксельной точностью.
👍 Лайки: 267, 📥 Скачиваний: 17.9K
https://pub.dev/packages/liquid_glass_easy

stellar_flutter_sdk 3.8.0
SDK для работы с блокчейном Stellar. Добавлена автоматическая проверка требований SEP-29: перед отправкой транзакции проверяется наличие обязательного мема, что позволяет избежать ошибок на стороне сети.
👍 Лайки: 18, 📥 Скачиваний: 2330
https://pub.dev/packages/stellar_flutter_sdk

orb_animations 1.1.0
Лёгкий пакет с анимированными «орбами» для индикаторов загрузки и статусов. Обновлены URL демо-ассетов и визуалы в README.
👍 Лайки: 14, 📥 Скачиваний: 860
https://pub.dev/packages/orb_animations

pty2 0.5.5
Высокопроизводительный бэкенд для работы с псевдотерминалами (PTY). Исправлена критическая ошибка, приводившая к преждевременному закрытию дескрипторов и потере вывода при завершении процесса.
👍 Лайки: 2, 📥 Скачиваний: 18.7K
https://pub.dev/packages/pty2

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

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

#adaptive_video_player #fa_hub_client #liquid_glass_easy #stellar_flutter_sdk #orb_animations #pty2 #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Обновлённые пакеты за последние 24 часа

lightweight_barcode_scanner 1.0.0
Лёгкий офлайн-сканер штрих-кодов для Flutter. Новый пакет для автономного сканирования QR и штрих-кодов без доступа к сети.
👍 Лайки: 1, 📥 Скачиваний: 129
https://pub.dev/packages/lightweight_barcode_scanner

dartvel_generator 1.0.0
Генератор кода для Dart. Пакет официально выведен из эксплуатации, функции перенесены в CLI-инструмент dartvel_cli.
👍 Лайки: 1, 📥 Скачиваний: 371
https://pub.dev/packages/dartvel_generator

pg_flutter_sdk 1.0.0
Платежный SDK для Flutter. Новый плагин для реализации чекаута с поддержкой UPI, карт и Net-Banking.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/pg_flutter_sdk

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

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

#lightweight_barcode_scanner #dartvel_generator #pg_flutter_sdk #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
Обновлённые пакеты за последние 24 часа

liquid_glass_widgets 1.8.0
Пакет для эффекта «жидкого стекла» в Flutter. Добавлена поддержка iOS 27 Material, улучшен UX меню и добавлен демо Apple Mail.
👍 Лайки: 327, 📥 Скачиваний: 81.7K
https://pub.dev/packages/liquid_glass_widgets

flutter_helper_kit 1.2.7
Набор утилит для Flutter без внешних зависимостей. Исправлена проблема с наложением GenericPickerSheet на системную панель навигации Android.
👍 Лайки: 33, 📥 Скачиваний: 484
https://pub.dev/packages/flutter_helper_kit

genui 0.10.4
Создание динамических интерфейсов Flutter с помощью ИИ. Исправлена проблема со схемой виджета Image для корректной работы скринридеров.
👍 Лайки: 195, 📥 Скачиваний: 35.4K
https://pub.dev/packages/genui

elevarm_ui 0.15.2
Дизайн-система для Flutter с готовыми компонентами и темами. Добавлено свойство onTap в ElevarmDataTableColumnModel.
👍 Лайки: 80, 📥 Скачиваний: 503
https://pub.dev/packages/elevarm_ui

tencent_rtc_sdk 13.5.2
SDK для групповых видеозвонков и стриминга в Flutter. Оптимизирована документация примеров.
👍 Лайки: 12, 📥 Скачиваний: 10.3K
https://pub.dev/packages/tencent_rtc_sdk

fitgrid_table 0.1.4
Таблицы с умными фильтрами и локализацией. Добавлены фильтры с синтаксисом поиска, система локализации и исправлены баги вёрстки на мобильных.
👍 Лайки: 6, 📥 Скачиваний: 309
https://pub.dev/packages/fitgrid_table

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

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

#liquid_glass_widgets #flutter_helper_kit #genui #elevarm_ui #tencent_rtc_sdk #fitgrid_table #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Добавляем 3D в игру на Flame, не переписывая её

3D-графика в 2D-играх без переписывания кода.

Команда разработчиков представила пакет flame_flutter3d, который служит мостом между популярным 2D-движком Flame и чистым Dart-движком flutter3d. Это позволяет добавить объем, свет и тени в существующие проекты, сохранив всю игровую логику, джойстик и HUD на стороне Flame.

💡 Архитектура строится на едином времени.
Второй тикер для 3D не создается. Вместо этого компонент BridgeClock синхронно с тикером Flame вызывает обновление 3D-сцены с тем же значением дельты времени. Это исключает рассинхронизацию таймеров и гарантирует, что оба движка работают в едином ритме.

🔧 Инженерные решения для стыковки систем.
Класс BridgePlane решает проблему разных координатных систем: Vector2 у Flame и Vector3 у flutter3d. Он определяет, как оси 2D проецируются в 3D (например, для видов сверху или сайд-скроллеров). Столкновения, рассчитанные 3D-физикой, транслируются во Flame как стандартные события, такие как onCollisionStart.

🎮 Практический пример: аркада Meteor Yard.
В демо-игре корабль летает в 3D-пространстве, но управление остается 2D. Боты используют CharacterController с нулевой гравитацией, что упрощает их движение в воздухе. Логика ИИ включает три состояния: уклонение, погоню и патрулирование.

⚠️ Важные ограничения и нюансы.
Мост не передает нормали и глубину проникновения в колбэки Flame — там только приблизительные точки контакта. Также нельзя удалять объекты прямо внутри колбэка столкновения, так как это нарушает итерацию списков. Решение — очередь удаления, обрабатываемая в начале следующего кадра.

⚡ Производительность и детерминизм.
Симуляция в flutter3d_sim детерминирована: результат прогона идентичен бит в бит при заданном seed. Это основа для будущих сетевых игр с механизмом отката (rollback). Загрузка моделей glTF происходит в фоновом изоляте, не блокируя UI.

📦 Требования к настройке.
Для работы необходимо включить поддержку Flutter GPU в манифесте (FLTEnableFlutterGPU для iOS/macOS, EnableFlutterGPU для Android). Иначе вместо 3D-графики вы увидите пустой экран. Игра должна наследоваться от TransparentFlameGame, чтобы 2D-слой был прозрачным.

🔗 Полезные ссылки

flame_flutter3d на pub.dev
Исходный код flutter3d
Примеры интеграции

🔗 Полезные ссылки
📦 flame_flutter3d
💻 flutter3d
💻 flutter3d

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

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

#flutter #dart #flutterpulse #flutterpulsehabr
Обзор пакетов на тему Machine Learning, OCR & Computer Vision

google_mlkit_commons 0.13.0
Предоставляет общие методы для работы с Google ML Kit в Flutter. Выступает в роли моста, передающего вызовы через Platform Channels на нативные API для iOS и Android.
👍 Лайки: 38, 📥 Скачиваний: 480K
📅 Обновлено: 42 days ago
https://pub.dev/packages/google_mlkit_commons

tflite_flutter 0.12.1
Плагин для выполнения инференса моделей TensorFlow Lite в Flutter-приложениях с поддержкой Android, iOS и десктопных платформ. Обеспечивает прямой доступ к C API TFLite для низкой задержки и ускорения вычислений через NNAPI, GPU, Metal и CoreML.
👍 Лайки: 910, 📥 Скачиваний: 60.9K
📅 Обновлено: 11 months ago
https://pub.dev/packages/tflite_flutter

google_ml_kit 0.23.1
«Зонтичный» плагин, объединяющий все модули Google ML Kit для Flutter, включая распознавание текста, объектов и GenAI-функции. Разработчикам не рекомендуется использовать его в продакшене из-за значительного увеличения размера приложения, вместо этого следует подключать только необходимые отдельные плагины.
👍 Лайки: 1200, 📥 Скачиваний: 3740
📅 Обновлено: 42 days ago
https://pub.dev/packages/google_ml_kit

google_mlkit_text_recognition 0.17.1
Позволяет распознавать текст в китайском, деванагари, японском, корейском и латинском наборах символов. Плагин работает только на мобильных платформах iOS и Android, используя нативные API Google ML Kit.
👍 Лайки: 412, 📥 Скачиваний: 279K
📅 Обновлено: 42 days ago
https://pub.dev/packages/google_mlkit_text_recognition

google_mlkit_face_detection 0.15.1
Позволяет обнаруживать лица на изображениях, определять ключевые черты и контуры в Flutter-приложениях для iOS и Android.
👍 Лайки: 327, 📥 Скачиваний: 107K
📅 Обновлено: 42 days ago
https://pub.dev/packages/google_mlkit_face_detection

flutter_tesseract_ocr 0.4.31
Плагин для распознавания текста на изображениях в Flutter на базе Tesseract OCR 4.0. Поддерживает платформы Android, iOS и Web, а также позволяет динамически загружать языковые данные.
👍 Лайки: 215, 📥 Скачиваний: 5590
📅 Обновлено: 4 months ago
https://pub.dev/packages/flutter_tesseract_ocr

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #google_mlkit_commons #tflite_flutter #google_ml_kit #google_mlkit_text_recognition #google_mlkit_face_detection #flutter_tesseract_ocr
👣 Как встроить Unity игру во Flutter приложение

Flutter — это король интерфейсов, навигации и бизнес-логики. Но когда дело доходит до 3D, сложной физики или AR, он пасует. Зато здесь на сцену выходит Unity.

Многие команды мечтают объединить эти два мира: красивую Flutter-оболочку и мощную Unity-сцену внутри. Раньше это было болью: ручной экспорт библиотек, бесконечная правка
settings.gradle

, написание
method channels

и отдельная
UnityPlayerActivity

. Хрупко, долго и страшно обновлять.

Но времена меняются! Появился Game Framework — современный инструмент (преемник
flutter_unity_widget

), который автоматизирует весь этот процесс. Это CLI и SDK, которые превращают Unity-сцену в обычный Flutter-виджет с типобезопасным обменом сообщениями.

Как это работает?

1️⃣ Устанавливаем CLI через Homebrew:
brew tap xraph/tap
brew install game-cli

2️⃣ Добавляем пакеты в
pubspec.yaml

:
  gameframework: ^0.0.3
  gameframework_unity: ^0.0.4

3️⃣ Инициализируем плагин в
main()

:
UnityEnginePlugin.initialize();

4️⃣ Экспортируем Unity-проект одной командой:
game export unity --platform android,ios

5️⃣ Синхронизируем с Flutter-проектом:
game sync unity --platform android,ios

Эта команда сама подключает Gradle-модуль для Android и iOS-framework. Никакого ручного редактирования конфигов!

Unity как виджет

После синхронизации ваша 3D-сцена становится обычным виджетом:
GameWidget(
  engineType: GameEngineType.unity,
  onEngineCreated: (controller) => _controller = controller,
  onMessage: _onMessage,
  config: const GameEngineConfig(
    fullscreen: false,
    runImmediately: true,
    unloadOnDispose: true,
  ),
)

Обмен сообщениями

Flutter может отправлять команды в Unity:
await _controller?.sendMessage(GameManager, SetSpeed, 2.5);
await _controller?.sendJsonMessage(GameManager, UpdateScore, {
  score: 100,
  stars: 3,
});

А Unity может отправлять данные обратно через небольшой мост на C#. В Flutter эти сообщения приходят в обработчик
onMessage

.

Интеграция перестала быть рутиной. Проект бесплатный и с открытым исходным кодом. Если вы хотите добавить 3D или AR в свое приложение — обязательно посмотрите на этот инструмент! 🚀

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #unity #gamedev