⚡️ Flutter 3.47: что ещё завезли?
Помимо крупных изменений, в релизе много улучшений платформ, инструментов и самого framework.
🤖 Android обновил toolchain
Для Flutter 3.47 официально проверяются:
Java 17
Kotlin Gradle Plugin 2.4.0
Android Gradle Plugin 9.1.0
Gradle 9.3.1
А стандартные настройки SDK теперь:
compileSdk → 36
targetSdk → 36
minSdk → 24
Так что старые Android-проекты могут встретиться с обновлением зависимостей.
🪟 Windows и Linux получили Flavors
Теперь desktop-проекты могут использовать разные flavors.
Например:
Можно даже задавать разные assets для разных flavor'ов.
🪟 Multi-window стал мощнее
Windows и Linux получили popup windows и дополнительные API для работы с нативными окнами.
Например, теперь можно получить нативный handle окна (
🤖 GenUI продолжает развиваться
Пакет
Добавили:
client-side functions;
новые возможности взаимодействия AI-агента с UI.
То есть Flutter продолжает активно двигаться в сторону AI-generated / agentic UI.
♿️ Accessibility и Text Selection
Получили много небольших, но полезных улучшений:
Android high-contrast и color inversion теперь автоматически учитываются;
улучшена работа
исправлены проблемы с выделением текста;
улучшено поведение selection handles;
исправлены проблемы с клавиатурой и scrolling.
🎨 Ещё немного UI-плюшек
В framework появились дополнительные возможности:
больше контроля над
улучшена работа
исправлены проблемы с жестами и scrolling;
улучшена работа native iOS views.
⬆️ Обновляться уже можно
Если готовы проверить проект:
Но перед обновлением большого production-проекта стоит посмотреть Breaking Changes — особенно из-за перехода Material/Cupertino в отдельные пакеты и новых требований Apple.
3.47.0 announcement
3.47.0 release notes & change log
3.47.0 breaking changes & migrations
#flutter #dart #FlutterPulse #FlutterPulseNews
Помимо крупных изменений, в релизе много улучшений платформ, инструментов и самого framework.
🤖 Android обновил toolchain
Для Flutter 3.47 официально проверяются:
Java 17
Kotlin Gradle Plugin 2.4.0
Android Gradle Plugin 9.1.0
Gradle 9.3.1
А стандартные настройки SDK теперь:
compileSdk → 36
targetSdk → 36
minSdk → 24
Так что старые Android-проекты могут встретиться с обновлением зависимостей.
🪟 Windows и Linux получили Flavors
Теперь desktop-проекты могут использовать разные flavors.
Например:
flutter build windows --flavor production
flutter build linux --flavor production
Можно даже задавать разные assets для разных flavor'ов.
🪟 Multi-window стал мощнее
Windows и Linux получили popup windows и дополнительные API для работы с нативными окнами.
Например, теперь можно получить нативный handle окна (
HWND, NSWindow, GtkWindow) и использовать его для более продвинутой интеграции с ОС.🤖 GenUI продолжает развиваться
Пакет
genui получил версию 0.10.0.Добавили:
a2ui_core;client-side functions;
новые возможности взаимодействия AI-агента с UI.
То есть Flutter продолжает активно двигаться в сторону AI-generated / agentic UI.
♿️ Accessibility и Text Selection
Получили много небольших, но полезных улучшений:
Android high-contrast и color inversion теперь автоматически учитываются;
улучшена работа
Text.rich и semantics;исправлены проблемы с выделением текста;
улучшено поведение selection handles;
исправлены проблемы с клавиатурой и scrolling.
🎨 Ещё немного UI-плюшек
В framework появились дополнительные возможности:
ImageIcon теперь может сохранять оригинальные цвета;больше контроля над
AnimatedCrossFade;улучшена работа
ImageStream;исправлены проблемы с жестами и scrolling;
улучшена работа native iOS views.
⬆️ Обновляться уже можно
Если готовы проверить проект:
flutter upgrade
Но перед обновлением большого production-проекта стоит посмотреть Breaking Changes — особенно из-за перехода Material/Cupertino в отдельные пакеты и новых требований Apple.
3.47.0 announcement
3.47.0 release notes & change log
3.47.0 breaking changes & migrations
#flutter #dart #FlutterPulse #FlutterPulseNews
🎯 Dart 3.13 вышел — и главное изменение заметят практически все Flutter-разработчики
12 августа вышел Dart 3.13.
Главная фишка релиза — Primary Constructors.
Теперь вместо привычного:
можно писать:
Меньше кода — та же семантика.
🧩 А если нужен initializer или body?
Можно добавить
Кроме того, Dart теперь позволяет писать конструкторы внутри класса без повторения имени класса:
Чтобы использовать Primary Constructors, SDK constraint должен быть 3.13+:
🧠 Analyzer стал умнее
Dart 3.13 добавляет новые возможности LSP:
• Inline Values — значения переменных прямо во время debugging
• поддержка Flutter Widget Preview
• интеграция Analysis Server с Dart Tooling Daemon
То есть IDE получает больше информации непосредственно от Dart analyzer.
🧹 Новые lint rules
Появились новые проверки, среди которых:
А экспериментальный:
может рекомендовать переход на новый синтаксис primary constructors.
⚡️ Новое в
Появились API для более низкоуровневого управления isolate и event loop:
Это уже особенно интересно разработчикам высокопроизводительных приложений и тем, кто работает с concurrency на низком уровне.
📦 Новые возможности коллекций
В
Плюс новые эффективные операции для подсчёта битов у
🌐 JavaScript / Web interop
Появился:
Это продолжает общую тенденцию Dart — постепенно делать JS/Web interop более типобезопасным.
📦 Pub и CLI тоже получили апдейты
Например:
теперь позволяет посмотреть пакеты workspace и их директории, в том числе в JSON.
А
То есть Dart CLI становится всё более полноценным инструментом для создания и распространения native-приложений.
⚠️ Но есть breaking changes
В Dart 3.13 есть несколько изменений, которые могут потребовать правок в существующем коде.
Например, изменился тип возвращаемых значений
Также изменено поведение type promotion, чтобы избежать потенциально unsound поведения.
Поэтому для крупных проектов перед обновлением лучше посмотреть changelog.
Главное впечатление от Dart 3.13:
Dart не пытается устроить революцию. Он делает язык короче, строже и удобнее.
И особенно хорошо это видно по Primary Constructors:
Для Flutter-проектов с большим количеством моделей это потенциально очень приятное сокращение boilerplate.
#flutter #dart #FlutterPulse #FlutterPulseNews
12 августа вышел Dart 3.13.
Главная фишка релиза — Primary Constructors.
Теперь вместо привычного:
class Point {
int x;
int y;
Point(this.x, this.y);
}можно писать:
class Point(var int x, var int y);
Меньше кода — та же семантика.
🧩 А если нужен initializer или body?
Можно добавить
this body:class Point(var int x, var int y) {
this : assert(x >= 0) {
print('Point created at $x, $y');
}
}Кроме того, Dart теперь позволяет писать конструкторы внутри класса без повторения имени класса:
class Point {
int x, y;
new(this.x, this.y);
new origin() : x = 0, y = 0;
factory clone(Point other) => Point(other.x, other.y);
}Чтобы использовать Primary Constructors, SDK constraint должен быть 3.13+:
environment:
sdk: ^3.13.0
🧠 Analyzer стал умнее
Dart 3.13 добавляет новые возможности LSP:
• Inline Values — значения переменных прямо во время debugging
• поддержка Flutter Widget Preview
• интеграция Analysis Server с Dart Tooling Daemon
То есть IDE получает больше информации непосредственно от Dart analyzer.
🧹 Новые lint rules
Появились новые проверки, среди которых:
async_return_with_no_awaitempty_container_bodiesinitialize_in_field_declarationunnecessary_const_in_enum_constructorunnecessary_primary_constructor_bodyunnecessary_type_name_in_constructoruse_declaring_parametersА экспериментальный:
use_primary_constructors
может рекомендовать переход на новый синтаксис primary constructors.
⚡️ Новое в
dart:isolateПоявились API для более низкоуровневого управления isolate и event loop:
Isolate.runSync
Isolate.create
Isolate.shutdownSync
Isolate.pinToCurrentThread
Isolate.runEventLoopSync
Isolate.onEvent
Isolate.handleEvent
Это уже особенно интересно разработчикам высокопроизводительных приложений и тем, кто работает с concurrency на низком уровне.
📦 Новые возможности коллекций
В
dart:core:List.unmodifiableOf(...)
Map.unmodifiableOf(...)
Плюс новые эффективные операции для подсчёта битов у
int:trailingZeroBitCount
oneBitCount
🌐 JavaScript / Web interop
JSFunction и JSExportedDartFunction теперь generic.Появился:
JSObject.getPrototypeOf()
Это продолжает общую тенденцию Dart — постепенно делать JS/Web interop более типобезопасным.
📦 Pub и CLI тоже получили апдейты
Например:
dart pub workspace list
теперь позволяет посмотреть пакеты workspace и их директории, в том числе в JSON.
А
dart build cli получил cross-compilation:dart build cli --target-os ... --target-arch ...
То есть Dart CLI становится всё более полноценным инструментом для создания и распространения native-приложений.
⚠️ Но есть breaking changes
В Dart 3.13 есть несколько изменений, которые могут потребовать правок в существующем коде.
Например, изменился тип возвращаемых значений
NetworkInterface.addresses, а работа с некоторыми файловыми timestamp теперь сохраняет microsecond precision.Также изменено поведение type promotion, чтобы избежать потенциально unsound поведения.
Поэтому для крупных проектов перед обновлением лучше посмотреть changelog.
Главное впечатление от Dart 3.13:
Dart не пытается устроить революцию. Он делает язык короче, строже и удобнее.
И особенно хорошо это видно по Primary Constructors:
// было
class User {
final int id;
final String name;
User(this.id, this.name);
}
// стало
class User(var int id, var String name);
Для Flutter-проектов с большим количеством моделей это потенциально очень приятное сокращение boilerplate.
#flutter #dart #FlutterPulse #FlutterPulseNews
👍3🔥2🤮1
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_chen_refresh 4.0.0 — пакет для pull-to-refresh и бесконечной прокрутки (ListView, GridView, Slivers) с поддержкой двухуровневого обновления, горизонтального режима и гибкой настройки физики скролла.
Исправлена перепривязка контроллера и гонки при одновременном refresh/load. Улучшена физика скролла, переходы двухуровневого обновления и безопасность асинхронного жизненного цикла. Сохраняются настройки ScrollView, добавлена поддержка
Лайки: 13, Скачиваний: 198
pub.dev/packages/flutter_chen_refresh
dart_pdf_editor 3.5.1 — нативный PDF-вьювер и редактор для Flutter (iOS, Android, Web, Desktop) без платформовых вью и нативных библиотек.
Исправление: устранён рендер маскированных изображений в чёрные блоки на Impeller (iOS/macOS). Теперь soft-mask композитинг корректно применяется на границе слоя.
Лайки: 19, Скачиваний: 6.8K
pub.dev/packages/dart_pdf_editor
gg_version 5.3.0 — утилита для единого версионирования Dart-пакетов.
Обновлён до Dart 3.13, чистка заголовков копирайта, настроен пайплайн quick-check.
Лайки: 1, Скачиваний: 10.8K
pub.dev/packages/gg_version
flutter_inapp_purchase 10.3.1 — плагин для встроенных покупок (iOS/Android) по стандарту OpenIAP.
Обновлены нативные ядра: Google Play Billing 3.3.1, Apple StoreKit 3.2.1. Укреплена совместимость с SDK и обработка ответов IAPKit. Добавлен версионированный набор тестов на соответствие спецификации (исправлены баги с entitlements). Обновлена документация: живая диаграмма экосистемы, страница миграции.
Лайки: 442, Скачиваний: 7.6K
pub.dev/packages/flutter_inapp_purchase
ApolloVM 2.27.0 — переносимая VM (Dart, Java, Kotlin, Go, C#, JS/TS, Lua, Python) для интерпретации, кросstranspilation и JIT-компиляции в Wasm (<10 Мб).
Лайки: 55, Скачиваний: 4.6K
pub.dev/packages/apollovm
gg_publish 4.4.0 — инструменты для публикации Dart-пакетов (версионирование, проверки).
Обновлён до Dart 3.13 + автофиксы, переработаны заголовки копирайта, настроен пайплайн quick-check.
Лайки: 1, Скачиваний: 11.7K
pub.dev/packages/gg_publish
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter_chen_refresh #dart_pdf_editor #gg_version #flutter_inapp_purchase #apollovm #gg_publish #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
flutter_chen_refresh 4.0.0 — пакет для pull-to-refresh и бесконечной прокрутки (ListView, GridView, Slivers) с поддержкой двухуровневого обновления, горизонтального режима и гибкой настройки физики скролла.
Исправлена перепривязка контроллера и гонки при одновременном refresh/load. Улучшена физика скролла, переходы двухуровневого обновления и безопасность асинхронного жизненного цикла. Сохраняются настройки ScrollView, добавлена поддержка
shrink-wrapped sliver-лейаутов. Починены утечки ресурсов индикаторов и обработка обновлений конфигурации.Лайки: 13, Скачиваний: 198
pub.dev/packages/flutter_chen_refresh
dart_pdf_editor 3.5.1 — нативный PDF-вьювер и редактор для Flutter (iOS, Android, Web, Desktop) без платформовых вью и нативных библиотек.
Исправление: устранён рендер маскированных изображений в чёрные блоки на Impeller (iOS/macOS). Теперь soft-mask композитинг корректно применяется на границе слоя.
Лайки: 19, Скачиваний: 6.8K
pub.dev/packages/dart_pdf_editor
gg_version 5.3.0 — утилита для единого версионирования Dart-пакетов.
Обновлён до Dart 3.13, чистка заголовков копирайта, настроен пайплайн quick-check.
Лайки: 1, Скачиваний: 10.8K
pub.dev/packages/gg_version
flutter_inapp_purchase 10.3.1 — плагин для встроенных покупок (iOS/Android) по стандарту OpenIAP.
Обновлены нативные ядра: Google Play Billing 3.3.1, Apple StoreKit 3.2.1. Укреплена совместимость с SDK и обработка ответов IAPKit. Добавлен версионированный набор тестов на соответствие спецификации (исправлены баги с entitlements). Обновлена документация: живая диаграмма экосистемы, страница миграции.
Лайки: 442, Скачиваний: 7.6K
pub.dev/packages/flutter_inapp_purchase
ApolloVM 2.27.0 — переносимая VM (Dart, Java, Kotlin, Go, C#, JS/TS, Lua, Python) для интерпретации, кросstranspilation и JIT-компиляции в Wasm (<10 Мб).
Dart-сеттеры (set name(v) {…}) — парсинг, исполнение, генерация кода и компиляция в Wasm. Остальные таргеты выбрасывают UnsupportedSyntaxError. Фикс потери геттеров при трансляции в Python, Go и Lua — аксессоры больше не исчезают.Лайки: 55, Скачиваний: 4.6K
pub.dev/packages/apollovm
gg_publish 4.4.0 — инструменты для публикации Dart-пакетов (версионирование, проверки).
Обновлён до Dart 3.13 + автофиксы, переработаны заголовки копирайта, настроен пайплайн quick-check.
Лайки: 1, Скачиваний: 11.7K
pub.dev/packages/gg_publish
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter_chen_refresh #dart_pdf_editor #gg_version #flutter_inapp_purchase #apollovm #gg_publish #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
👍1
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_gemma 1.5.6 — плагин для запуска LLM (Gemma, Qwen, DeepSeek, Phi, SmolLM и др.) прямо на устройстве во Flutter. Поддержка iOS, Android, Web, Desktop, мультимодальность, function calling, RAG, агенты и голос (STT/TTS) офлайн.
🐛 Исправлена утечка «сырого» JSON вызовов инструментов в текстовый поток при стриминге Gemma 4.
❤️ 421 лайк | 📥 24.4К скачиваний
pub.dev/packages/flutter_gemma
flutter_barcode_sdk 5.1.2 — кроссплатформенный плагин для сканирования и распознавания штрих-кодов (1D/2D) на базе Dynamsoft Barcode Reader. Работает на Android, iOS, Web, Windows, Linux, macOS.
Исправлена сборка под macOS. Теперь зависимость
👍 150 лайков | 📥 1.6К скачиваний
pub.dev/packages/flutter_barcode_sdk
Melos 8.3.0 — инструмент для управления Dart-монорепозиториями (аналог Lerna), упрощающий версионирование, публикацию и запуск скриптов в мультипакетных проектах.
🔧 Исправления: IDE-файлы теперь учитывают
⭐ 939 лайков | 📥 1.36М скачиваний
pub.dev/packages/melos
audio_manager 0.9.2 — плагин для воспроизведения музыки с уведомлениями (iOS: AVPlayer, Android: MediaPlayer).
🌐 Web: переписан на
⭐ 150 лайков | 📥 264 скачивания
pub.dev/packages/audio_manager
flutter_chen_common 5.5.0 — «швейцарский нож» для Flutter-разработки: темы, сеть (с ретраями и токенами), логирование в файлы, умные списки, тосты без контекста и UI-компоненты (марки, попапы, драггера).
🔄 Обновление: зависимости обновлены до актуальных стабильных версий.
👍 25 лайков | 📥 548 скачиваний
pub.dev/packages/flutter_chen_common
multi_dropdown 3.2.2 — мощный виджет мультиселекта для Flutter с поиском, валидацией, контроллером и группировкой.
🔓 Лицензия изменена с GPL-3.0 на MIT — теперь свободно используйте в коммерческих проектах. 🐛 Фикс краша на Flutter 3.47+: устранена ошибка «No Material widget found» при открытии дропдауна. ⚙️ Исправлена CI-валидация при публикации.
👍 385 лайков | 📥 38К скачиваний
pub.dev/packages/multi_dropdown
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_gemma #flutter_barcode_sdk #melos #audio_manager #flutter_chen_common #multi_dropdown
flutter_gemma 1.5.6 — плагин для запуска LLM (Gemma, Qwen, DeepSeek, Phi, SmolLM и др.) прямо на устройстве во Flutter. Поддержка iOS, Android, Web, Desktop, мультимодальность, function calling, RAG, агенты и голос (STT/TTS) офлайн.
🐛 Исправлена утечка «сырого» JSON вызовов инструментов в текстовый поток при стриминге Gemma 4.
❤️ 421 лайк | 📥 24.4К скачиваний
pub.dev/packages/flutter_gemma
flutter_barcode_sdk 5.1.2 — кроссплатформенный плагин для сканирования и распознавания штрих-кодов (1D/2D) на базе Dynamsoft Barcode Reader. Работает на Android, iOS, Web, Windows, Linux, macOS.
Исправлена сборка под macOS. Теперь зависимость
flutter_barcode_sdk_macos ^1.0.2 автоматически подкладывает нужные ресурсы Dynamsoft (Templates/Models) через post_install в Podfile — ошибка InitSettings error -10030 больше не воспроизводится. Обновлён README с готовым сниппетом для настройки.👍 150 лайков | 📥 1.6К скачиваний
pub.dev/packages/flutter_barcode_sdk
Melos 8.3.0 — инструмент для управления Dart-монорепозиториями (аналог Lerna), упрощающий версионирование, публикацию и запуск скриптов в мультипакетных проектах.
🔧 Исправления: IDE-файлы теперь учитывают
PUB_CACHE; флаг --yes работает для ручного версионирования. ✨ Фича: добавлен опциональный режим фиксированного версионирования (fixed versioning).⭐ 939 лайков | 📥 1.36М скачиваний
pub.dev/packages/melos
audio_manager 0.9.2 — плагин для воспроизведения музыки с уведомлениями (iOS: AVPlayer, Android: MediaPlayer).
🌐 Web: переписан на
package:web (HTMLAudioElement) — исправлен краш, добавлены события, работают локальные ассеты в релизе. 🤖 Android 13+: запрос POST_NOTIFICATIONS в рантайме, фикс обложки в уведомлении, утечки stop в релизе, очистка карточки при выходе. 🍎 iOS: миграция на UIScene, фикс паузы, громкости и отображения уведомлений. ⚙️ Обновлён тулчейн, синхронизирован timeupdate/setVolume, рефакторинг примера + CI.⭐ 150 лайков | 📥 264 скачивания
pub.dev/packages/audio_manager
flutter_chen_common 5.5.0 — «швейцарский нож» для Flutter-разработки: темы, сеть (с ретраями и токенами), логирование в файлы, умные списки, тосты без контекста и UI-компоненты (марки, попапы, драггера).
🔄 Обновление: зависимости обновлены до актуальных стабильных версий.
👍 25 лайков | 📥 548 скачиваний
pub.dev/packages/flutter_chen_common
multi_dropdown 3.2.2 — мощный виджет мультиселекта для Flutter с поиском, валидацией, контроллером и группировкой.
🔓 Лицензия изменена с GPL-3.0 на MIT — теперь свободно используйте в коммерческих проектах. 🐛 Фикс краша на Flutter 3.47+: устранена ошибка «No Material widget found» при открытии дропдауна. ⚙️ Исправлена CI-валидация при публикации.
👍 385 лайков | 📥 38К скачиваний
pub.dev/packages/multi_dropdown
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_gemma #flutter_barcode_sdk #melos #audio_manager #flutter_chen_common #multi_dropdown
Самые лучшие обновлённые пакеты за последние 24 часа
restart_app 1.9.1 — перезапуск Flutter-приложения из Dart одним вызовом на всех платформах.
Что нового: исправлена сборка на Android с AGP 9 (ошибка
👍 Лайки: 523, 📥 Скачиваний: 135K
pub.dev/packages/restart_app
flutter_gemma 1.5.9 — запуск LLM (Gemma, Qwen, DeepSeek, Phi, SmolLM и др.) на устройстве: iOS, Android, Web, Desktop. Поддержка мультимодальности, function calling, RAG, агентов и голоса (STT/TTS) офлайн.
Что нового: добавлен
👍 Лайки: 421, 📥 Скачиваний: 24.5K
pub.dev/packages/flutter_gemma
better_player 0.4.3 — продвинутый видеоплеер для Flutter (HLS, DASH, DRM, PiP, кэш, плейлисты).
Что нового: полностью переработана документация (стиль, грамматика, алерты). Добавлена продвинутая доступность (a11y): локализованные подписи и семантика для контролов и прогресс-бара. Исправлен URL видео на главной странице примера.
👍 Лайки: 1.3K, 📥 Скачиваний: 3.2K
pub.dev/packages/better_player
otp_text_field 1.1.4 — пакет для создания полей ввода OTP-кодов в Flutter.
Что нового: исправлена вставка из буфера обмена, убран баг с выделением курсора при фокусе, добавлены тесты и обновлены зависимости.
👍 Лайки: 278, 📥 Скачиваний: 32.5K
pub.dev/packages/otp_text_field
firestore_cache 2.21.0 — плагин для Flutter, ускоряющий работу с Firestore: сначала читает данные из кэша, потом обновляет с сервера (по таймстампу в документе-маркере).
Что нового: внутренние улучшения и исправления.
👍 Лайки: 107, 📥 Скачиваний: 2.1K
pub.dev/packages/firestore_cache
device_marketing_names 2.0.3 — пакет для Flutter/Dart, превращающий технические коды устройств (вроде
Что нового: актуальна база устройств на 28.06.2026 (источник:
👍 Лайки: 46, 📥 Скачиваний: 37.9K
pub.dev/packages/device_marketing_names
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #restart_app #flutter_gemma #better_player #otp_text_field #firestore_cache #device_marketing_names
restart_app 1.9.1 — перезапуск Flutter-приложения из Dart одним вызовом на всех платформах.
Что нового: исправлена сборка на Android с AGP 9 (ошибка
Could not find method kotlin()). Плагин теперь корректно определяет наличие Kotlin-тулчейна вместо проверки мажорной версии AGP. Добавлен CI-тест на AGP 9.0/9.1.👍 Лайки: 523, 📥 Скачиваний: 135K
pub.dev/packages/restart_app
flutter_gemma 1.5.9 — запуск LLM (Gemma, Qwen, DeepSeek, Phi, SmolLM и др.) на устройстве: iOS, Android, Web, Desktop. Поддержка мультимодальности, function calling, RAG, агентов и голоса (STT/TTS) офлайн.
Что нового: добавлен
getActiveModel() с параметрами preferredVisionBackend и preferredAudioBackend — теперь можно форсировать бэкенд (CPU/GPU/NPU) под конкретный энкодер.👍 Лайки: 421, 📥 Скачиваний: 24.5K
pub.dev/packages/flutter_gemma
better_player 0.4.3 — продвинутый видеоплеер для Flutter (HLS, DASH, DRM, PiP, кэш, плейлисты).
Что нового: полностью переработана документация (стиль, грамматика, алерты). Добавлена продвинутая доступность (a11y): локализованные подписи и семантика для контролов и прогресс-бара. Исправлен URL видео на главной странице примера.
👍 Лайки: 1.3K, 📥 Скачиваний: 3.2K
pub.dev/packages/better_player
otp_text_field 1.1.4 — пакет для создания полей ввода OTP-кодов в Flutter.
Что нового: исправлена вставка из буфера обмена, убран баг с выделением курсора при фокусе, добавлены тесты и обновлены зависимости.
👍 Лайки: 278, 📥 Скачиваний: 32.5K
pub.dev/packages/otp_text_field
firestore_cache 2.21.0 — плагин для Flutter, ускоряющий работу с Firestore: сначала читает данные из кэша, потом обновляет с сервера (по таймстампу в документе-маркере).
Что нового: внутренние улучшения и исправления.
👍 Лайки: 107, 📥 Скачиваний: 2.1K
pub.dev/packages/firestore_cache
device_marketing_names 2.0.3 — пакет для Flutter/Dart, превращающий технические коды устройств (вроде
iPhone13,4 или SM-G980F) в маркетинговые названия (iPhone 12 Pro Max, Galaxy S20). Работает офлайн, поддерживает Android, iOS и браузеры.Что нового: актуальна база устройств на 28.06.2026 (источник:
device_identifiers) и обновлены зависимости.👍 Лайки: 46, 📥 Скачиваний: 37.9K
pub.dev/packages/device_marketing_names
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #restart_app #flutter_gemma #better_player #otp_text_field #firestore_cache #device_marketing_names
👍1
Новые пакеты за неделю
curved_roadmap — виджет для красивых извилистых дорожек прогресса (онбординг, таймлайны, обучающие пути).
✅ Чистый Dart/Flutter, работает на всех 6 платформах.
🎨 Поддержка градиентов, анимаций, маркеров, подписей и разных стилей кривых (S-образные, зигзаги, змеевики).
📦 Легко темизируется через
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/curved_roadmap
deeplink_setup — CLI для Flutter, который избавляет от боли с диплинками.
Генерирует
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/deeplink_setup
seed_ui v0.6.3 — темизируемый UI‑кит для Flutter на дизайн‑токенах.
Библиотека даёт готовые компоненты (
Фишки: токен‑драйвен теминг (лайт/дарк из коробки), глобальные
👍 Лайки: 1, 📥 Скачиваний: 80
https://pub.dev/packages/seed_ui
fyral_comms — готовый UI‑кит для чатов и командной связи на Flutter.
✨ Фишки: адаптивный split‑screen (сайдбар + диалог) на планшетах, морфинг FAB в поле ввода с анимацией, единые градиентные заголовки и подсветка выбранного чата, полная поддержка светлой/тёмной темы без доп. настроек.
📦 Установка:
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/fyral_comms
ezyrevenue — Flutter SDK для кроссплатформенных in-app подписок (iOS/Android).
Один API-ключ, одна инициализация — библиотека сама управляет авторизацией, кэшем сессий, офферами и покупками.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/ezyrevenue
flutter_pruner — инструмент для безопасной семантической очистки Dart/Flutter-проектов.
Находит недостижимый код, неиспользуемые ассеты и байт-в-байт дубликаты. Удаляет только то, что позволяет настроенная политика безопасности (есть dry-run, карантин файлов и откат).
👍 Лайки: 4, 📥 Скачиваний: 0
https://pub.dev/packages/flutter_pruner
Поддержать канал
FlutterPulse — канал о мире Flutter!
#curved_roadmap #deeplink_setup #seed_ui #fyral_comms #ezyrevenue #flutter_pruner #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
curved_roadmap — виджет для красивых извилистых дорожек прогресса (онбординг, таймлайны, обучающие пути).
✅ Чистый Dart/Flutter, работает на всех 6 платформах.
🎨 Поддержка градиентов, анимаций, маркеров, подписей и разных стилей кривых (S-образные, зигзаги, змеевики).
📦 Легко темизируется через
ThemeExtension.👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/curved_roadmap
deeplink_setup — CLI для Flutter, который избавляет от боли с диплинками.
Генерирует
assetlinks.json и apple-app-site-association, правит нативные проекты (Android App Links / iOS Universal Links) и валидирует всё локально и на проде. Главная фича — проверка кэша Apple CDN (AASA), чтобы сразу видеть, почему ссылки не открываются.👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/deeplink_setup
seed_ui v0.6.3 — темизируемый UI‑кит для Flutter на дизайн‑токенах.
Библиотека даёт готовые компоненты (
Button, Input, таблицы, нотификации, модалки, дропдауны и др.) без жёсткой привязки к Material. Вся тема строится от пары «seed»-цветов: поменяли colorPrimary — перекрасилось всё приложение.Фишки: токен‑драйвен теминг (лайт/дарк из коробки), глобальные
message.success() и notification.error() без BuildContext, виджеты на чистом flutter/widgets.dart — работают и в Material, и в Cupertino, богатый набор: от Button и Input до Tree, SortableList, Tour и Upload.👍 Лайки: 1, 📥 Скачиваний: 80
https://pub.dev/packages/seed_ui
fyral_comms — готовый UI‑кит для чатов и командной связи на Flutter.
✨ Фишки: адаптивный split‑screen (сайдбар + диалог) на планшетах, морфинг FAB в поле ввода с анимацией, единые градиентные заголовки и подсветка выбранного чата, полная поддержка светлой/тёмной темы без доп. настроек.
📦 Установка:
flutter pub add fyral_comms👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/fyral_comms
ezyrevenue — Flutter SDK для кроссплатформенных in-app подписок (iOS/Android).
Один API-ключ, одна инициализация — библиотека сама управляет авторизацией, кэшем сессий, офферами и покупками.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/ezyrevenue
flutter_pruner — инструмент для безопасной семантической очистки Dart/Flutter-проектов.
Находит недостижимый код, неиспользуемые ассеты и байт-в-байт дубликаты. Удаляет только то, что позволяет настроенная политика безопасности (есть dry-run, карантин файлов и откат).
👍 Лайки: 4, 📥 Скачиваний: 0
https://pub.dev/packages/flutter_pruner
Поддержать канал
FlutterPulse — канал о мире Flutter!
#curved_roadmap #deeplink_setup #seed_ui #fyral_comms #ezyrevenue #flutter_pruner #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
🔥1
Самые лучшие обновлённые пакеты за последние 24 часа
serverpod_database 4.0.0-beta.4
Внутренний пакет фреймворка Serverpod (БД/миграции). Не для прямого использования. BREAKING: переработана иерархия исключений клиента (новый
👍 Лайки: 0, 📥 Скачиваний: 12.3K
https://pub.dev/packages/serverpod_database
saropa_lints 15.2.2
Линтер, ловящий утечки памяти, дыры в безопасности и краши, которые пропускают стандартные инструменты. Работает в паре с VS Code-расширением (Health Score, Security Posture, триаж правил, анализ зависимостей). CLI
👍 Лайки: 9, 📥 Скачиваний: 6.3K
https://pub.dev/packages/saropa_lints
macro_kit 0.7.4
Мгновенная генерация кода для Dart без
👍 Лайки: 47, 📥 Скачиваний: 277
https://pub.dev/packages/macro_kit
layrz_models 3.31.1
SDK для работы с API Layrz: превращает ответы сервера в Dart-объекты для Flutter. Обновлён GQL-фрагмент
👍 Лайки: 3, 📥 Скачиваний: 10.1K
https://pub.dev/packages/layrz_models
qrscan 1.2.4
Минималистичный сканер QR/штрих-кодов для Flutter. Открывает камеру, декодирует, возвращает строку, закрывается. Без виджетов, оверлеев и лишних зависимостей (CameraX/ZXing на Android, AVFoundation/Vision на iOS). В обновлении: добавлен референс-утилита
👍 Лайки: 391, 📥 Скачиваний: 312
https://pub.dev/packages/qrscan
serverpod_embedded_postgres 4.0.0-beta.4
Запускает настоящий PostgreSQL (с PostGIS и pgvector) как дочерний процесс для локальной разработки Serverpod. Без Docker, конфликтов портов и долгих билдов — бинарники качаются в кэш и стартуют за <1 сек. BREAKING: иерархия исключений БД переработана (конкретные ошибки unique/foreign key, locked). BREAKING: исключения клиента рефакторены: сетевые ошибки в
👍 Лайки: 0, 📥 Скачиваний: 12.2K
https://pub.dev/packages/serverpod_embedded_postgres
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #serverpod_database #saropa_lints #macro_kit #layrz_models #qrscan #serverpod_embedded_postgres
serverpod_database 4.0.0-beta.4
Внутренний пакет фреймворка Serverpod (БД/миграции). Не для прямого использования. BREAKING: переработана иерархия исключений клиента (новый
ServerpodClientHttpException) и БД (специфичные ошибки constraints, locked). Добавлена опциональная httpOnly cookie-авторизация для веба. Поддержка deferred/deferrable FK для отложенной проверки в транзакциях. Генерация явных FK-колонок через field=. Стабильные префиксы импортов в генерируемом коде. Фиксы миграций, форматтера и TUI.👍 Лайки: 0, 📥 Скачиваний: 12.3K
https://pub.dev/packages/serverpod_database
saropa_lints 15.2.2
Линтер, ловящий утечки памяти, дыры в безопасности и краши, которые пропускают стандартные инструменты. Работает в паре с VS Code-расширением (Health Score, Security Posture, триаж правил, анализ зависимостей). CLI
scan: --min-impact (фильтр по реальному влиянию), --fail-on (выход с кодом 1 при ошибках заданного уровня), --json-file-path (прямой вывод JSON), --quiet (тихий режим для CI). Исправлен лимит max_issues для панели Problems.👍 Лайки: 9, 📥 Скачиваний: 6.3K
https://pub.dev/packages/saropa_lints
macro_kit 0.7.4
Мгновенная генерация кода для Dart без
build_runner (Ctrl+S и готово). ComputeMacro: поддержка форсированной пересборки (always_rebuild_on_connect) и файловых зависимостей в deps (изменение assets/data.json триггерит обновление). CLI: команда rebuild [target] для ручной регенерации. Фикс: тела макросов выполняются с рабочей директорией в корне проекта (работают относительные пути).👍 Лайки: 47, 📥 Скачиваний: 277
https://pub.dev/packages/macro_kit
layrz_models 3.31.1
SDK для работы с API Layrz: превращает ответы сервера в Dart-объекты для Flutter. Обновлён GQL-фрагмент
User. Исправлено именование brickhouseUsers.👍 Лайки: 3, 📥 Скачиваний: 10.1K
https://pub.dev/packages/layrz_models
qrscan 1.2.4
Минималистичный сканер QR/штрих-кодов для Flutter. Открывает камеру, декодирует, возвращает строку, закрывается. Без виджетов, оверлеев и лишних зависимостей (CameraX/ZXing на Android, AVFoundation/Vision на iOS). В обновлении: добавлен референс-утилита
scan_handle.dart для парсинга популярных форматов: URL, Wi-Fi, мед. направления, номера пакетов и EAN. Плагин по-прежнему отдаёт только сырую строку.👍 Лайки: 391, 📥 Скачиваний: 312
https://pub.dev/packages/qrscan
serverpod_embedded_postgres 4.0.0-beta.4
Запускает настоящий PostgreSQL (с PostGIS и pgvector) как дочерний процесс для локальной разработки Serverpod. Без Docker, конфликтов портов и долгих билдов — бинарники качаются в кэш и стартуют за <1 сек. BREAKING: иерархия исключений БД переработана (конкретные ошибки unique/foreign key, locked). BREAKING: исключения клиента рефакторены: сетевые ошибки в
ServerpodClientHttpException. Исправлено восстановление входящих FK при регенерации таблиц. Добавлены флаги deferred / deferrable для отношений. Стабильные префиксы импортов в генерируемом коде.👍 Лайки: 0, 📥 Скачиваний: 12.2K
https://pub.dev/packages/serverpod_embedded_postgres
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #serverpod_database #saropa_lints #macro_kit #layrz_models #qrscan #serverpod_embedded_postgres
Primary Constructors в Dart: долгий путь к элегантному синтаксису ✨
Вы когда-нибудь задумывались, почему такая, казалось бы, очевидная фича, как primary constructors, появилась в Dart не сразу? 🤔
Команда языка потратила огромное количество времени и итераций, прежде чем дизайн стал выглядеть действительно надёжным и «дартовым». Боб Нюстром (Bob Nystrom) поделился внутренней кухней этого процесса: какие подводные камни встречались, почему первые прототипы отбрасывались и как в итоге родилось то, чем мы пользуемся сейчас.
Это отличный кейс: даже для простых вещей иногда нужно пройти через десятки «нет», чтобы сказать одно правильное «да». Читать историю эволюции синтаксиса — значит лучше понять философию языка. 🧠💡
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #languageDesign #dart3 #cleanCode
Вы когда-нибудь задумывались, почему такая, казалось бы, очевидная фича, как primary constructors, появилась в Dart не сразу? 🤔
Команда языка потратила огромное количество времени и итераций, прежде чем дизайн стал выглядеть действительно надёжным и «дартовым». Боб Нюстром (Bob Nystrom) поделился внутренней кухней этого процесса: какие подводные камни встречались, почему первые прототипы отбрасывались и как в итоге родилось то, чем мы пользуемся сейчас.
Это отличный кейс: даже для простых вещей иногда нужно пройти через десятки «нет», чтобы сказать одно правильное «да». Читать историю эволюции синтаксиса — значит лучше понять философию языка. 🧠💡
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #languageDesign #dart3 #cleanCode
Самые лучшие обновлённые пакеты за последние 24 часа
smooth_sheets 1.1.2 — виджеты модальных и постоянных боттом-шитов с плавной анимацией, поддержкой вложенной навигации (в т.ч. go_router) и кастомным дизайном.
🛠 Что нового: исправлен краш Widget Inspector при отключении драга листа (#595).
👍 Лайки: 652, 📥 Скачиваний: 98.4K
https://pub.dev/packages/smooth_sheets
dart_openai 8.0.0 — неофициальный Dart/Flutter SDK для OpenAI API (чат, реалтайм, видео, файлы, файн-тюнинг, админка и др.). Работает везде: Android, iOS, Web, десктоп, сервер.
🛠 Главное в 8.0.0: полная поддержка Flutter Web (убраны импорты dart:io), авто-ретраи (OpenAIRetryPolicy), Watchdog для стримов, парсинг rate-limit заголовков, нативная поддержка Azure OpenAI, жёсткая типизация моделей.
⚠ Брейкинг: методы загрузки файлов принимают только OpenAIFile.
👍 Лайки: 575, 📥 Скачиваний: 16.8K
https://pub.dev/packages/dart_openai
ed25519_edwards 0.3.2 — порт Go-реализации Ed25519 для подписи и верификации (Edwards-кривая). Низкоуровневый API для криптографических примитивов.
🛠 В обновлении: поправлен pubspec.yaml для рейтинга pub.dev, обновлена совместимость с SDK и конфиг линтера.
👍 Лайки: 13, 📥 Скачиваний: 533K
https://pub.dev/packages/ed25519_edwards
googleapis 17.0.0 — сгенерированные Dart-библиотеки для доступа к Google API (Admin SDK, AdMob, Cloud, YouTube и 200+ других).
🛠 Главное в обновлении: устарели API cloudfunctions, firestore, iam и др. (перенесены в google_cloud_*); добавлены agentidentity, health, merchantapi, searchads360 и др.; удалены analytics, apigeeregistry, dfareporting и др.
👍 Лайки: 1140, 📥 Скачиваний: 1.0M
https://pub.dev/packages/googleapis
_discoveryapis_commons 1.0.8 — вспомогательный пакет для работы Dart-кода с API Discovery Service (не для прямого использования).
🛠 Что нового: исправлено определение веб-среды, требуется SDK ^3.9.0.
👍 Лайки: 3, 📥 Скачиваний: 924K
https://pub.dev/packages/_discoveryapis_commons
flutter_expandable_fab 3.0.0 — Speed Dial FAB (раскрывающаяся кнопка действия) с поддержкой вертикального, горизонтального и веерного раскрытия, гибкой кастомизацией и программным управлением.
💥 BREAKING v3.0.0: миграция на пакет material_ui (вместо flutter/material.dart), ExpandableFab.location возвращает локацию из material_ui (несовместима со стандартным Scaffold), мин. требования: Dart ≥3.12, Flutter ≥3.44. Приложения на стандартном Material должны оставаться на 2.5.x.
👍 Лайки: 446, 📥 Скачиваний: 24.2K
https://pub.dev/packages/flutter_expandable_fab
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #smooth_sheets #dart_openai #ed25519_edwards #googleapis #_discoveryapis_commons #flutter_expandable_fab
smooth_sheets 1.1.2 — виджеты модальных и постоянных боттом-шитов с плавной анимацией, поддержкой вложенной навигации (в т.ч. go_router) и кастомным дизайном.
🛠 Что нового: исправлен краш Widget Inspector при отключении драга листа (#595).
👍 Лайки: 652, 📥 Скачиваний: 98.4K
https://pub.dev/packages/smooth_sheets
dart_openai 8.0.0 — неофициальный Dart/Flutter SDK для OpenAI API (чат, реалтайм, видео, файлы, файн-тюнинг, админка и др.). Работает везде: Android, iOS, Web, десктоп, сервер.
🛠 Главное в 8.0.0: полная поддержка Flutter Web (убраны импорты dart:io), авто-ретраи (OpenAIRetryPolicy), Watchdog для стримов, парсинг rate-limit заголовков, нативная поддержка Azure OpenAI, жёсткая типизация моделей.
⚠ Брейкинг: методы загрузки файлов принимают только OpenAIFile.
👍 Лайки: 575, 📥 Скачиваний: 16.8K
https://pub.dev/packages/dart_openai
ed25519_edwards 0.3.2 — порт Go-реализации Ed25519 для подписи и верификации (Edwards-кривая). Низкоуровневый API для криптографических примитивов.
🛠 В обновлении: поправлен pubspec.yaml для рейтинга pub.dev, обновлена совместимость с SDK и конфиг линтера.
👍 Лайки: 13, 📥 Скачиваний: 533K
https://pub.dev/packages/ed25519_edwards
googleapis 17.0.0 — сгенерированные Dart-библиотеки для доступа к Google API (Admin SDK, AdMob, Cloud, YouTube и 200+ других).
🛠 Главное в обновлении: устарели API cloudfunctions, firestore, iam и др. (перенесены в google_cloud_*); добавлены agentidentity, health, merchantapi, searchads360 и др.; удалены analytics, apigeeregistry, dfareporting и др.
👍 Лайки: 1140, 📥 Скачиваний: 1.0M
https://pub.dev/packages/googleapis
_discoveryapis_commons 1.0.8 — вспомогательный пакет для работы Dart-кода с API Discovery Service (не для прямого использования).
🛠 Что нового: исправлено определение веб-среды, требуется SDK ^3.9.0.
👍 Лайки: 3, 📥 Скачиваний: 924K
https://pub.dev/packages/_discoveryapis_commons
flutter_expandable_fab 3.0.0 — Speed Dial FAB (раскрывающаяся кнопка действия) с поддержкой вертикального, горизонтального и веерного раскрытия, гибкой кастомизацией и программным управлением.
💥 BREAKING v3.0.0: миграция на пакет material_ui (вместо flutter/material.dart), ExpandableFab.location возвращает локацию из material_ui (несовместима со стандартным Scaffold), мин. требования: Dart ≥3.12, Flutter ≥3.44. Приложения на стандартном Material должны оставаться на 2.5.x.
👍 Лайки: 446, 📥 Скачиваний: 24.2K
https://pub.dev/packages/flutter_expandable_fab
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #smooth_sheets #dart_openai #ed25519_edwards #googleapis #_discoveryapis_commons #flutter_expandable_fab
Собираем Rover Mini: от железа до gRPC и Flutter-пульта 🤖🚀
Друзья, прочитал крутую серию статей про создание компактного настольного ровера Rover Mini. Автор решил не рисковать большим роботом (он же был опасен резкими рывками!) и собрал мини-версию для безопасной отладки софта. Получился отличный кейс по фулл-стек робототехнике: от паяльника и проблем с питанием до gRPC-микросервисов и Flutter-приложения. Делюсь главными фишками! 👇
🛠 Железо и «танцы с бубном» питания
В основу лег RP2040-Zero (дешевле и удобнее Pico) и Raspberry Pi Zero 2 W. Плюс камера 120°, сервы, драйвер TB6612FNG и самособранный аккумулятор 2P2S с BMS.
Главная боль — перезагрузки Pi под нагрузкой моторов. Лечилось банально, но эффективно: заменой проводов питания на сечение 0.2 мм². Мораль: не экономьте на проводах! ⚡️
🧠 Архитектура: разделение труда
Микроконтроллер на TinyGo — это «мозг рефлексов»: моторы, сервы, безопасность. Raspberry Pi — «прокси и медиа-сервер»: камера (H.264 через
Связь MCU ↔️ Pi по UART с AT-подобными командами (
📱 Бэкенд, Прокси и Flutter
Бэкенд (Go) раздает JWT, управляет доступом к роверам и отдает токены для WebRTC.
Отдельно выделен сервис Proxy — он аутентифицирует юзера, находит ровер и поднимает двунаправленный gRPC-стрим (bridge) между приложением и железом. Архитектура позволяет масштабировать прокси независимо.
Мобильный клиент на Flutter (пока Android): автор отказался от крестообразного управления в пользу двух виртуальных стиков (как в PUBG/GTA). Решил лаги отрисовки скорости выносом виджета в отдельный компонент и миграцией на Riverpod. 🎮
⚙️ Секрет плавности: Машина состояний на 9 режимов
Самое вкусное — логика движения. Драйвер TB6612FNG не дает обратной связи по скорости. Изначально рампу (плавный разгон) считали на клиенте — спамили 100 сообщениями за нажатие. 😱
Решение: перенесли рампу на ровер! Теперь клиент шлет одно сообщение с булевым состоянием кнопки (1/0).
Управление 4 моторами + флаг тормоза кодируется 5-туплом
🔮 Планы автора: второй UART для LiDAR (230400 baud), автономная остановка перед препятствиями и настройка видеопотока (о чем будет следующая часть).
Читать полную историю с кодом и схемами здесь: статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #robotics #go #tinygo #grpc
Друзья, прочитал крутую серию статей про создание компактного настольного ровера Rover Mini. Автор решил не рисковать большим роботом (он же был опасен резкими рывками!) и собрал мини-версию для безопасной отладки софта. Получился отличный кейс по фулл-стек робототехнике: от паяльника и проблем с питанием до gRPC-микросервисов и Flutter-приложения. Делюсь главными фишками! 👇
🛠 Железо и «танцы с бубном» питания
В основу лег RP2040-Zero (дешевле и удобнее Pico) и Raspberry Pi Zero 2 W. Плюс камера 120°, сервы, драйвер TB6612FNG и самособранный аккумулятор 2P2S с BMS.
Главная боль — перезагрузки Pi под нагрузкой моторов. Лечилось банально, но эффективно: заменой проводов питания на сечение 0.2 мм². Мораль: не экономьте на проводах! ⚡️
🧠 Архитектура: разделение труда
Микроконтроллер на TinyGo — это «мозг рефлексов»: моторы, сервы, безопасность. Raspberry Pi — «прокси и медиа-сервер»: камера (H.264 через
rpicam-vid), логи в Loki, мост UART ↔️ gRPC.Связь MCU ↔️ Pi по UART с AT-подобными командами (
AT, DRIVE, TRIPOD). Логи прокидываются через Pi в формате $LOG. Взаимодействие с миром — только gRPC (Unary для бэка, Streams для управления), UDP отбросили ради надежности MVP.📱 Бэкенд, Прокси и Flutter
Бэкенд (Go) раздает JWT, управляет доступом к роверам и отдает токены для WebRTC.
Отдельно выделен сервис Proxy — он аутентифицирует юзера, находит ровер и поднимает двунаправленный gRPC-стрим (bridge) между приложением и железом. Архитектура позволяет масштабировать прокси независимо.
Мобильный клиент на Flutter (пока Android): автор отказался от крестообразного управления в пользу двух виртуальных стиков (как в PUBG/GTA). Решил лаги отрисовки скорости выносом виджета в отдельный компонент и миграцией на Riverpod. 🎮
⚙️ Секрет плавности: Машина состояний на 9 режимов
Самое вкусное — логика движения. Драйвер TB6612FNG не дает обратной связи по скорости. Изначально рампу (плавный разгон) считали на клиенте — спамили 100 сообщениями за нажатие. 😱
Решение: перенесли рампу на ровер! Теперь клиент шлет одно сообщение с булевым состоянием кнопки (1/0).
Управление 4 моторами + флаг тормоза кодируется 5-туплом
DRIVE=F,L,B,R,Brake. Реализовано 9 состояний: стоп (приоритет), 4 прямых, 4 комбинированных (вперед+влево и т.д.) с плавным замедлением внутренних колес для поворотов. Сейчас шаг инкремента = 1, разгон медленный — есть куда оптимизировать. 📈🔮 Планы автора: второй UART для LiDAR (230400 baud), автономная остановка перед препятствиями и настройка видеопотока (о чем будет следующая часть).
Читать полную историю с кодом и схемами здесь: статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #robotics #go #tinygo #grpc
🔥1
Java-бэкендер в одиночку написал Flutter MVP за 3 месяца: стоило ли оно того?
Представь: бэкенд-разработчица на Java Милена понимает, что команде срочно нужно мобильное приложение, а нанимать мобильных специалистов нет ни времени, ни бюджета. Решение? Взять Flutter в свои руки и написать MVP за три месяца, совмещая это с основной работой. 🚀
Архитектуру и стейт-менеджмент (Bloc, DI, репозитории, DTO) ей дались на ура — бэкенд-бэкграунд сыграл на руку. Но вот декларативный UI с его бесконечной вложенностью виджетов стал настоящим шоком после строгой структуры Java. Привыкнуть к этому «хаосу» ушло больше всего времени и нервов. 😅
Платформенные нюансы ударили неожиданно: «один код везде» — миф. Баги регулярно ползли только на iOS или только на Android. Главным боссом проекта стал календарь платежей: запутанная синхронизация, чужой код и цикл «починил одно — сломал другое». Авторизацию через Telegram-бота пришлось переделывать под мобильные реалии (сворачивание приложения рвало SSE-соединение). В отсутствии ментора главным помощником стал ИИ (Cursor): ускорил старт в разы, но ~40% советов были вредными и генерировали баги. ИИ не заменяет сеньора — у него нет контекста и инициативы. 🤖
Быт усугублял картину: никакого CI, а билды передавали через Telegram, который в какой-то момент просто заблокировали. 📉 Вердикт по Flutter: мобильная разработка не зашла. Вложенные виджеты остались чужеродными, отладка под iOS вызывала фрустрацию, а душа лежала к бэкенду (API, архитектура, авторизация).
Но опыт не пропал зря! 💡
1️⃣ Набила шишки на SSE — пригодилось потом на бэкенде.
2️⃣ Поняла, как живут фронтенд и боты — интеграции отлаживаются в разы быстрее.
3️⃣ Главное: замыкание полного цикла (Бэкенд → Приложение → Телефон в руках) мгновенно показывает ошибки и кардинально меняет качество работы.
Главный вывод: небольшой команде не всегда нужен узкий специалист. Освоить технологию до рабочего релиза реально, даже если она не становится основной. Приложение выпущено — это личная победа! 🏆
Читать полную историю с деталями: статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #mobiledev #backend #architecture
Представь: бэкенд-разработчица на Java Милена понимает, что команде срочно нужно мобильное приложение, а нанимать мобильных специалистов нет ни времени, ни бюджета. Решение? Взять Flutter в свои руки и написать MVP за три месяца, совмещая это с основной работой. 🚀
Архитектуру и стейт-менеджмент (Bloc, DI, репозитории, DTO) ей дались на ура — бэкенд-бэкграунд сыграл на руку. Но вот декларативный UI с его бесконечной вложенностью виджетов стал настоящим шоком после строгой структуры Java. Привыкнуть к этому «хаосу» ушло больше всего времени и нервов. 😅
Платформенные нюансы ударили неожиданно: «один код везде» — миф. Баги регулярно ползли только на iOS или только на Android. Главным боссом проекта стал календарь платежей: запутанная синхронизация, чужой код и цикл «починил одно — сломал другое». Авторизацию через Telegram-бота пришлось переделывать под мобильные реалии (сворачивание приложения рвало SSE-соединение). В отсутствии ментора главным помощником стал ИИ (Cursor): ускорил старт в разы, но ~40% советов были вредными и генерировали баги. ИИ не заменяет сеньора — у него нет контекста и инициативы. 🤖
Быт усугублял картину: никакого CI, а билды передавали через Telegram, который в какой-то момент просто заблокировали. 📉 Вердикт по Flutter: мобильная разработка не зашла. Вложенные виджеты остались чужеродными, отладка под iOS вызывала фрустрацию, а душа лежала к бэкенду (API, архитектура, авторизация).
Но опыт не пропал зря! 💡
1️⃣ Набила шишки на SSE — пригодилось потом на бэкенде.
2️⃣ Поняла, как живут фронтенд и боты — интеграции отлаживаются в разы быстрее.
3️⃣ Главное: замыкание полного цикла (Бэкенд → Приложение → Телефон в руках) мгновенно показывает ошибки и кардинально меняет качество работы.
Главный вывод: небольшой команде не всегда нужен узкий специалист. Освоить технологию до рабочего релиза реально, даже если она не становится основной. Приложение выпущено — это личная победа! 🏆
Читать полную историю с деталями: статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #mobiledev #backend #architecture
👍1
Мобильная разработка на Aurora OS: свой VS Code в браузере и плагин для автоматизации 🚀
Представь: срочно нужно поправить баг в проде, а под рукой только планшет. Автор статьи оказался в такой ситуации и решил не паниковать, а поднять полноценную IDE в облаке. Так родилась идея создать мобильное рабочее место для разработки под «Аврору» на базе code-server (веб-версия VS Code) на удалённом сервере ☁️
Стартовал с инфраструктуры: минимум 1 ГБ ОЗУ и 2 ядра (для сборок лучше 4/4). Aurora Platform SDK ставится нативно на сервере — в Docker ведёт себя капризно. code-server разворачивается официальным скриптом с автозапуском через systemd. Главное — безопасный доступ извне: настраиваем обратный прокси Caddy, который сам выдаёт и обновляет SSL-сертификаты (через acme.sh для доменов или самоподписанные для локальной сети/по IP) 🔒
Но заходить в браузерный терминал и гонять команды вручную — не наш метод. Автор написал собственный плагин для VS Code на TypeScript (генератор yo + generator-code, даже без локального Node.js — через Docker-образы). Архитектура расширения выстроена вокруг трёх панелей: «Устройства», «Проект» и «Инструменты» 🧩
Что умеет плагин:
⚙️ Мастер проектов — пошаговое создание приложения, добавление платформы Aurora, pub get, анализ, тесты и сборка под aarch64, armv7, x86_64 одной кнопкой.
📱 Управление железом по SSH: обмен ключами, терминал, передача файлов/пакетов, установка, запуск, стоп, логи.
🛠 Инструменты: настройки плагина, IP-устройств, подпись RPM-сертификатами.
Самый элегантный трюк — установка пакета без ввода пароля root. Вместо костылей с sudo или sfdk используется системная шина D-Bus и сервис ru.omp.APM. Запуск — через runtime-manager-tool (тоже по D-Bus), с поддержкой режима отладки и пробросом логов в консоль IDE 🎯
Готовый плагин пакуется vsce в .vsix — ставится локально или публикуется в маркетплейс. Итог: единая кнопка «Собрать → Залить → Установить → Запустить» прямо в редакторе.
Исходники открыты — можно форкать и адаптировать под себя. Такой сетап не заменит мощную станцию (нужен сервер, интернет, настройка доступа), но как «план Б» для полевых правок или экстренного дебага — просто спасение 🛟 И да, базовый каркас такого плагина за вас может сгенерировать нейросеть, останется только дописать логику.
Читать полную серию статей с кодом и конфигами: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #auroraos #vscode #code-server
Представь: срочно нужно поправить баг в проде, а под рукой только планшет. Автор статьи оказался в такой ситуации и решил не паниковать, а поднять полноценную IDE в облаке. Так родилась идея создать мобильное рабочее место для разработки под «Аврору» на базе code-server (веб-версия VS Code) на удалённом сервере ☁️
Стартовал с инфраструктуры: минимум 1 ГБ ОЗУ и 2 ядра (для сборок лучше 4/4). Aurora Platform SDK ставится нативно на сервере — в Docker ведёт себя капризно. code-server разворачивается официальным скриптом с автозапуском через systemd. Главное — безопасный доступ извне: настраиваем обратный прокси Caddy, который сам выдаёт и обновляет SSL-сертификаты (через acme.sh для доменов или самоподписанные для локальной сети/по IP) 🔒
Но заходить в браузерный терминал и гонять команды вручную — не наш метод. Автор написал собственный плагин для VS Code на TypeScript (генератор yo + generator-code, даже без локального Node.js — через Docker-образы). Архитектура расширения выстроена вокруг трёх панелей: «Устройства», «Проект» и «Инструменты» 🧩
Что умеет плагин:
⚙️ Мастер проектов — пошаговое создание приложения, добавление платформы Aurora, pub get, анализ, тесты и сборка под aarch64, armv7, x86_64 одной кнопкой.
📱 Управление железом по SSH: обмен ключами, терминал, передача файлов/пакетов, установка, запуск, стоп, логи.
🛠 Инструменты: настройки плагина, IP-устройств, подпись RPM-сертификатами.
Самый элегантный трюк — установка пакета без ввода пароля root. Вместо костылей с sudo или sfdk используется системная шина D-Bus и сервис ru.omp.APM. Запуск — через runtime-manager-tool (тоже по D-Bus), с поддержкой режима отладки и пробросом логов в консоль IDE 🎯
Готовый плагин пакуется vsce в .vsix — ставится локально или публикуется в маркетплейс. Итог: единая кнопка «Собрать → Залить → Установить → Запустить» прямо в редакторе.
Исходники открыты — можно форкать и адаптировать под себя. Такой сетап не заменит мощную станцию (нужен сервер, интернет, настройка доступа), но как «план Б» для полевых правок или экстренного дебага — просто спасение 🛟 И да, базовый каркас такого плагина за вас может сгенерировать нейросеть, останется только дописать логику.
Читать полную серию статей с кодом и конфигами: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #auroraos #vscode #code-server
Новые пакеты за неделю
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
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