👣 Новая версия плагина Flutter для VS Code! 🚀
Вышла новая версия плагина Flutter для VS Code - v3.138.0. Обновление не косметическое: есть и технические улучшения и удаление старого функционала и работа над стабильностью.
Давайте разберем, что изменилось:
- Поддержка LSP v3.18: плагин обновил LSP-клиент до версии 3.18. Это открывает возможности для Dart Analysis Server использовать новые оптимизации в будущих релизах SDK.
- Flutter Outline удалили: из сайдбара убрали вкладку Flutter Outline. Для тех, кто пользовался ей регулярно, это заметное изменение. Но функциональность не пропала полностью - стандартный Outline остался на вкладке Explorer, а предпросмотр Flutter UI Guides доступен через настройку dart.previewFlutterUiGuides.
- Улучшения завершения работы расширений: в прошлых версиях при закрытии редактора расширения могли завершаться слишком резко, не давая серверам времени корректно завершить работу. Теперь это исправлено.
- Dart Tooling Daemon: изменения активного редактора отправлялись во все открытые панели, включая вывод и результаты тестов. Теперь этот трафик отключен для второстепенных редакторов.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter 💻📈🔥
Вышла новая версия плагина Flutter для VS Code - v3.138.0. Обновление не косметическое: есть и технические улучшения и удаление старого функционала и работа над стабильностью.
Давайте разберем, что изменилось:
- Поддержка LSP v3.18: плагин обновил LSP-клиент до версии 3.18. Это открывает возможности для Dart Analysis Server использовать новые оптимизации в будущих релизах SDK.
- Flutter Outline удалили: из сайдбара убрали вкладку Flutter Outline. Для тех, кто пользовался ей регулярно, это заметное изменение. Но функциональность не пропала полностью - стандартный Outline остался на вкладке Explorer, а предпросмотр Flutter UI Guides доступен через настройку dart.previewFlutterUiGuides.
- Улучшения завершения работы расширений: в прошлых версиях при закрытии редактора расширения могли завершаться слишком резко, не давая серверам времени корректно завершить работу. Теперь это исправлено.
- Dart Tooling Daemon: изменения активного редактора отправлялись во все открытые панели, включая вывод и результаты тестов. Теперь этот трафик отключен для второстепенных редакторов.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter 💻📈🔥
❤1
Самые лучшие обновлённые пакеты за последние 24 часа
fluwx 6.0.0 - плагин для Flutter, который позволяет разработчикам вызывать родные API WeChatSDK. В новой версии добавлена поддержка UISceneDelegate для iOS, а также переход на Swift Package Manager. Кроме того, вернулся пакет fluwx_no_pay и произошла миграция на KTS и KGP для Android.
👍 Лайки: 277, 📥 Скачиваний: 19.1К
https://pub.dev/packages/fluwx
dart_flutter_version 1.0.45 - пакет, который позволяет получить текущие версии Flutter и Dart SDK во время выполнения, что упрощает управление версиями и обеспечивает совместимость.
В обновлении добавлена новая карта версий: Dart 3.12.2 -> Flutter 3.44.5.
👍 Лайки: 10, 📥 Скачиваний: 14.1К
https://pub.dev/packages/dart_flutter_version
fluwx_no_pay 6.0.0 - пакет, который позволяет разработчикам использовать функции WeChatSDK в своих приложениях, включая обмен изображениями и текстами, оплату и авторизацию.
Скачиваний: 348, лайков: 8.
https://pub.dev/packages/fluwx_no_pay
excel_community 2.1.6 - пакет, который позволяет читать, создавать и обновлять файлы XLSX, а также парсить устаревшие файлы XLS. В новой версии исправлена логика парсинга SST, чтобы правильно читать общие строки из потока SST.
Уже 18 лайков и 7710 скачиваний!
https://pub.dev/packages/excel
hashlib_codecs 3.3.1 - пакет, который используется для реализации быстрых и устойчивых к ошибкам кодеков в чистом Dart, включая бинарный, восьмеричный, шестнадцатеричный, Base-32, Base-64, UTF-8 и BigInt кодеки.
В новой версии исправлена ошибка валидации Modular Crypt Format хэшей, а также исправлены документации для всех публичных API элементов.
Пакет hashlib_codecs имеет 4 лайка и более 63 200 скачиваний!
https://pub.dev/packages/hashlib_codecs
dart_aliyun_oss 1.4.0 - пакет, который используется для работы с Alibaba Cloud Object Storage Service (OSS) в приложениях на Dart, предоставляя простые и удобные API для загрузки и скачивания файлов, а также управления большими файлами и отслеживания прогресса.
В новой версии добавлена поддержка нескольких экземпляров клиента, улучшена документация и добавлены тесты.
Пакет набрал 8 лайков и 472 скачивания.
https://pub.dev/packages/dart_aliyun_oss
FlutterPulse — канал о мире Flutter!
Поддержать канал
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #fluwx #dart_flutter_version #excel_community #hashlib_codecs #dart_aliyun_oss
fluwx 6.0.0 - плагин для Flutter, который позволяет разработчикам вызывать родные API WeChatSDK. В новой версии добавлена поддержка UISceneDelegate для iOS, а также переход на Swift Package Manager. Кроме того, вернулся пакет fluwx_no_pay и произошла миграция на KTS и KGP для Android.
👍 Лайки: 277, 📥 Скачиваний: 19.1К
https://pub.dev/packages/fluwx
dart_flutter_version 1.0.45 - пакет, который позволяет получить текущие версии Flutter и Dart SDK во время выполнения, что упрощает управление версиями и обеспечивает совместимость.
В обновлении добавлена новая карта версий: Dart 3.12.2 -> Flutter 3.44.5.
👍 Лайки: 10, 📥 Скачиваний: 14.1К
https://pub.dev/packages/dart_flutter_version
fluwx_no_pay 6.0.0 - пакет, который позволяет разработчикам использовать функции WeChatSDK в своих приложениях, включая обмен изображениями и текстами, оплату и авторизацию.
Скачиваний: 348, лайков: 8.
https://pub.dev/packages/fluwx_no_pay
excel_community 2.1.6 - пакет, который позволяет читать, создавать и обновлять файлы XLSX, а также парсить устаревшие файлы XLS. В новой версии исправлена логика парсинга SST, чтобы правильно читать общие строки из потока SST.
Уже 18 лайков и 7710 скачиваний!
https://pub.dev/packages/excel
hashlib_codecs 3.3.1 - пакет, который используется для реализации быстрых и устойчивых к ошибкам кодеков в чистом Dart, включая бинарный, восьмеричный, шестнадцатеричный, Base-32, Base-64, UTF-8 и BigInt кодеки.
В новой версии исправлена ошибка валидации Modular Crypt Format хэшей, а также исправлены документации для всех публичных API элементов.
Пакет hashlib_codecs имеет 4 лайка и более 63 200 скачиваний!
https://pub.dev/packages/hashlib_codecs
dart_aliyun_oss 1.4.0 - пакет, который используется для работы с Alibaba Cloud Object Storage Service (OSS) в приложениях на Dart, предоставляя простые и удобные API для загрузки и скачивания файлов, а также управления большими файлами и отслеживания прогресса.
В новой версии добавлена поддержка нескольких экземпляров клиента, улучшена документация и добавлены тесты.
Пакет набрал 8 лайков и 472 скачивания.
https://pub.dev/packages/dart_aliyun_oss
FlutterPulse — канал о мире Flutter!
Поддержать канал
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #fluwx #dart_flutter_version #excel_community #hashlib_codecs #dart_aliyun_oss
Настройка импортов в Dart: автоматическая сортировка и удаление неиспользуемых импортов! 🚀💻
Привет, друзья! 🤗 Сегодня мы поговорим о том, как настроить наши IDE для работы с импортами в файлах
Для Android Studio нам нужно перейти в настройки IDE и выбрать Flutter. Там мы найдем чекбокс "Organize imports on save", который нам и нужен. 📦
Для VS Code все еще проще! Нам нужно всего лишь добавить несколько строк в
Теперь, когда мы сохраним файл, наши импорты будут упорядочены. Но мы также можем настроить правила линтера для этого в нашем
или
Таким образом, наши импорты будут выстраиваться в следующем порядке:
• Импорты из Dart
• Импорты из библиотек, самого фреймворка или статические импорты из проекта
• Локальные импорты по проекту, без использования package:
Например:
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga 💻📈
Привет, друзья! 🤗 Сегодня мы поговорим о том, как настроить наши IDE для работы с импортами в файлах
.dart. Мы узнаем, как сделать так, чтобы импорты сортировались и удалялись автоматически, если не используются. 🤔Для Android Studio нам нужно перейти в настройки IDE и выбрать Flutter. Там мы найдем чекбокс "Organize imports on save", который нам и нужен. 📦
Для VS Code все еще проще! Нам нужно всего лишь добавить несколько строк в
settings.json:
“editor.codeActionsOnSave”: {
“source.organizeImports”: true
}
Теперь, когда мы сохраним файл, наши импорты будут упорядочены. Но мы также можем настроить правила линтера для этого в нашем
analysis_options.yaml:
linter:
rules:
- directives_ordering
или
linter:
rules:
directives_ordering: true
Таким образом, наши импорты будут выстраиваться в следующем порядке:
• Импорты из Dart
• Импорты из библиотек, самого фреймворка или статические импорты из проекта
• Локальные импорты по проекту, без использования package:
Например:
import ‘dart:async’;
import ‘package:flutter/material.dart’;
import ‘package:flutter_bloc/flutter_bloc.dart’;
import ‘package:my_app/common/widgets.dart’;
import ‘widgets/app_bar.dart’;
import ‘../../navigation.dart’;
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga 💻📈
🔥1
Оптимизируйте свои Flutter-приложения и увеличьте конверсию! 🚀
Пользователи не любят ждать и редко скачивают большие приложения, если есть альтернатива поменьше. Особенно это критично для Android, но и для iOS размер тоже имеет значение 📊.
Больше всего места в приложении занимают ассеты: изображения, иконки, шрифты 📁. И именно здесь проще всего сэкономить мегабайты без потери качества 💡.
Изображения: используйте формат WebP для лучшего сжатия и поддержки прозрачности 🌐. Замена PNG на WebP уменьшает размер файла в два-три раза без видимой потери качества 📈.
Иконки: используйте шрифты или векторные форматы вместо SVG для более эффективного хранения и отрисовки 📝. Для простых монохромных иконок используйте шрифт, а для сложных цветных - векторный формат 🎨.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter 💻📱🔥
Пользователи не любят ждать и редко скачивают большие приложения, если есть альтернатива поменьше. Особенно это критично для Android, но и для iOS размер тоже имеет значение 📊.
Больше всего места в приложении занимают ассеты: изображения, иконки, шрифты 📁. И именно здесь проще всего сэкономить мегабайты без потери качества 💡.
Изображения: используйте формат WebP для лучшего сжатия и поддержки прозрачности 🌐. Замена PNG на WebP уменьшает размер файла в два-три раза без видимой потери качества 📈.
Иконки: используйте шрифты или векторные форматы вместо SVG для более эффективного хранения и отрисовки 📝. Для простых монохромных иконок используйте шрифт, а для сложных цветных - векторный формат 🎨.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter 💻📱🔥
Plumix: Фреймворк для Кроссплатформенных Приложений с Архитектурой Flutter в .NET
🌟 В мире разработки мобильных и десктоп-приложений часто приходится сталкиваться с выбором между разными фреймворками и технологиями. Мобильный разработчик Егор поделился своим опытом работы с Flutter и Avalonia, и рассказал о создании фреймворка Plumix, который переносит архитектуру Flutter в мир .NET, используя Avalonia как платформенную инфраструктуру. 🌐
📈 Plumix позволяет использовать декларативную вёрстку, жесты и анимации из Flutter, а также зрелую платформенную инфраструктуру и десктопную среду из Avalonia. Егор также использует ИИ-агентов для помощи в разработке Plumix, и организовал репозиторий и документацию, чтобы агенты могли эффективно работать над проектом. 💻
🔍 Проект Plumix уже достиг значительного прогресса, включая полное ядро и Material-библиотеку. Под капотом используется честный порт архитектуры Flutter, а не обёртки над Avalonia-контролами. В будущем планируется завершить Material-библиотеку, добавить кроссплатформенные хосты, улучшить текстовую подсистему и добавить инструменты производительности. 🚀
Читать здесь: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #krosplatformennye_prilozheniya #Avalonia #Plumix
🌟 В мире разработки мобильных и десктоп-приложений часто приходится сталкиваться с выбором между разными фреймворками и технологиями. Мобильный разработчик Егор поделился своим опытом работы с Flutter и Avalonia, и рассказал о создании фреймворка Plumix, который переносит архитектуру Flutter в мир .NET, используя Avalonia как платформенную инфраструктуру. 🌐
📈 Plumix позволяет использовать декларативную вёрстку, жесты и анимации из Flutter, а также зрелую платформенную инфраструктуру и десктопную среду из Avalonia. Егор также использует ИИ-агентов для помощи в разработке Plumix, и организовал репозиторий и документацию, чтобы агенты могли эффективно работать над проектом. 💻
🔍 Проект Plumix уже достиг значительного прогресса, включая полное ядро и Material-библиотеку. Под капотом используется честный порт архитектуры Flutter, а не обёртки над Avalonia-контролами. В будущем планируется завершить Material-библиотеку, добавить кроссплатформенные хосты, улучшить текстовую подсистему и добавить инструменты производительности. 🚀
Читать здесь: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #krosplatformennye_prilozheniya #Avalonia #Plumix
❤3
Представляем DartWay: революционный fullstack-фреймворк на Dart! 🚀
После трёх лет работы над fullstack-продуктами на Dart, я пришёл к двум важным выводам:
1. Большинству разработчиков не хватает опыта, чтобы грамотно спроектировать fullstack.
2. Все самые сложные вещи в проектах одинаковы и имеют несколько разумных способов решения.
Именно поэтому появился DartWay - fullstack-фреймворк на Dart, где самые сложные и повторяющиеся куски уже решены один раз и по-нормальному! 🌟
Это не кодогенератор и не низкоуровневая обвязка, а слой, который берёт на себя ровно ту архитектуру, которую большинство собирает годами и на своих ошибках.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #fullstack #DartWay
После трёх лет работы над fullstack-продуктами на Dart, я пришёл к двум важным выводам:
1. Большинству разработчиков не хватает опыта, чтобы грамотно спроектировать fullstack.
2. Все самые сложные вещи в проектах одинаковы и имеют несколько разумных способов решения.
Именно поэтому появился DartWay - fullstack-фреймворк на Dart, где самые сложные и повторяющиеся куски уже решены один раз и по-нормальному! 🌟
Это не кодогенератор и не низкоуровневая обвязка, а слой, который берёт на себя ровно ту архитектуру, которую большинство собирает годами и на своих ошибках.
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #fullstack #DartWay
❤2🤮1💩1🤡1
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_video_caching 1.1.6 — плагин для кэширования видео (HLS/m3u8, MP4) с поддержкой
🔄 Исправлен баг с кодом ответа
👍 Лайки: 59, 📥 Скачиваний: 3.1K
🔗 pub.dev/packages/flutter_video_caching
layrz_models 3.13.1 — Dart-SDK для преобразования ответов API Layrz в типизированные объекты (Flutter).
🔄 В
👍 Лайки: 3, 📥 Скачиваний: 8.9K
🔗 pub.dev/packages/layrz_models
flutter_query 0.3.7 — пакет для асинхронного управления состоянием (вдохновлён TanStack Query) с кэшированием, дедупликацией запросов и оптимистичными обновлениями перестал поддерживаться.
📌 Версии 0.3.7 и ниже помечены как
👍 Лайки: 38, 📥 Скачиваний: 1.1K
🔗 pub.dev/packages/flutter_query
oidc 2.0.0 — плагин для Flutter, реализующий OpenID Connect Relying Party (авторизация через внешние провайдеры: Google, Keycloak, Auth0 и др.). Сертифицирован по стандарту OIDC.
🔄 Breaking changes: новый дефолт инициализации —
👍 Лайки: 51, 📥 Скачиваний: 2.3K
🔗 pub.dev/packages/oidc
oidc_core 2.0.0 — низкоуровневая реализация OIDC Relying Party для Dart (кроссплатформенно, без UI).
🔄 Breaking: cache-first инициализация, TTL-кэш discovery, контроль валидности токенов. Фичи: mTLS (RFC 8705) фаза 1, хелперы DCR, реакция на 401 в UserInfo, эвент
👍 Лайки: 3, 📥 Скачиваний: 4.7K
🔗 pub.dev/packages/oidc_core
bluesky 1.7.1 — полноценный клиент Bluesky/AT Protocol для Dart и Flutter. Позволяет работать с лентой, постами, чатами, уведомлениями, модерацией (Ozone) и медиа.
🔄 Зависимость
👍 Лайки: 31, 📥 Скачиваний: 5.1K
🔗 pub.dev/packages/bluesky
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter_video_caching #layrz_models #flutter_query #oidc #oidc_core #bluesky #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
flutter_video_caching 1.1.6 — плагин для кэширования видео (HLS/m3u8, MP4) с поддержкой
video_player, flick_video_player и др. Работает через локальный прокси: качает и отдаёт сегменты одновременно, умеет префетчить, резюмить загрузки и игнорировать токены в URL.🔄 Исправлен баг с кодом ответа
416 (Range Not Satisfiable) при запросе уже закешированных диапазонов.👍 Лайки: 59, 📥 Скачиваний: 3.1K
🔗 pub.dev/packages/flutter_video_caching
layrz_models 3.13.1 — Dart-SDK для преобразования ответов API Layrz в типизированные объекты (Flutter).
🔄 В
AtsStreamExitStructureType добавлен constant.number — позволяет отправлять значения ATAK как нативные JSON-числа, а не строки.👍 Лайки: 3, 📥 Скачиваний: 8.9K
🔗 pub.dev/packages/layrz_models
flutter_query 0.3.7 — пакет для асинхронного управления состоянием (вдохновлён TanStack Query) с кэшированием, дедупликацией запросов и оптимистичными обновлениями перестал поддерживаться.
📌 Версии 0.3.7 и ниже помечены как
Legacy codebase. Not maintained. — мигрируйте на актуальные альтернативы.👍 Лайки: 38, 📥 Скачиваний: 1.1K
🔗 pub.dev/packages/flutter_query
oidc 2.0.0 — плагин для Flutter, реализующий OpenID Connect Relying Party (авторизация через внешние провайдеры: Google, Keycloak, Auth0 и др.). Сертифицирован по стандарту OIDC.
🔄 Breaking changes: новый дефолт инициализации —
cache-first (мгновенный старт с токеном из кэша, фоновая валидация). Web: редирект через status-driven redirect.html — убраны мигания и баги с историей. Событие OidcTokenRefreshFailedEvent — ошибки рефреша не теряются. TTL-кэш Discovery-документа и контроль валидности токенов.👍 Лайки: 51, 📥 Скачиваний: 2.3K
🔗 pub.dev/packages/oidc
oidc_core 2.0.0 — низкоуровневая реализация OIDC Relying Party для Dart (кроссплатформенно, без UI).
🔄 Breaking: cache-first инициализация, TTL-кэш discovery, контроль валидности токенов. Фичи: mTLS (RFC 8705) фаза 1, хелперы DCR, реакция на 401 в UserInfo, эвент
OidcTokenRefreshFailedEvent. Фиксы: защита PKCE code_verifier, поддержка expectedIssuer для Entra multi-tenant, отправка dpop_jkt, парсинг ошибок deleteClientConfiguration.👍 Лайки: 3, 📥 Скачиваний: 4.7K
🔗 pub.dev/packages/oidc_core
bluesky 1.7.1 — полноценный клиент Bluesky/AT Protocol для Dart и Flutter. Позволяет работать с лентой, постами, чатами, уведомлениями, модерацией (Ozone) и медиа.
🔄 Зависимость
atproto поднята до 1.7.0. Появился bsky.atproto.sync.subscribeReposAsMessages() — удобная подписка на Firehose, отдающая расшифрованные типизированные сообщения вместо сырых кадров.👍 Лайки: 31, 📥 Скачиваний: 5.1K
🔗 pub.dev/packages/bluesky
Поддержать канал
FlutterPulse — канал о мире Flutter!
#flutter_video_caching #layrz_models #flutter_query #oidc #oidc_core #bluesky #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Самые лучшие обновлённые пакеты за последние 24 часа
devtools_shared 3.0.0 — общий пакет для DevTools, DDS и работы с JSON-дампами памяти (HeapSample, HeapSpace, AdbMemoryInfo).
🔹 Главное в 3.0.0: расширения разделены на две библиотеки —
👍 Лайки: 21, 📥 Скачиваний: 5.59M
pub.dev/packages/devtools_shared
flutter_foreground_task 10.0.0 — плагин для запуска foreground-сервисов на Android (и ограниченно на iOS): фоновые задачи, двусторонняя связь с UI, минимизация приложения через Back-кнопку и автозапуск при загрузке ОС.
🔧 Что нового: минимальный Flutter SDK поднят до 3.38.0. Добавлена поддержка жизненного цикла
👍 Лайки: 579, 📥 Скачиваний: 125K
pub.dev/packages/flutter_foreground_task
airship_flutter 12.3.0 — официальный плагин Airship для пуш-уведомлений, Live Activities, In-App сообщений, флагов фич и аналитики.
🔧 Что нового: iOS SDK → 20.10.0, Android SDK → 20.9.0. Исправлен рендер нативных Scenes во встроенном виде. В
👍 Лайки: 17, 📥 Скачиваний: 8.18K
pub.dev/packages/airship_flutter
dartssh2 2.22.2 — чистый Dart-клиент SSH/SFTP для VM и Flutter.
🆕 Добавлен метод
👍 Лайки: 145, 📥 Скачиваний: 44.9K
pub.dev/packages/dartssh2
bluesky 1.7.2 — полноценный клиент Bluesky/AT Protocol для Dart и Flutter.
🔧 Что нового:
👍 Лайки: 31, 📥 Скачиваний: 5.46K
pub.dev/packages/bluesky
minimals_state_manager 2.1.4 — лёгкий стейт-менеджмент и DI без кодогенерации. Сочетает подходы GetX, Provider и GetIt: работает с
🔧 В обновлении: исправлена публикация платформ на pub.dev, откатили виджет-тесты на все платформы.
👍 Лайки: 12, 📥 Скачиваний: 222
pub.dev/packages/minimals_state_manager
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #devtools_shared #flutter_foreground_task #airship_flutter #dartssh2 #bluesky #minimals_state_manager
devtools_shared 3.0.0 — общий пакет для DevTools, DDS и работы с JSON-дампами памяти (HeapSample, HeapSpace, AdbMemoryInfo).
🔹 Главное в 3.0.0: расширения разделены на две библиотеки —
devtools_extensions.dart (без dart:io) и devtools_extensions_io.dart (с dart:io). Версионирование теперь отделено от devtools_app.👍 Лайки: 21, 📥 Скачиваний: 5.59M
pub.dev/packages/devtools_shared
flutter_foreground_task 10.0.0 — плагин для запуска foreground-сервисов на Android (и ограниченно на iOS): фоновые задачи, двусторонняя связь с UI, минимизация приложения через Back-кнопку и автозапуск при загрузке ОС.
🔧 Что нового: минимальный Flutter SDK поднят до 3.38.0. Добавлена поддержка жизненного цикла
UIScene на iOS (фикс работы в мультиоконном режиме).👍 Лайки: 579, 📥 Скачиваний: 125K
pub.dev/packages/flutter_foreground_task
airship_flutter 12.3.0 — официальный плагин Airship для пуш-уведомлений, Live Activities, In-App сообщений, флагов фич и аналитики.
🔧 Что нового: iOS SDK → 20.10.0, Android SDK → 20.9.0. Исправлен рендер нативных Scenes во встроенном виде. В
AirshipEmbeddedView добавлен параметр selection для приоритизации отображения. В EmbeddedInfo появились instanceId, priority, extras.👍 Лайки: 17, 📥 Скачиваний: 8.18K
pub.dev/packages/airship_flutter
dartssh2 2.22.2 — чистый Dart-клиент SSH/SFTP для VM и Flutter.
🆕 Добавлен метод
flush() в SSHSocket, SSHClient и SSHChannel для принудительной отправки буферизованных данных (#183).👍 Лайки: 145, 📥 Скачиваний: 44.9K
pub.dev/packages/dartssh2
bluesky 1.7.2 — полноценный клиент Bluesky/AT Protocol для Dart и Flutter.
🔧 Что нового:
tools.ozone.queue.defs: поля reportTypes и subjectTypes стали опциональными. tools.ozone.report.defs: добавлено поле isAutomated в reportView. Обновлены лексиконы.👍 Лайки: 31, 📥 Скачиваний: 5.46K
pub.dev/packages/bluesky
minimals_state_manager 2.1.4 — лёгкий стейт-менеджмент и DI без кодогенерации. Сочетает подходы GetX, Provider и GetIt: работает с
ChangeNotifier, ValueNotifier или родным MinNotifier (с жизненным циклом onInit/onReady). Встроенный сервис-локатор MinService и провайдеры с авто-диспоузом.🔧 В обновлении: исправлена публикация платформ на pub.dev, откатили виджет-тесты на все платформы.
👍 Лайки: 12, 📥 Скачиваний: 222
pub.dev/packages/minimals_state_manager
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #devtools_shared #flutter_foreground_task #airship_flutter #dartssh2 #bluesky #minimals_state_manager
Ловушка «готовых модулей»: когда DRY убивает гибкость 🎯
Все мы любим DRY. Упаковал логику в модуль — и забыл, переиспользуйся на здоровье. Но есть нюанс, о котором редко говорят на конференциях: самое сложное в модуле — не функциональность, а гибкость. 🧩
Представь: подключил модуль аутентификации или чата (привет, Serverpod 👋). В демо — магия: логин, сессии, мессенджер «из коробки». Но через месяц продукту нужно: добавить поле «роль» к юзеру, свой флоу верификации, вложения в сообщениях, кастомные права доступа.
И тут ты упираешься в стену: модели живут внутри чужого модуля. Твой
Это не баг Serverpod — это системная ловушка любого «фреймворка с батарейками». Чем больше логики зашито в чужие модели, тем быстрее ускоритель превращается в тормоз. И стена обнаруживается не сразу, а когда переделывать уже больно и дорого. 💸
В DartWay выбрали обратный принцип: фреймворк не должен владеть моделями приложения. 🛡️
Авторизация? Готова: телефон, OTP, сессии, переживающие рестарты. Но пользователь — это твоя модель
Формула проста: инструменты снимают рутину (авторизация, права, реалтайм, CRUD), но не забирают свободу. Все модели — твои. Вся логика — твоя. Никаких дверей с надписью «дальше только форк». 🚫🚪
Через пару дней DartWay выйдет на pub.dev — можно будет проверить на своём проекте. 🚀
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #architecture #backend #pubdev
Все мы любим DRY. Упаковал логику в модуль — и забыл, переиспользуйся на здоровье. Но есть нюанс, о котором редко говорят на конференциях: самое сложное в модуле — не функциональность, а гибкость. 🧩
Представь: подключил модуль аутентификации или чата (привет, Serverpod 👋). В демо — магия: логин, сессии, мессенджер «из коробки». Но через месяц продукту нужно: добавить поле «роль» к юзеру, свой флоу верификации, вложения в сообщениях, кастомные права доступа.
И тут ты упираешься в стену: модели живут внутри чужого модуля. Твой
UserProfile — это их UserInfo. Таблицы — их таблицы. Расширить нельзя. Два пути: городить костыли с параллельными таблицами и склейками 🛠️ или форкать модуль. А форк — это навсегда: тащи его через каждое обновление фреймворка. Ад поддержки чистой воды. 😱Это не баг Serverpod — это системная ловушка любого «фреймворка с батарейками». Чем больше логики зашито в чужие модели, тем быстрее ускоритель превращается в тормоз. И стена обнаруживается не сразу, а когда переделывать уже больно и дорого. 💸
В DartWay выбрали обратный принцип: фреймворк не должен владеть моделями приложения. 🛡️
Авторизация? Готова: телефон, OTP, сессии, переживающие рестарты. Но пользователь — это твоя модель
UserProfile, в твоей базе, с твоими полями (роли, аватар, доменная логика). Нужно поле — добавил поле. Никаких форков. ✨Формула проста: инструменты снимают рутину (авторизация, права, реалтайм, CRUD), но не забирают свободу. Все модели — твои. Вся логика — твоя. Никаких дверей с надписью «дальше только форк». 🚫🚪
Через пару дней DartWay выйдет на pub.dev — можно будет проверить на своём проекте. 🚀
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #architecture #backend #pubdev
🤡1
Самые лучшие обновлённые пакеты за последние 24 часа
dart_nats 1.2.1 — лёгкий клиент NATS для Dart/Flutter (pub/sub, запросы, KV, JetStream).
Обновлён README — добавлена документация по микросервисному фреймворку (ADR-32) и Client Discovery.
👍 Лайки: 39, 📥 Скачиваний: 7.3К
https://pub.dev/packages/dart_nats
portal_labs 0.37.0 — библиотека из 40+ нулевых-зависимостей Flutter-компонентов (пикеры, слайдеры, навигация, анимации).
Добавлен
👍 Лайки: 42, 📥 Скачиваний: 388
https://pub.dev/packages/portal_labs
file_magic_number 2.1.0 — кроссплатформенный пакет для определения типа файла по «магическим числам» (заголовкам) и расширениям. Работает на мобильных, десктопе и вебе без нативного кода.
⚡ Производительность:
📦 Новые форматы: поддержка Gzip (
🔧 Кастомные типы: добавлен
🔄 Зависимости:
👍 Лайки: 28, 📥 Скачиваний: 14.1К
https://pub.dev/packages/file_magic_number
json_schema_builder 0.1.6 — Dart-библиотека для типобезопасного создания и валидации JSON Schema (Draft 2020-12). Позволяет декларативно описывать структуру данных: от простых типов до сложных композиций (
Экспортирован
👍 Лайки: 28, 📥 Скачиваний: 56.1К
https://pub.dev/packages/json_schema_builder
genai_primitives 0.2.4 — базовые примитивы (
В примере заменили
👍 Лайки: 1, 📥 Скачиваний: 22.8К
https://pub.dev/packages/genai_primitives
genui 0.10.0 — пакет для создания динамических UI на Flutter, которые генерируются LLM в реальном времени на основе диалога с пользователем.
Ключевые изменения (BREAKING):
• Ядро вынесено в
•
•
•
• Сужен публичный API низкоуровневых примитивов.
• Запись в
👍 Лайки: 187, 📥 Скачиваний: 20.8К
https://pub.dev/packages/genui
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #dart_nats #portal_labs #file_magic_number #json_schema_builder #genai_primitives #genui #a2ui_core
dart_nats 1.2.1 — лёгкий клиент NATS для Dart/Flutter (pub/sub, запросы, KV, JetStream).
Обновлён README — добавлена документация по микросервисному фреймворку (ADR-32) и Client Discovery.
👍 Лайки: 39, 📥 Скачиваний: 7.3К
https://pub.dev/packages/dart_nats
portal_labs 0.37.0 — библиотека из 40+ нулевых-зависимостей Flutter-компонентов (пикеры, слайдеры, навигация, анимации).
Добавлен
SwipeableActionTile — физика свайпов с пружинистым откликом, поддержкой двух сторон, инерцией и тактильной отдачей. Готовый к кастомизации через SwipeableActionTileStyle.👍 Лайки: 42, 📥 Скачиваний: 388
https://pub.dev/packages/portal_labs
file_magic_number 2.1.0 — кроссплатформенный пакет для определения типа файла по «магическим числам» (заголовкам) и расширениям. Работает на мобильных, десктопе и вебе без нативного кода.
⚡ Производительность:
detectFileTypeFromPathOrBlob теперь читает только первые 512 байт через стримы — нет OOM на больших файлах и ускорено определение.📦 Новые форматы: поддержка Gzip (
.gz), Ogg (.ogg, .ogv), FLAC (.flac).🔧 Кастомные типы: добавлен
FileMagicNumber.registerCustomType для динамической регистрации своих MIME, расширений и сигнатур.🔄 Зависимости:
mime обновлён до ^2.0.0 — устранены конфликты с Firebase и pdf_combiner.👍 Лайки: 28, 📥 Скачиваний: 14.1К
https://pub.dev/packages/file_magic_number
json_schema_builder 0.1.6 — Dart-библиотека для типобезопасного создания и валидации JSON Schema (Draft 2020-12). Позволяет декларативно описывать структуру данных: от простых типов до сложных композиций (
allOf, anyOf, $ref), с понятными ошибками валидации.Экспортирован
SchemaRegistry — теперь можно управлять ссылками на схемы при валидации компонентов.👍 Лайки: 28, 📥 Скачиваний: 56.1К
https://pub.dev/packages/json_schema_builder
genai_primitives 0.2.4 — базовые примитивы (
ChatMessage, Part, ToolDefinition) для кросспровайдерных GenAI-приложений на Dart.В примере заменили
print на log для корректного логирования.👍 Лайки: 1, 📥 Скачиваний: 22.8К
https://pub.dev/packages/genai_primitives
genui 0.10.0 — пакет для создания динамических UI на Flutter, которые генерируются LLM в реальном времени на основе диалога с пользователем.
Ключевые изменения (BREAKING):
• Ядро вынесено в
package:a2ui_core — типы сообщений (A2uiMessage, CreateSurface и др.) теперь оттуда.•
SurfaceController.store и DataModelStore удалены; доступ к модели через contextFor(id).dataModel.•
SurfaceDefinition.validate стал асинхронным (поддержка $ref через SchemaRegistry).•
PromptBuilder методы стали асинхронными (createChat, createCustom).• Сужен публичный API низкоуровневых примитивов.
• Запись в
DataModel стала строже (брасывает исключения, заполняет пропуски в списках null).👍 Лайки: 187, 📥 Скачиваний: 20.8К
https://pub.dev/packages/genui
FlutterPulse — канал о мире Flutter!
Поддержать канал
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #dart_nats #portal_labs #file_magic_number #json_schema_builder #genai_primitives #genui #a2ui_core
Hot Reload на бэкенде: магия или лишняя суета? 🤔
Коллеги, давайте поговорим про Serverpod и их фичу с горячей перезагрузкой. Идея звучит заманчиво: меняешь код Dart на сервере — видишь результат мгновенно, без рестартов и долгих билдов. Звучит как мечта, правда? ✨
Но есть один нюанс. Автор оригинального поста бросает вызов этому энтузиазму: «Разрабатываю, пока мою посуду или в зале. Не понимаю, как hot reload улучшит жизнь в таком режиме». 🛑🏋️♂️🍽️
И тут ты ловишь себя на мысли: а действительно ли нам это нужно?
Backend — это не UI. Там нет пикселей, которые нужно выровнять «под пиксель-перфект» за секунду. Там бизнес-логика, миграции БД, очереди, кэш. Часто перезапуск контейнера за 2-3 секунды — это нормально, а «горячая» замена кода в рантайме несет риски стейта, утечек памяти и головной боли при отладке. 🐛💥
Получается забавный парадокс: мы привыкли к комфорту Flutter на клиенте и пытаемся тащить его на сервер любой ценой. Но может, бэкенду лучше быть скучным, предсказуемым и статичным? 🧱
Как вы к этому относитесь? Hot Reload на сервере — это гейм-чейнджер или решение проблемы, которой не существует? Пишите в комментариях! 👇💬
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #backend #hotreload
Коллеги, давайте поговорим про Serverpod и их фичу с горячей перезагрузкой. Идея звучит заманчиво: меняешь код Dart на сервере — видишь результат мгновенно, без рестартов и долгих билдов. Звучит как мечта, правда? ✨
Но есть один нюанс. Автор оригинального поста бросает вызов этому энтузиазму: «Разрабатываю, пока мою посуду или в зале. Не понимаю, как hot reload улучшит жизнь в таком режиме». 🛑🏋️♂️🍽️
И тут ты ловишь себя на мысли: а действительно ли нам это нужно?
Backend — это не UI. Там нет пикселей, которые нужно выровнять «под пиксель-перфект» за секунду. Там бизнес-логика, миграции БД, очереди, кэш. Часто перезапуск контейнера за 2-3 секунды — это нормально, а «горячая» замена кода в рантайме несет риски стейта, утечек памяти и головной боли при отладке. 🐛💥
Получается забавный парадокс: мы привыкли к комфорту Flutter на клиенте и пытаемся тащить его на сервер любой ценой. Но может, бэкенду лучше быть скучным, предсказуемым и статичным? 🧱
Как вы к этому относитесь? Hot Reload на сервере — это гейм-чейнджер или решение проблемы, которой не существует? Пишите в комментариях! 👇💬
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #backend #hotreload
DartWay выходит на pub.dev — бэкенд для Flutter, который пишется за тебя 🚀
Месяцами я рассказывал про принципы. Теперь — сам фреймворк. На этой неделе DartWay публикуется пакет за пакетом, с разбором каждого. Сегодня — общая картина.
Проблема: Flutter-разработчик умеет делать экраны. Дальше — стена: сервер, БД, миграции, эндпоинты, авторизация, права, реалтайм. Стандартный ответ — «возьми Firebase/Supabase». Удобно, но чужая база, чужие модели, чужой язык и потолок там, где начинается настоящая бизнес-логика.
Ответ DartWay: единый декларативный слой данных от базы до виджета.
На сервере фича описывается конфигом:
Эндпоинтов не существует.
На клиенте — одна строка:
Типизированный живой список. Реалтайм-синхронизация, пагинация, фильтры, скелетоны загрузки — из коробки. Кто-то записал модель на сервере — виджет перестроился. Никаких сокетов руками, никаких инвалидаций кэша.
Фича целиком — от таблицы в БД до живого экрана — ~40 строк конфига и виджет.
Формула: Serverpod даёт бэкенд. DartWay убирает необходимость его писать.
---
Структура: 9 пакетов, 3 круга
🔹 Ядро (4 пакета) — модуль Serverpod: generic CRUD для любой модели с реалтайм-подписками, декларативные конфиги доступа/валидации, беспарольная авторизация по телефону, S3/MinIO, алерты об ошибках. Клиентская часть:
🔹 Тулбокс приложения — скелет, который каждый раз пишут заново: запуск/сплэш, контракт асинхронных состояний, защищённые действия (двойной тап ≠ две записи), пайплайн уведомлений. Принцип: фреймворк не поставляет дизайн-систему. Никаких
🔹 Обвязка — CLI (
---
Три принципа, на которых всё держится
1. Фреймворк не владеет моделями. Твой
2. Secure by default. Модель без описанного доступа — никому не отдаётся. Не «открыто, пока не закрыл» — а «закрыто, пока не открыл». Забыть закрыть можно, забыть открыть — нельзя.
3. Архитектуру проверяет машина. Конвенции + линты + чекер + скиллы для ИИ-агентов. Агент в проекте с машинно-проверяемыми правилами не разваливает его на третьей фиче. Ради этого всё и затевалось.
---
Что дальше
С завтрашнего дня — пакеты на pub.dev и разбор каждого. Первым — серверное ядро: фича без единого написанного эндпоинта.
А в субботу, 18 июля, в 14:00 МСК соберу работающее приложение вживую — за 90 минут, из пустой папки: сервер, база, реалтайм, авторизация. Бесплатно, запись будет.
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #backend #architecture
Месяцами я рассказывал про принципы. Теперь — сам фреймворк. На этой неделе DartWay публикуется пакет за пакетом, с разбором каждого. Сегодня — общая картина.
Проблема: Flutter-разработчик умеет делать экраны. Дальше — стена: сервер, БД, миграции, эндпоинты, авторизация, права, реалтайм. Стандартный ответ — «возьми Firebase/Supabase». Удобно, но чужая база, чужие модели, чужой язык и потолок там, где начинается настоящая бизнес-логика.
Ответ DartWay: единый декларативный слой данных от базы до виджета.
На сервере фича описывается конфигом:
// кто читает
accessFilter: (user, model) => user.id == model.ownerId
// кто пишет
allowSave: (user, model) => user.role == 'admin'
// валидация
validateSave: (model) => model.amount > 0
// в той же транзакции
beforeSaveTransaction: (model, tx) => tx.createAuditLog(model)Эндпоинтов не существует.
На клиенте — одна строка:
ref.watchModelList<Booking>()Типизированный живой список. Реалтайм-синхронизация, пагинация, фильтры, скелетоны загрузки — из коробки. Кто-то записал модель на сервере — виджет перестроился. Никаких сокетов руками, никаких инвалидаций кэша.
Фича целиком — от таблицы в БД до живого экрана — ~40 строк конфига и виджет.
Формула: Serverpod даёт бэкенд. DartWay убирает необходимость его писать.
---
Структура: 9 пакетов, 3 круга
🔹 Ядро (4 пакета) — модуль Serverpod: generic CRUD для любой модели с реалтайм-подписками, декларативные конфиги доступа/валидации, беспарольная авторизация по телефону, S3/MinIO, алерты об ошибках. Клиентская часть:
watchModelList, сессии, переживающие рестарт, умная обработка ошибок.🔹 Тулбокс приложения — скелет, который каждый раз пишут заново: запуск/сплэш, контракт асинхронных состояний, защищённые действия (двойной тап ≠ две записи), пайплайн уведомлений. Принцип: фреймворк не поставляет дизайн-систему. Никаких
DwButton. UI-кит приезжает исходником — и дальше он твой.🔹 Обвязка — CLI (
dartway create — проект за секунды), линты/чекер конвенций, опционально Telegram Mini Apps, мост в DartWay Studio.---
Три принципа, на которых всё держится
1. Фреймворк не владеет моделями. Твой
UserProfile — в твоей базе, с твоими полями и ролями. Не «расширь наш UserInfo», не форк модуля. Чужую модель не расширить — форк тащится через каждое обновление.2. Secure by default. Модель без описанного доступа — никому не отдаётся. Не «открыто, пока не закрыл» — а «закрыто, пока не открыл». Забыть закрыть можно, забыть открыть — нельзя.
3. Архитектуру проверяет машина. Конвенции + линты + чекер + скиллы для ИИ-агентов. Агент в проекте с машинно-проверяемыми правилами не разваливает его на третьей фиче. Ради этого всё и затевалось.
---
Что дальше
С завтрашнего дня — пакеты на pub.dev и разбор каждого. Первым — серверное ядро: фича без единого написанного эндпоинта.
А в субботу, 18 июля, в 14:00 МСК соберу работающее приложение вживую — за 90 минут, из пустой папки: сервер, база, реалтайм, авторизация. Бесплатно, запись будет.
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #dartway_dev_ru #serverpod #backend #architecture
🤡5👍2
Самые лучшие обновлённые пакеты за последние 24 часа
📦 cascade_widget 3.0.8 — виджет каскадных выпадающих списков (многоуровневый выбор, одиночный/множественный, поиск) для Flutter Web/Desktop/Mobile.
✅ Настраиваемая ширина попапа (
🐛 Фикс ухода попапа за правый край экрана (авто-сдвиг влево).
🐛 Исправлено определение тапа «снаружи» — теперь учитывается реальная ширина/высота попапа.
👍 Лайки: 7, 📥 Скачиваний: 1.5К
pub.dev/packages/cascade_widget
nitro 0.5.13 — рантайм Nitrogen SDK для нулевого оверхеда FFI во Flutter (iOS, Android, macOS, Windows, Linux, Web). Позволяет писать типобезопасные плагины без MethodChannel.
🔄 Синхронизация экосистемы с батчем
👍 Лайки: 4, 📥 Скачиваний: 1.2К
pub.dev/packages/nitro
kaisel 1.0.0 — первый стабильный релиз Dart 3-роутера на sealed-классах и паттерн-матчинге. Никаких строковых путей и кодогенерации: стек навигации — это
🔄 API заморожен (SemVer). Android Predictive Back (Flutter 3.24+). Адаптивные лэйауты (three-pane, степперы, фолдаблы). Хук
👍 Лайки: 19, 📥 Скачиваний: 1.2К
pub.dev/packages/kaisel
📦 fake_cloud_firestore 4.2.0 — in-memory эмулятор Firestore для юнит-тестов. Прогоняйте логику БД без сети и проверяйте Security Rules в связке с
🔄 Сигнатура
👍 Лайки: 144, 📥 Скачиваний: 196К
pub.dev/packages/fake_cloud_firestore
aidlab_sdk 2.5.0 — Flutter-обёртка (FFI) для работы с биосенсорами Aidlab через BLE (Android/iOS).
💥 Breaking: команды сбора/синхронизации ждут подтверждения жизненного цикла и возвращают PID (или
👍 Лайки: 4, 📥 Скачиваний: 699
pub.dev/packages/aidlab_sdk
dart_nats 1.2.2 — лёгкий клиент NATS для Dart/Flutter (pub/sub, JetStream, KV).
🐛
👍 Лайки: 39, 📥 Скачиваний: 7.9К
pub.dev/packages/dart_nats
Поддержать канал
FlutterPulse — канал о мире Flutter!
#cascade_widget #nitro #kaisel #fake_cloud_firestore #aidlab_sdk #dart_nats #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
📦 cascade_widget 3.0.8 — виджет каскадных выпадающих списков (многоуровневый выбор, одиночный/множественный, поиск) для Flutter Web/Desktop/Mobile.
✅ Настраиваемая ширина попапа (
overlayWidth в PopupConfig).🐛 Фикс ухода попапа за правый край экрана (авто-сдвиг влево).
🐛 Исправлено определение тапа «снаружи» — теперь учитывается реальная ширина/высота попапа.
👍 Лайки: 7, 📥 Скачиваний: 1.5К
pub.dev/packages/cascade_widget
nitro 0.5.13 — рантайм Nitrogen SDK для нулевого оверхеда FFI во Flutter (iOS, Android, macOS, Windows, Linux, Web). Позволяет писать типобезопасные плагины без MethodChannel.
🔄 Синхронизация экосистемы с батчем
nitro_webgpu (issues #13–#20). В пакете функциональных изменений нет — правки в nitro_generator и nitrogen_cli. Перегенерируйте плагин для новых фич: @NitroOwned(release:), Future<NativeHandle> для native-async, @mainThread, nullable-поддержка, самодостаточные C++ Swift-мосты, SPM-таргеты и защита от циклов симлинков.👍 Лайки: 4, 📥 Скачиваний: 1.2К
pub.dev/packages/nitro
kaisel 1.0.0 — первый стабильный релиз Dart 3-роутера на sealed-классах и паттерн-матчинге. Никаких строковых путей и кодогенерации: стек навигации — это
List<R>, переходы — манипуляции со списком. Есть типизированные модалки с результатом (run<T>), гард-пайплайн, шеллы с ленивой загрузкой.🔄 API заморожен (SemVer). Android Predictive Back (Flutter 3.24+). Адаптивные лэйауты (three-pane, степперы, фолдаблы). Хук
onTransition для аналитики. Полное покрытие обсерверами. Размер пакета сокращён с 15 МБ до 1 МБ.👍 Лайки: 19, 📥 Скачиваний: 1.2К
pub.dev/packages/kaisel
📦 fake_cloud_firestore 4.2.0 — in-memory эмулятор Firestore для юнит-тестов. Прогоняйте логику БД без сети и проверяйте Security Rules в связке с
firebase_auth_mocks.🔄 Сигнатура
MockWriteBatch.update() приведена в соответствие с cloud_firestore 6.7.1.👍 Лайки: 144, 📥 Скачиваний: 196К
pub.dev/packages/fake_cloud_firestore
aidlab_sdk 2.5.0 — Flutter-обёртка (FFI) для работы с биосенсорами Aidlab через BLE (Android/iOS).
💥 Breaking: команды сбора/синхронизации ждут подтверждения жизненного цикла и возвращают PID (или
null). Детерминированная сериализация, колбэки завершения/ошибок (stderr). Поддержка PID-less режима на прошивках < 3.6. Укреплена обработка v4 ACK/NAK, отбраковка oversized-пакетов.👍 Лайки: 4, 📥 Скачиваний: 699
pub.dev/packages/aidlab_sdk
dart_nats 1.2.2 — лёгкий клиент NATS для Dart/Flutter (pub/sub, JetStream, KV).
🐛
JetStream.listStreams/Consumers корректно пагинируют (раньше обрезали на 256). Consumer.messages и OrderedConsumer не глотают ошибки — уходят в addError. Удалённый консьюмер бросает ошибку вместо таймаута. KeyValue.watch/history/keys не утечкают консьюмеры. Добавлены inactiveThreshold и синхронные nakSync(), termSync(), inProgressSync().👍 Лайки: 39, 📥 Скачиваний: 7.9К
pub.dev/packages/dart_nats
Поддержать канал
FlutterPulse — канал о мире Flutter!
#cascade_widget #nitro #kaisel #fake_cloud_firestore #aidlab_sdk #dart_nats #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Как тестировать Flutter на iPhone бесплатно и без Мака? 🚀
Знакомая боль: хочешь проверить приложение на железе, а Mac нет, а платить $99 в год за Apple Developer Program жалко? Автор статьи нашёл рабочий «инди-путь» за $0 и ~1 час настройки. Спойлер: это не магия, а грамотная сборка цепочки из 4 инструментов 🛠
Суть схемы проста: Tenorshare iCareFone (Windows) разово включает «Режим разработчика» на айфоне (обязательно с iOS 16+) → GitHub Actions на macOS-раннере собирает неподписанный .ipa за 8 минут (важно зафиксировать Flutter 3.44.0 и кэш через
Есть нюансы, о которых молчат в туториалах: у бесплатного аккаунта подпись живет 7 дней, лимит — 3 приложения одновременно. Sideloadly может менять Bundle ID (добавляя суффикс), из-за чего обновление воспринимается как новая установка — данные пользователя сбрасываются 😱 Обязательно коммитьте GoogleService-Info.plist и firebase_options.dart в репозиторий, иначе CI упадёт. И следите за версией раннера:
Читать полную инструкцию с yml-конфигами и разбором экономики выхода в App Store из России (спойлер: 10–20 тыс. руб./год через зарубежные карты, Gift Card — дороже и рискованнее): статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #ios #githubactions #sideloadly #cicd
Знакомая боль: хочешь проверить приложение на железе, а Mac нет, а платить $99 в год за Apple Developer Program жалко? Автор статьи нашёл рабочий «инди-путь» за $0 и ~1 час настройки. Спойлер: это не магия, а грамотная сборка цепочки из 4 инструментов 🛠
Суть схемы проста: Tenorshare iCareFone (Windows) разово включает «Режим разработчика» на айфоне (обязательно с iOS 16+) → GitHub Actions на macOS-раннере собирает неподписанный .ipa за 8 минут (важно зафиксировать Flutter 3.44.0 и кэш через
flutter precache --no-android --no-web) → Sideloadly (Windows) подписывает билд твоим бесплатным Apple ID и ставит по USB → В настройках айфона подтверждаешь доверие своему сертификату. Готово! 📱Есть нюансы, о которых молчат в туториалах: у бесплатного аккаунта подпись живет 7 дней, лимит — 3 приложения одновременно. Sideloadly может менять Bundle ID (добавляя суффикс), из-за чего обновление воспринимается как новая установка — данные пользователя сбрасываются 😱 Обязательно коммитьте GoogleService-Info.plist и firebase_options.dart в репозиторий, иначе CI упадёт. И следите за версией раннера:
macos-latest с июня 2026 переключится на macOS 26, лучше явно прописать macos-14.Читать полную инструкцию с yml-конфигами и разбором экономики выхода в App Store из России (спойлер: 10–20 тыс. руб./год через зарубежные карты, Gift Card — дороже и рискованнее): статья на Хабре
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #ios #githubactions #sideloadly #cicd
🔥 Technique of the Week: Погружаемся в Iterable!
Каждую неделю команда Flutter делится крутыми приемами, и этот раз под микроскоп попал фундаментальный класс Iterable 🧐. Кажется, что мы знаем его вслепую, но в новом ролике разбирают нюансы, которые экономят часы дебагга и делают код чище.
Что внутри? 👇
✨ Ленивые вычисления — почему
🛠 Частые ошибки — множественное перечисление и неожиданные side-effects.
💡 Best practices — когда лучше
Обязательно гляньте, даже если пишете на Dart годами — точно найдете что-то новое для себя! 🚀
Смотреть на YouTube: Iterable Deep Dive
Документация по API: Iterable class
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #darttips #iterable #cleanCode
Каждую неделю команда Flutter делится крутыми приемами, и этот раз под микроскоп попал фундаментальный класс Iterable 🧐. Кажется, что мы знаем его вслепую, но в новом ролике разбирают нюансы, которые экономят часы дебагга и делают код чище.
Что внутри? 👇
✨ Ленивые вычисления — почему
where и map не выполняются сразу, а ждут своего часа.🛠 Частые ошибки — множественное перечисление и неожиданные side-effects.
💡 Best practices — когда лучше
toList(), а когда можно обойтись итератором.Обязательно гляньте, даже если пишете на Dart годами — точно найдете что-то новое для себя! 🚀
Смотреть на YouTube: Iterable Deep Dive
Документация по API: Iterable class
Полную новость читайте здесь
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #FlutterForDev #darttips #iterable #cleanCode