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

better_player 1.22.0
Кроссплатформенный видеоплеер для Flutter. Добавлена поддержка субтитров TTML, DFXP и XML, обновлен плагин для macOS.
👍 Лайки: 1.3K, 📥 Скачиваний: 4.6K
https://pub.dev/packages/better_player

image_picker_plus 1.0.1
Выбор, кроп и фильтрация медиафайлов. Улучшена Web-совместимость (Wasm-ready), оптимизированы зависимости.
👍 Лайки: 67, 📥 Скачиваний: 92
https://pub.dev/packages/image_picker_plus

js_widget_runtime 0.4.153
Запуск JavaScript-виджетов как нативного UI в Flutter. Техническое обновление (автоматический патч).
👍 Лайки: 0, 📥 Скачиваний: 15.8K
https://pub.dev/packages/js_widget_runtime

otzaria_search_engine 0.9.0
Rust-движок полнотекстового поиска. Breaking change в механизме подсветки, поддержка текстовых вариантов (Ketiv/Qere).
👍 Лайки: 0, 📥 Скачиваний: 7.9K
https://pub.dev/packages/otzaria_search_engine

device_preview_plus 2.9.5
Симуляция отображения приложения на разных устройствах в десктопной среде. Обновлена зависимость Flutter до 3.47.6.
👍 Лайки: 74, 📥 Скачиваний: 13.7K
https://pub.dev/packages/device_preview_plus

firestore_cache 2.21.4
Чтение данных из Firestore по схеме «сначала кэш, затем сервер». Обновлена зависимость Flutter до v3.47.6.
👍 Лайки: 107, 📥 Скачиваний: 2.2K
https://pub.dev/packages/firestore_cache

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

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

#better_player #image_picker_plus #js_widget_runtime #otzaria_search_engine #device_preview_plus #firestore_cache #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Обзор пакетов на тему Parsing & Other Text Utilities

characters 1.4.1
Пакет позволяет работать со строками как с последовательностью графемных кластеров, предотвращая некорректное разбиение эмодзи и составных символов. Он предоставляет класс Characters и итератор CharacterRange для безопасной навигации и манипуляций с текстом на уровне воспринимаемых пользователем символов.
👍 Лайки: 506, 📥 Скачиваний: 9.4M
📅 Обновлено: 15 months ago
https://pub.dev/packages/characters

quran 1.4.1
Предоставляет доступ к арабскому тексту Корана, аудио-ссылкам и подробным данным о сурах, аятах и джузах. Также поддерживает поиск слов и переводы на несколько языков, включая русский.
👍 Лайки: 300, 📥 Скачиваний: 3.3K
📅 Обновлено: 13 months ago
https://pub.dev/packages/quran

petitparser 7.1.0
Позволяет создавать быстрые и типобезопасные парсеры на Dart, собирая их из простых компонентов. Пакет поддерживает композицию, преобразование данных в типизированные модели и отладку прямо в IDE.
👍 Лайки: 402, 📥 Скачиваний: 12.8M
📅 Обновлено: 7 days ago
https://pub.dev/packages/petitparser

clipboard 3.0.14
Расширяет возможности буфера обмена в Flutter, поддерживая работу с текстом, HTML и изображениями. Обеспечивает кроссплатформенную совместимость с Android, iOS, Web и Windows, включая мониторинг изменений и обработку ошибок.
👍 Лайки: 643, 📥 Скачиваний: 117K
📅 Обновлено: 8 months ago
https://pub.dev/packages/clipboard

string_validator 1.2.0
Пакет для валидации и санитизации строк в Dart, являющийся форком validator.dart. Предоставляет набор функций для проверки форматов (email, URL, IP, UUID) и очистки данных, включая удобные extension methods.
👍 Лайки: 469, 📥 Скачиваний: 208K
📅 Обновлено: 15 months ago
https://pub.dev/packages/string_validator

iregexp 0.2.0
Реализация формата I-Regexp (RFC 9485) для Dart, которая валидирует паттерны и использует встроенный класс RegExp.
👍 Лайки: 3, 📥 Скачиваний: 312K
📅 Обновлено: 15 months ago
https://pub.dev/packages/iregexp

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #characters #quran #petitparser #clipboard #string_validator #iregexp
👍1
Обновлённые пакеты за последние 24 часа

image_picker_plus 1.1.0
Галерея и камера для Flutter с возможностью выбора, кадрирования и фильтрации медиафайлов. Экспорт стал на 80% быстрее, добавлен параметр useRootNavigator и изменён интерфейс при showPreview: false.
👍 Лайки: 67, 📥 Скачиваний: 107
https://pub.dev/packages/image_picker_plus

dotprompt 2.0.0
Инструмент для создания и рендеринга промпт-шаблонов для LLM в Dart. Введена строгая валидация Picoschema, удалён устаревший синтаксис схем и обеспечена кросс-рантаймная совместимость.
👍 Лайки: 0, 📥 Скачиваний: 34.3K
https://pub.dev/packages/dotprompt

fluttersdk_artisan 0.0.18
CLI-фреймворк для Flutter/Dart. Добавлена поддержка регистрации нативных URL-схем в iOS/macOS и инъекции activity с intent filters в Android Manifest, а также обеспечена идемпотентность установок.
👍 Лайки: 2, 📥 Скачиваний: 36.4K
https://pub.dev/packages/fluttersdk_artisan

rating_bar 1.0.2
Пакет для создания кастомизируемых шкал рейтинга в Flutter. Восстановлены превью-анимации и актуализированы инструкции по установке.
👍 Лайки: 28, 📥 Скачиваний: 191
https://pub.dev/packages/rating_bar

excel_plus 2.27.1
Dart-библиотека для работы с Excel (.xlsx/.xls). Добавлены константы для всех 60 встроенных стилей таблиц, что позволяет проверять имена стилей на этапе компиляции.
👍 Лайки: 66, 📥 Скачиваний: 24.1K
https://pub.dev/packages/excel_plus

angel3_framework 9.2.0
Фреймворк Angel3 для Dart. Добавлена полная поддержка AOT-компиляции без рефлексии, лимиты размера тела запроса, исправления XSS и улучшена производительность кэша маршрутов.
👍 Лайки: 56, 📥 Скачиваний: 432
https://pub.dev/packages/angel3_framework

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

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

#image_picker_plus #dotprompt #fluttersdk_artisan #rating_bar #excel_plus #angel3_framework #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Жидкая магия в вашем приложении: шейдерные «капли» без боли 🫠✨

Давно не видели ничего про шейдеры? Тогда ловите находку! Мы наткнулись на пакет, который с помощью GLSL fragment шейдера рисует переливающиеся, «жидкие» капли. Выглядит это невероятно приятно и добавляет интерфейсу тот самый вау-эффект, который запоминается.

Если хочется оживить UI и уйти от скучных статичных элементов — это точно то, что нужно.

Пакет: gooey

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #ohmyflutter #shaders #ui
😁2
Обзор пакетов на тему Printing

danfe 3.1.0
Пакет предназначен для парсинга XML электронных налоговых документов DANFE (NF-e, NFC-e) и NFSe Nacional, нормализуя данные в объекты Dart. Он позволяет создавать буферы для печати на устройствах ESC/POS или конвертировать документы в виджеты Flutter, изображения и JSON.
👍 Лайки: 46, 📥 Скачиваний: 343
📅 Обновлено: 34 days ago
https://pub.dev/packages/danfe

flutter_bluetooth_printer 2.24.0
Позволяет печатать чеки на Bluetooth-термальных принтерах, поддерживая вывод виджетов, изображений и PDF. Пакет также предоставляет инструменты для выбора устройств и отправки кастомных команд ESC/POS.
👍 Лайки: 106, 📥 Скачиваний: 3.4K
📅 Обновлено: 4 months ago
https://pub.dev/packages/flutter_bluetooth_printer

printing 5.15.1
Позволяет Flutter-приложениям генерировать и печатать документы на совместимых принтерах Android и iOS. Для создания PDF-файлов он использует пакет pdf.
👍 Лайки: 1.8K, 📥 Скачиваний: 996K
📅 Обновлено: 16 days ago
https://pub.dev/packages/printing

flutter_thermal_printer 2.3.0
Позволяет печатать данные на термальных принтерах через Bluetooth, USB и Wi-Fi на Android, iOS, macOS и Windows. В новой версии добавлена поддержка USB-принтеров для более быстрого и надежного подключения без использования беспроводных сетей.
👍 Лайки: 141, 📥 Скачиваний: 8.2K
📅 Обновлено: 25 days ago
https://pub.dev/packages/flutter_thermal_printer

sunmi_printer_plus 4.1.1
Плагин для Flutter, позволяющий печатать текст, штрих-коды, QR-коды и изображения на принтерах Sunmi. Пакет работает только на Android и поддерживает управление кассовым ящиком и LCD-экраном устройства.
👍 Лайки: 155, 📥 Скачиваний: 13.6K
📅 Обновлено: 13 months ago
https://pub.dev/packages/sunmi_printer_plus

print_bluetooth_thermal 1.2.5
Позволяет печатать чеки на термопринтерах 58мм или 80мм через Bluetooth на Android, iOS, macOS и Windows. Пакет работает без запроса разрешения на геолокацию, что решает проблему блокировок приложений в Google Play.
👍 Лайки: 168, 📥 Скачиваний: 57K
📅 Обновлено: 6 days ago
https://pub.dev/packages/print_bluetooth_thermal

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

#flutter #dart #pubdev #FlutterPulse #FlutterPulseThemedPackages #danfe #flutter_bluetooth_printer #printing #flutter_thermal_printer #sunmi_printer_plus #print_bluetooth_thermal
Обновлённые пакеты за последние 24 часа

flutter_native_speech_to_text
Лёгкий плагин для голосового ввода на Android, использующий нативный диалог распознавания речи. Поддержка мультиязычности и настройки параметров.
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/flutter_native_speech_to_text

contour_gradient
Пакет для создания градиентов по контуру (периметру) элементов, а не по углам. Работает с OutlinedBorder и поддерживает анимацию вращения.
👍 Лайки: 2, 📥 Скачиваний: 176
https://pub.dev/packages/contour_gradient

frica_id_flutter
Официальный SDK для аутентификации Sign in with Frica ID. Реализует OAuth 2.1 с PKCE, включает брендовые виджеты и поддержку iOS, Android, Web.
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/frica_id_flutter

g1455
Эффект «жидкого стекла» (Liquid Glass) с упором на производительность. Использует атлас для минимизации нагрузки на GPU, снижая стоимость рендеринга до 97.8%.
👍 Лайки: 15, 📥 Скачиваний: 0
https://pub.dev/packages/g1455

dio_debug_logger
Встроенный инспектор сети для Dio. Добавляет перетаскиваемую кнопку для просмотра логов, поиска, фильтрации и экспорта в cURL/Postman.
👍 Лайки: 3, 📥 Скачиваний: 69
https://pub.dev/packages/dio_debug_logger

flutter_ringtone_player_plus
Плагин для воспроизведения системных рингтонов и кастомных аудиофайлов на Android и iOS. Поддерживает зацикливание, громкость и полную совместимость с flutter_ringtone_player.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/flutter_ringtone_player_plus

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

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

#flutter_native_speech_to_text #contour_gradient #frica_id_flutter #g1455 #dio_debug_logger #flutter_ringtone_player_plus #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
👍1
Обновлённые пакеты за последние 24 часа

oidc 5.0.1
Плагин для Flutter, реализующий OpenID Connect Relying Party (RP) с поддержкой PKCE и Device Flow. Обновлены зависимости до последних релизов.
👍 Лайки: 51, 📥 Скачиваний: 25.7K
https://pub.dev/packages/oidc

liquid_glass_widgets 1.10.0
Пакет для реализации эффекта «жидкого стекла» в Flutter. Добавлены разделители в панелях инструментов, внешнее управление меню, динамическая тема и поддержка скринридеров.
👍 Лайки: 336, 📥 Скачиваний: 88.1K
https://pub.dev/packages/liquid_glass_widgets

shared_preferences 2.5.6
Плагин для доступа к платформенному хранилищу простых данных. Добавлена документация по методам set и remove, повышена минимальная версия Flutter до 3.41.
👍 Лайки: 10.6K, 📥 Скачиваний: 7.11M
https://pub.dev/packages/shared_preferences

image_picker 1.2.4
Плагин для выбора изображений и съёмки в Flutter. Уточнена документация по retrieveLostData, повышен минимальный поддерживаемый SDK до Flutter 3.41.
👍 Лайки: 7.76K, 📥 Скачиваний: 4.78M
https://pub.dev/packages/image_picker

flutter_onnxruntime 1.9.0
Плагин для запуска моделей ONNX в Flutter. Обновление ядра ONNX Runtime до 1.28.x, поддержка конфигурационных записей сессии и исправление ошибок на Linux, Windows и Web.
👍 Лайки: 51, 📥 Скачиваний: 22.9K
https://pub.dev/packages/flutter_onnxruntime

bluesky 2.10.0
Клиентская библиотека для Dart и Flutter на базе AT Protocol. Добавлена поддержка эндпоинта getGroupedNotifications для получения структурированных данных уведомлений.
👍 Лайки: 31, 📥 Скачиваний: 7.99K
https://pub.dev/packages/bluesky

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

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

#oidc #liquid_glass_widgets #shared_preferences #image_picker #flutter_onnxruntime #bluesky #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Flutter на клиенте, Fletch на сервере: бэкенд на знакомом Dart

Представьте, что вам не нужно переключаться между Dart и Node.js или Python. Fletch — это HTTP-фреймворк на Dart, который позволяет писать бэкенд на том же языке, что и клиент. Это устраняет рассинхронизацию моделей и бизнес-логики, так как вы используете единый стек для всей архитектуры.

Архитектурно Fletch напоминает популярный Express из мира JavaScript: там есть маршрутизация, middleware, сессии и DI. Но важно понимать: это не порт. У Fletch собственные типы Request и Response, а также уникальный конвейер обработки. JavaScript-мидлварь из npm здесь не сработает, поэтому перенос привычек требует осторожности.

⚡ Производительность впечатляет. В бенчмарке Dartmark (18 июня 2026) Fletch 2.3.0 показал 16 590 запросов в секунду. Это всего на 2.61% ниже чистой реализации на dart:io. Для сравнения: Dart Frog показал ~9 984, а Shelf — ~9 888 req/s. Секрет скорости — в radix-маршрутизаторе и оптимизированном пути для маршрутов без middleware.

🔧 Инженерные решения продуманы до мелочей. В версии 2.3.0 добавлены необязательные параметры в путях (через знак вопроса). Система валидации строго проверяет JSON: если клиент слал битые данные, вы получите корректный 400, а не 500. Также реализована поддержка Server-Sent Events (SSE) для потоковой передачи данных без постоянного опроса.

⚠️ Однако есть нюансы. Middleware оборачивает только зарегистрированные маршруты, поэтому нельзя полагаться на app.use() для глобального перехвата всех запросов. Стандартное хранилище сессий работает в памяти, что означает потерю данных при перезапуске. Для продакшена потребуется внешний хранилище, например, Redis, так как готового адаптера в пакете нет.

📦 Фреймворк берет на себя только HTTP-часть. Выбор БД, очередей и систем авторизации остается за вами. Это дает свободу, но требует самостоятельной сборки инфраструктуры. Зато вы получаете нативную компиляцию в исполняемый файл, который включает рантайм Dart. Не нужно устанавливать SDK на сервере.

💡 Главная ценность — простота и скорость прототипирования. Если вы уверенно владеете Dart, Fletch позволит быстро собрать API для мобильных приложений или внутренних сервисов. Порог входа низкий, а путь от запроса до обработчика легко отслеживается.

Начните с одного маршрута и проверьте ключевые сценарии. Если проекту нужны готовые ORM или генерация SDK, оценивайте их наличие отдельно. Fletch — это фундамент, который дает контроль над каждым байтом вашего сервера.

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

Fletch на pub.dev

🔗 Полезные ссылки
📦 fletch
📚 pub.dev

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

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

#flutter #dart #flutterpulse #flutterpulsehabr
👍1
👣 Как заставить ИИ-агента делегировать вычисления Dart-коду

Представьте: ваш ИИ-агент в Flutter с GenUI собирает экраны на лету. Круто, да? Но вот тут ловушка: если вы заставите LLM считать налоги, конвертировать валюты или умножать цены, вы просто сожжете токены и добавите лишнюю сетевую задержку. Результат при этом может оказаться непредсказуемым. 🤯

Решение? Клиентские функции A2UI.

Это механизм, который позволяет зарегистрировать обычную Dart-функцию, описать её параметры и тип результата. Агент видит это описание, решает, что нужно вычислить, и отправляет вызов. А приложение спокойно выполняет код локально на устройстве. Мгновенно и без лишних запросов в сеть! ⚡️

Разделение труда становится таким:
🔹 Flutter-клиент объявляет доступные функции в каталоге GenUI.
🔹 Агент решает, где и когда показать компонент, и шлёт A2UI-выражение с аргументами.
🔹 Клиент выполняет вычисление локально и сразу рендерит результат.

Давайте посмотрим, как это выглядит в коде. Синхронные функции наследуются от SynchronousClientFunction. Вот пример функции для расчёта стоимости ингредиента:
class CalculateCostFunction extends SynchronousClientFunction {
  const CalculateCostFunction();

  @override
  String get name => calculateCost;

  @override
  String get description =>
      Calculates the cost for a certain quantity of an ingredient.
      Returns a formatted dollar string (for example, \$4.50).;

  @override
  ClientFunctionReturnType get returnType => ClientFunctionReturnType.string;

  @override
  Schema get argumentSchema => S.object(
    properties: {
      ingredient_id: S.string(description: The ID of the ingredient.),
      quantity: S.number(description: The quantity of the ingredient.),
    },
    required: [ingredient_id, quantity],
  );

  @override
  Object? executeSync(JsonMap args, ExecutionContext context) {
    final ingredientId = args[ingredient_id].toString();
    final quantity = num.tryParse(args[quantity].toString())?.toDouble();

    if (quantity == null || quantity < 1) {
      return \$0.00;
    }

    final cost = CostService().fetchPrice(ingredientId, quantity);
    return \$${cost.toStringAsFixed(2)};
  }
}

Ключевые моменты, на которые стоит обратить внимание:

🔹 name: уникальный идентификатор, по которому агент находит функцию.
🔹 description: критически важно! Это подсказка для LLM, чтобы она понимала, когда вызывать функцию и какой формат ответа ждать.
🔹 returnType: тип возвращаемого значения (в примере — строка).
🔹 argumentSchema: схема, которая говорит LLM, какие параметры обязательны.
🔹 executeSync: сам метод, который выполняется на устройстве. Парсит аргументы, вызывает локальный сервис и возвращает результат.

Этот паттерн очень похож на работу с UI-компонентами в каталоге. И там, и там вы даёте агенту метаданные для рассуждений, а Dart-код делает реальную работу: создаёт виджеты или считает числа.

Чтобы агент вообще узнал о функции, её нужно зарегистрировать в каталоге GenUI:
final commisCatalog = Catalog(
  [
    cateringJobItem,
    recipeLineCatalogItem,
    ingredientLineCatalogItem,
    navigationCardCatalogItem,
    simpleCardCatalogItem,
  ],
  functions: [
    CalculateCostFunction(),
  ],
  catalogId: commis_catalog,
);

При инициализации сессии PromptBuilder из genui автоматически инспектирует каталог, извлекает объявления функций и добавляет их в системный промпт для Gemini. Всё прозрачно и автоматизировано. 🤖

Итог:
Клиентские функции A2UI — это способ вынести логику из головы ИИ в надёжный Dart-код. Меньше задержек, экономия токенов и предсказуемый результат. Обязательно попробуйте, если работаете с GenUI! 💡

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #AI #GenUI