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

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. Теперь зависимость 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 (ошибка 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-образные, зигзаги, змеевики).
📦 Легко темизируется через 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: переработана иерархия исключений клиента (новый 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
Самые лучшие обновлённые пакеты за последние 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
Собираем 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 через 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
👍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
Новые пакеты за неделю

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
Летний перерыв заканчивается! С сегодняшнего дня регулярные рубрики возобновятся!
🔥4