Самые лучшие обновлённые пакеты за последние 24 часа
flutter_webrtc
Пакет для работы с WebRTC в приложениях Flutter, получил обновление. Этот пакет позволяет использовать функции аудио- и видео-связи, обмена данными и другие возможности WebRTC в приложениях для мобильных устройств, настольных компьютеров и веб-приложений.
👍 Лайки: 1270, 📥 Скачиваний: 66.5К
https://pub.dev/packages/flutter_webrtc
flutter_blue_plus
Пакет используется для работы с Bluetooth Low Energy в приложениях Flutter. Он поддерживает почти все функции на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлена ошибка компиляции на Android.
👍 Лайки: 1180, 📥 Скачиваний: 129К
https://pub.dev/packages/flutter_blue_plus
flutter_local_notifications
Исправлена проблема с отображением не-ASCII символов в названии приложения уведомлений на Windows.
👍 Лайки: 7100, 📥 Скачиваний: 1.4М
https://pub.dev/packages/flutter_local_notifications
flutter_appauth
Пакет используется для аутентификации и авторизации пользователей в приложениях Flutter. Теперь он требует минимум Flutter 3.29 и Dart 3.7.
👍 Лайки: 399, 📥 Скачиваний: 183К
https://pub.dev/packages/flutter_appauth
flutter_local_notifications_windows
Исправлена проблема с отображением не-ASCII символов в названии приложения уведомлений.
👍 Лайки: 2, 📥 Скачиваний: 562К
https://pub.dev/packages/flutter_local_notifications_windows
jaspr
Jaspr - современный фреймворк для создания веб-сайтов на Dart с поддержкой рендеринга на клиентской и серверной стороне.
В новой версии исправлена проблема с рендерингом фрагментов.
👍 Лайки: 544, 📥 Скачиваний: 10.2К
https://pub.dev/packages/jaspr
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_webrtc #flutter_blue_plus #flutter_local_notifications #flutter_appauth #flutter_local_notifications_windows #jaspr
flutter_webrtc
Пакет для работы с WebRTC в приложениях Flutter, получил обновление. Этот пакет позволяет использовать функции аудио- и видео-связи, обмена данными и другие возможности WebRTC в приложениях для мобильных устройств, настольных компьютеров и веб-приложений.
👍 Лайки: 1270, 📥 Скачиваний: 66.5К
https://pub.dev/packages/flutter_webrtc
flutter_blue_plus
Пакет используется для работы с Bluetooth Low Energy в приложениях Flutter. Он поддерживает почти все функции на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлена ошибка компиляции на Android.
👍 Лайки: 1180, 📥 Скачиваний: 129К
https://pub.dev/packages/flutter_blue_plus
flutter_local_notifications
Исправлена проблема с отображением не-ASCII символов в названии приложения уведомлений на Windows.
👍 Лайки: 7100, 📥 Скачиваний: 1.4М
https://pub.dev/packages/flutter_local_notifications
flutter_appauth
Пакет используется для аутентификации и авторизации пользователей в приложениях Flutter. Теперь он требует минимум Flutter 3.29 и Dart 3.7.
👍 Лайки: 399, 📥 Скачиваний: 183К
https://pub.dev/packages/flutter_appauth
flutter_local_notifications_windows
Исправлена проблема с отображением не-ASCII символов в названии приложения уведомлений.
👍 Лайки: 2, 📥 Скачиваний: 562К
https://pub.dev/packages/flutter_local_notifications_windows
jaspr
Jaspr - современный фреймворк для создания веб-сайтов на Dart с поддержкой рендеринга на клиентской и серверной стороне.
В новой версии исправлена проблема с рендерингом фрагментов.
👍 Лайки: 544, 📥 Скачиваний: 10.2К
https://pub.dev/packages/jaspr
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_webrtc #flutter_blue_plus #flutter_local_notifications #flutter_appauth #flutter_local_notifications_windows #jaspr
👍1
Локальная база данных
Когда вы хотите, чтобы ваше приложение работало офлайн 🔄
Шаг 1: Использование пакета Drift
Для работы с локальной базой данных мы будем использовать пакет Drift. 📦
Шаг 2: Создание базы данных
Шаг 3: Создание таблицы
Шаг 3: Создание или редактирование build.yaml
в корневой папке вашего Flutter-приложения 📁
Запустите сборщик, чтобы регенерировать схему базы данных 🔄
Оцените новую рубрику! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #LocalDatabase #DriftPackage #FlutterTips #AppDevelopment
Когда вы хотите, чтобы ваше приложение работало офлайн 🔄
Шаг 1: Использование пакета Drift
Для работы с локальной базой данных мы будем использовать пакет Drift. 📦
dart pub add drift
dart pub add drift_flutter
dart pub add drift_dev
Шаг 2: Создание базы данных
@DriftDatabase(tables: [TaskTable])
class Database extends $Database {
Database([QueryExecutor? e]) : super(e ?? driftDatabase(
name: 'todo-app',
native: const DriftNativeOptions(),
databaseDirectory: getApplicationSupportDirectory,
));
@override
int get schemaVersion => 2; // Версия базы данных
@override
MigrationStrategy get migration {
return MigrationStrategy(
onCreate: (m) async {
await m.createAll();
// Добавьте миграции здесь, если версия новая
},
);
}
}
Шаг 3: Создание таблицы
@DataClassName('TaskEntry')
class TaskTable extends Table {
IntColumn get id => integer().autoIncrement()();
TextColumn get description => text()();
// Добавьте ваши запросы здесь
static Stream<List<TaskEntry>> getAllItems(Database database) =>
database.select(database.taskTable).watch();
}
Шаг 3: Создание или редактирование build.yaml
в корневой папке вашего Flutter-приложения 📁
targets:
$default:
builders:
drift_dev:
# Эти опции изменяют способ генерации кода
options:
databases:
default: lib/modules/drift/database.dart
sql:
dialect: sqlite
options:
version: "3.38"
modules: [fts5]
Запустите сборщик, чтобы регенерировать схему базы данных 🔄
Оцените новую рубрику! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #LocalDatabase #DriftPackage #FlutterTips #AppDevelopment
👍2🔥1
Самые лучшие обновлённые пакеты за последние 24 часа
jovial_svg 1.1.28 - пакет для эффективного рендеринга статических SVG-изображений и анимации. В новой версии добавлен метод `onLoaded` для асинхронного `ScalableImageWidget`, исправлена ошибка с перерисовкой виджета и встроенными изображениями, а также добавлен метод `ScalableImage.imagesAreLoaded` для оптимизации отображения виджета.
👍 Лайки: 233, 📥 Скачиваний: 191К
https://pub.dev/packages/jovial_svg
hux 0.8.4 - современный набор компонентов интерфейса для Flutter, предназначенный для создания чистых и последовательных пользовательских интерфейсов.
В новой версии обновлены README и визуальная иерархия, добавлены новые функции, такие как показ метрик загрузок и интеграция с Figma.
👍 Лайки: 48, 📥 Скачиваний: 943
https://pub.dev/packages/hux
awesome_extensions 2.0.26 - комплект расширений для Map, включая безопасный доступ, фильтрацию, преобразование и операции с вложенными картами.
👍 Лайки: 214, 📥 Скачиваний: 4.2К
https://pub.dev/packages/awesome_extensions
upgrader 12.0.0 - пакет для уведомления пользователей о необходимости обновить приложение, когда в магазине появляется новая версия.
В новой версии удалено использование device_info_plus, переименована основная ветка в main, а минимальная поддерживаемая версия Flutter теперь 3.27.0.
👍 Лайки: 2.4К, 📥 Скачиваний: 186К
https://pub.dev/packages/upgrader
grouped_scroll_view 0.2.3+1 - пакет для отображения группированных списков элементов и поддерживает различные виды представлений, включая ListView и GridView, а также checkbox и radio в scrollView.
В новой версии исправлены предупреждения статического анализа кода, чтобы соответствовать правилам Lints.
👍 Лайки: 56, 📥 Скачиваний: 626
https://pub.dev/packages/grouped_scroll_view
dart_pubspec_licenses 3.0.9 - пакет для сбора и сборки информации о лицензиях открытого исходного кода (OSS) с помощью pubspec.lock.
В новой версии исправлена ошибка с генерацией thisPackage и добавлено поле devDependencies в класс Package в сгенерированном выводе.
👍 Лайки: 1, 📥 Скачиваний: 249К
https://pub.dev/packages/dart_pubspec_licenses
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #jovial_svg #hux #awesome_extensions #upgrader #grouped_scroll_view #dart_pubspec_licenses
jovial_svg 1.1.28 - пакет для эффективного рендеринга статических SVG-изображений и анимации. В новой версии добавлен метод `onLoaded` для асинхронного `ScalableImageWidget`, исправлена ошибка с перерисовкой виджета и встроенными изображениями, а также добавлен метод `ScalableImage.imagesAreLoaded` для оптимизации отображения виджета.
👍 Лайки: 233, 📥 Скачиваний: 191К
https://pub.dev/packages/jovial_svg
hux 0.8.4 - современный набор компонентов интерфейса для Flutter, предназначенный для создания чистых и последовательных пользовательских интерфейсов.
В новой версии обновлены README и визуальная иерархия, добавлены новые функции, такие как показ метрик загрузок и интеграция с Figma.
👍 Лайки: 48, 📥 Скачиваний: 943
https://pub.dev/packages/hux
awesome_extensions 2.0.26 - комплект расширений для Map, включая безопасный доступ, фильтрацию, преобразование и операции с вложенными картами.
👍 Лайки: 214, 📥 Скачиваний: 4.2К
https://pub.dev/packages/awesome_extensions
upgrader 12.0.0 - пакет для уведомления пользователей о необходимости обновить приложение, когда в магазине появляется новая версия.
В новой версии удалено использование device_info_plus, переименована основная ветка в main, а минимальная поддерживаемая версия Flutter теперь 3.27.0.
👍 Лайки: 2.4К, 📥 Скачиваний: 186К
https://pub.dev/packages/upgrader
grouped_scroll_view 0.2.3+1 - пакет для отображения группированных списков элементов и поддерживает различные виды представлений, включая ListView и GridView, а также checkbox и radio в scrollView.
В новой версии исправлены предупреждения статического анализа кода, чтобы соответствовать правилам Lints.
👍 Лайки: 56, 📥 Скачиваний: 626
https://pub.dev/packages/grouped_scroll_view
dart_pubspec_licenses 3.0.9 - пакет для сбора и сборки информации о лицензиях открытого исходного кода (OSS) с помощью pubspec.lock.
В новой версии исправлена ошибка с генерацией thisPackage и добавлено поле devDependencies в класс Package в сгенерированном выводе.
👍 Лайки: 1, 📥 Скачиваний: 249К
https://pub.dev/packages/dart_pubspec_licenses
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #jovial_svg #hux #awesome_extensions #upgrader #grouped_scroll_view #dart_pubspec_licenses
Сделайте текст выбираемым
По умолчанию текст не является выбираемым. 🤔
Почему? Виджет
ИЛИ 🔄
Используйте
Как выбрать между SelectionArea и SelectableText? 🤔
Используйте
Для одного текста просто используйте
Оцените новую рубрику и напишите своё мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment #FlutterTips
По умолчанию текст не является выбираемым. 🤔
Почему? Виджет
SelectionArea
позволяет выбирать текст, указывая Flutter обрабатывать отрисовку и взаимодействие для выбора текста. 📝
return MaterialApp(
home: SelectionArea(
child: Scaffold(
appBar: AppBar(title: const Text('SelectionArea Sample')),
body: const Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text('Row 1'),
Text('Row 2'),
Text('Row 3'),
],
),
),
),
),
);
ИЛИ 🔄
const SelectableText(
'Hello! How are you?',
textAlign: TextAlign.center,
style: TextStyle(fontWeight: FontWeight.bold),
)
Используйте
SelectableText
вместо Text
🔁Как выбрать между SelectionArea и SelectableText? 🤔
Используйте
selectionArea
, если вы хотите включить выбор на нескольких виджетах, а не только на тексте. 📚Для одного текста просто используйте
SelectableText
👍Оцените новую рубрику и напишите своё мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment #FlutterTips
❤5👍1
Новые пакеты за неделю
emulator_guard
Пакет для обнаружения эмуляторов и симуляторов на различных платформах, включая Android, iOS, Linux, macOS и Windows.
👍 Лайки: 7, 📥 Скачиваний: 41
https://pub.dev/packages/emulator_guard
printing_ffi
Плагин для прямого общения с принтерами в Flutter, позволяет перечислять принтеры, отправлять сырые данные для печати и управлять заданиями печати на macOS и Windows.
👍 Лайки: 8, 📥 Скачиваний: 279
https://pub.dev/packages/printing_ffi
dynamic_sdk
Пакет для создания простого и гибкого подключения кошельков к нескольким цепочкам.
👍 Лайки: 1, 📥 Скачиваний: 709
https://pub.dev/packages/dynamic_sdk
flutter_data_sync_manager
Пакет для бесшовной синхронизации данных в режиме offline-first между локальным и удаленным хранилищем.
👍 Лайки: 8, 📥 Скачиваний: 140
https://pub.dev/packages/flutter_data_sync_manager
smart_faker
Мощный и интеллектуальный генератор фейковых данных для приложений Flutter и Dart.
👍 Лайки: 4, 📥 Скачиваний: 362
https://pub.dev/packages/smart_faker
didcomm
Пакет для реализации безопасной и частной связи в вашем приложении, используя протокол DIDComm v2 Messaging.
👍 Лайки: 2, 📥 Скачиваний: 673
https://pub.dev/packages/didcomm
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #emulator_guard #printing_ffi #dynamic_sdk #flutter_data_sync_manager #smart_faker #didcomm
emulator_guard
Пакет для обнаружения эмуляторов и симуляторов на различных платформах, включая Android, iOS, Linux, macOS и Windows.
👍 Лайки: 7, 📥 Скачиваний: 41
https://pub.dev/packages/emulator_guard
printing_ffi
Плагин для прямого общения с принтерами в Flutter, позволяет перечислять принтеры, отправлять сырые данные для печати и управлять заданиями печати на macOS и Windows.
👍 Лайки: 8, 📥 Скачиваний: 279
https://pub.dev/packages/printing_ffi
dynamic_sdk
Пакет для создания простого и гибкого подключения кошельков к нескольким цепочкам.
👍 Лайки: 1, 📥 Скачиваний: 709
https://pub.dev/packages/dynamic_sdk
flutter_data_sync_manager
Пакет для бесшовной синхронизации данных в режиме offline-first между локальным и удаленным хранилищем.
👍 Лайки: 8, 📥 Скачиваний: 140
https://pub.dev/packages/flutter_data_sync_manager
smart_faker
Мощный и интеллектуальный генератор фейковых данных для приложений Flutter и Dart.
👍 Лайки: 4, 📥 Скачиваний: 362
https://pub.dev/packages/smart_faker
didcomm
Пакет для реализации безопасной и частной связи в вашем приложении, используя протокол DIDComm v2 Messaging.
👍 Лайки: 2, 📥 Скачиваний: 673
https://pub.dev/packages/didcomm
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #emulator_guard #printing_ffi #dynamic_sdk #flutter_data_sync_manager #smart_faker #didcomm
❤2
Самые лучшие обновлённые пакеты за последние 24 часа
url_launcher_android 6.3.22
Плагин для запуска ссылок на Android. Теперь добавлена поддержка externalNonBrowserApplication на API 30+.
👍 Лайки: 20, 📥 Скачиваний: 4.8М
https://pub.dev/packages/url_launcher_android
purchases_flutter 9.6.1
Клиент для системы отслеживания подписок и покупок RevenueCat, упрощающий реализацию в-app покупок в Flutter.
В обновлении исправлены ошибки, включая крах при вызове функции покупки с параметрами.
👍 Лайки: 838, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
launchdarkly_flutter_client_sdk 4.12.0
Теперь доступна экспериментальная поддержка плагинов и хуков.
Исправлены ошибки и обновлены зависимости.
👍 Лайки: 16, 📥 Скачиваний: 311К
https://pub.dev/packages/launchdarkly_flutter_client_sdk
fl_chart 1.1.1
Теперь с улучшениями в зависимостях vector_math, build_runner, mockito и very_good_analysis.
Пакет fl_chart - это высоко настраиваемая библиотека графиков для Flutter, поддерживающая линейные, баровые, круговые, разбросанные и радарные графики.
👍 Лайки: 6900, 📥 Скачиваний: 1.19М
https://pub.dev/packages/fl_chart
widgetbook 3.17.0
Теперь вы можете настраивать поведение скролла, использовать новую версию Flutter 3.35.0 и многое другое.
Уже 699 лайков и 240000 скачиваний!
👍 Лайки: 699, 📥 Скачиваний: 240К
https://pub.dev/packages/widgetbook
supabase_flutter 2.10.1
Пакет supabase_flutter - это клиентская библиотека для Supabase, позволяющая использовать функции аутентификации, базы данных, хранилища и многое другое в приложениях Flutter.
В новой версии исправлена проблема с совместимостью с веб-приложениями из-за импорта dart:io.
👍 Лайки: 871, 📥 Скачиваний: 227К
https://pub.dev/packages/supabase_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #url_launcher_android #purchases_flutter #launchdarkly_flutter_client_sdk #fl_chart #widgetbook #supabase_flutter
url_launcher_android 6.3.22
Плагин для запуска ссылок на Android. Теперь добавлена поддержка externalNonBrowserApplication на API 30+.
👍 Лайки: 20, 📥 Скачиваний: 4.8М
https://pub.dev/packages/url_launcher_android
purchases_flutter 9.6.1
Клиент для системы отслеживания подписок и покупок RevenueCat, упрощающий реализацию в-app покупок в Flutter.
В обновлении исправлены ошибки, включая крах при вызове функции покупки с параметрами.
👍 Лайки: 838, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
launchdarkly_flutter_client_sdk 4.12.0
Теперь доступна экспериментальная поддержка плагинов и хуков.
Исправлены ошибки и обновлены зависимости.
👍 Лайки: 16, 📥 Скачиваний: 311К
https://pub.dev/packages/launchdarkly_flutter_client_sdk
fl_chart 1.1.1
Теперь с улучшениями в зависимостях vector_math, build_runner, mockito и very_good_analysis.
Пакет fl_chart - это высоко настраиваемая библиотека графиков для Flutter, поддерживающая линейные, баровые, круговые, разбросанные и радарные графики.
👍 Лайки: 6900, 📥 Скачиваний: 1.19М
https://pub.dev/packages/fl_chart
widgetbook 3.17.0
Теперь вы можете настраивать поведение скролла, использовать новую версию Flutter 3.35.0 и многое другое.
Уже 699 лайков и 240000 скачиваний!
👍 Лайки: 699, 📥 Скачиваний: 240К
https://pub.dev/packages/widgetbook
supabase_flutter 2.10.1
Пакет supabase_flutter - это клиентская библиотека для Supabase, позволяющая использовать функции аутентификации, базы данных, хранилища и многое другое в приложениях Flutter.
В новой версии исправлена проблема с совместимостью с веб-приложениями из-за импорта dart:io.
👍 Лайки: 871, 📥 Скачиваний: 227К
https://pub.dev/packages/supabase_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #url_launcher_android #purchases_flutter #launchdarkly_flutter_client_sdk #fl_chart #widgetbook #supabase_flutter
👍1
🚀 Расширяем возможности Flutter с помощью FFI: бинарники и компиляция под капотом!
🔥 Готовы погрузиться в мир нативной магии? В новом видео от эксперта Руслана Цицера — ключевые секреты интеграции C/C++ библиотек во Flutter через FFI! Узнайте, как избежать подводных камней и заставить "железо" работать на вас.
👉 СМОТРЕТЬ ВИДЕО 👈
💡 В этом выпуске:
🔧 Две главные проблемы FFI и их элегантные решения:
1️⃣ Выбор компилятора — почему для iOS, Android и macOS нужны разные инструменты и как их настроить
2️⃣ Интеграция бинарников — куда поместить скомпилированные библиотеки, чтобы Flutter их "увидел"
📦 Практические примеры:
- Работа с Makefile и скриптами сборки
- Особенности подключения под Android (
- Автоматизация переноса бинарников
🚨Внимание, лайфхак! Для iOS показан работающий метод подключения через "кустарные" CocoaPods — минимум конфигурации, максимум результата!
🔗 Ресурсы:
- GitHub с примерами кода
💬 "Если вы работаете с нативным кодом — это видео сэкономит вам часы поисков!"
👍 Не пропустите! Узнайте, как:
- Собрать универсальные бинарники под любую платформу
- Избежать ошибок ABI-совместимости
- Оптимизировать процесс сборки
👉 Подписывайтесь на канал, жмите 🔔 колокольчик, чтобы не пропустить новые выпуски! Ваши лайки и комментарии — лучшая мотивация для автора 💙
И про реакции на нашем канале тоже не забывайте!) 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #Rust #NativeCode #MobileDevelopment
🔥 Готовы погрузиться в мир нативной магии? В новом видео от эксперта Руслана Цицера — ключевые секреты интеграции C/C++ библиотек во Flutter через FFI! Узнайте, как избежать подводных камней и заставить "железо" работать на вас.
👉 СМОТРЕТЬ ВИДЕО 👈
💡 В этом выпуске:
🔧 Две главные проблемы FFI и их элегантные решения:
1️⃣ Выбор компилятора — почему для iOS, Android и macOS нужны разные инструменты и как их настроить
2️⃣ Интеграция бинарников — куда поместить скомпилированные библиотеки, чтобы Flutter их "увидел"
📦 Практические примеры:
- Работа с Makefile и скриптами сборки
- Особенности подключения под Android (
jniLibs
) и iOS (Framework + Info.plist)- Автоматизация переноса бинарников
🚨
🔗 Ресурсы:
- GitHub с примерами кода
💬 "Если вы работаете с нативным кодом — это видео сэкономит вам часы поисков!"
👍 Не пропустите! Узнайте, как:
- Собрать универсальные бинарники под любую платформу
- Избежать ошибок ABI-совместимости
- Оптимизировать процесс сборки
👉 Подписывайтесь на канал, жмите 🔔 колокольчик, чтобы не пропустить новые выпуски! Ваши лайки и комментарии — лучшая мотивация для автора 💙
И про реакции на нашем канале тоже не забывайте!) 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #Rust #NativeCode #MobileDevelopment
❤1
Вложенная навигация с Go_Router
Давайте создадим боковую панель с Flutter Web и go_router 🤔
Вместо того, чтобы напрямую добавлять все маршруты (GoRoute), мы обернём их в поднавигацию 📦
Мы обернём все подмаршруты в StatefulShellRoute, чтобы управлять состоянием поднавигации 🔄
Для каждого подмаршрута у нас будет StatefulShellBranch, который может содержать несколько маршрутов 🌐
Каждый элемент будет иметь свой собственный стек навигации 📚
Оцените новую рубрику 👍👏! Все подобные новости можно найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами 🔔
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #GoRouter #NestedNavigation #FlutterWeb
Давайте создадим боковую панель с Flutter Web и go_router 🤔
Вместо того, чтобы напрямую добавлять все маршруты (GoRoute), мы обернём их в поднавигацию 📦
Мы обернём все подмаршруты в StatefulShellRoute, чтобы управлять состоянием поднавигации 🔄
Для каждого подмаршрута у нас будет StatefulShellBranch, который может содержать несколько маршрутов 🌐
Каждый элемент будет иметь свой собственный стек навигации 📚
import 'package:go_router/go_router.dart'; // Импорт библиотеки go_router
GoRouter generateRouter() {
return GoRouter(
routes: [
// Страница без боковой панели
GoRoute(
name: 'signin',
path: '/signin',
builder: (context, state) => const SignInPage(),
),
// Страница с боковой панелью
StatefulShellRoute(
parentNavigatorKey: navigatorKey, // Ключ навигатора родительского маршрута
// Боковая панель будет отображаться слева
builder: (context, state, navigationShell) => Row(
children: [
SideBar(state: state), // Боковая панель
Expanded(child: navigationShell), // Содержимое навигации
],
),
// builder будет вызван, когда маршрут активируется
// navigationShell - виджет, который отображает содержимое маршрута
// Он будет показывать текущую последнюю страницу стека навигации для каждой ветки
navigatorContainerBuilder: (
BuildContext context,
StatefulNavigationShell navigationShell,
List<Widget> children,
) {
if (children.isEmpty) {
return SizedBox(); // Пустой контейнер, если нет дочерних элементов
}
return Scaffold(
body: children[navigationShell.currentIndex], // Отображение текущего дочернего элемента
);
},
branches: [
StatefulShellBranch(
routes: [
GoRoute(
name: 'users',
path: '/users',
builder: (context, state) => const UsersPage(),
),
GoRoute(
name: 'user profile',
path: '/users/:userId',
builder: (context, state) => const UserProfilePage(),
),
],
),
StatefulShellBranch(
routes: [
GoRoute(
name: 'notifications',
path: '/notifications',
builder: (context, state) => const NotificationsPage(),
),
],
),
],
),
],
);
}
Оцените новую рубрику 👍👏! Все подобные новости можно найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами 🔔
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #GoRouter #NestedNavigation #FlutterWeb
👍3👨💻1
Привет, программисты! 🤩 У вас когда-нибудь возникала задача связать два виджета в разных частях дерева, чтобы один точно позиционировался относительно другого? 🤔 Это может быть полезно при создании dropdown'ов, подсказок и overlay-элементов 📝. В новой статье Сёрфы делятся гайдом, как связать видженты с помощью LayerLink 📈. Объясняют, как работают target и follower, и почему без них не обойтись при создании этих элементов 🏄. Если вы хотите быть в курсе всех последних новостей и гайдов по Flutter и Dart, то стоит подписаться на flutterpulse 📊! #flutter #dart #flutterpulse 😊
Самые лучшие обновлённые пакеты за последние 24 часа
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
JOSE 0.3.5
Теперь поддерживает архив ^4.0.0 и сжатые данные в JWE.
Лайков: 69, Скачиваний: 375000
https://pub.dev/packages/jose
agora_rtc_engine 6.5.3
Этот пакет используется для добавления функций видео и аудио коммуникаций в приложения, построенные на Flutter.
В новой версии исправлены ошибки компиляции, устранено мерцание видео при изменении разрешения и улучшена совместимость с нижними версиями Flutter SDK.
Пакет имеет 859 лайков и 37300 скачиваний.
https://pub.dev/packages/agora_rtc_engine
envied 1.3.0
Этот пакет позволяет упростить работу с переменными окружения в приложениях Dart/Flutter. Теперь вы можете легко хранить и использовать переменные окружения в своем проекте.
В новой версии расширены ограничения версий для зависимостей build и source_gen.
Пакет envied имеет 851 лайк и более 139 000 скачиваний!
https://pub.dev/packages/envied
talker_logger 5.0.1
Теперь с исправленными документами и обновленной версией share_plus.
Лайков: 49, Скачиваний: 278000.
https://pub.dev/packages/talker_logger
flutter_blue_plus 1.36.7
Этот пакет - плагин Bluetooth Low Energy для Flutter, поддерживающий роль центрального устройства на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлены ошибки на iOS, macOS, Android и Linux, связанные с настройками и логированием.
Пакет имеет 1180 лайков и более 126 000 скачиваний.
https://pub.dev/packages/flutter_blue_plus
image_picker_android 0.8.4+11
Этот пакет используется для реализации функции выбора изображений на Android-устройствах.
Теперь он работает как федеративная реализация, отдельно от image_picker.
Лайков: 29, Скачиваний: 454000.
https://pub.dev/packages/image_picker_android
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #jose #agora_rtc_engine #envied #talker_logger #flutter_blue_plus #image_picker_android
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
JOSE 0.3.5
Теперь поддерживает архив ^4.0.0 и сжатые данные в JWE.
Лайков: 69, Скачиваний: 375000
https://pub.dev/packages/jose
agora_rtc_engine 6.5.3
Этот пакет используется для добавления функций видео и аудио коммуникаций в приложения, построенные на Flutter.
В новой версии исправлены ошибки компиляции, устранено мерцание видео при изменении разрешения и улучшена совместимость с нижними версиями Flutter SDK.
Пакет имеет 859 лайков и 37300 скачиваний.
https://pub.dev/packages/agora_rtc_engine
envied 1.3.0
Этот пакет позволяет упростить работу с переменными окружения в приложениях Dart/Flutter. Теперь вы можете легко хранить и использовать переменные окружения в своем проекте.
В новой версии расширены ограничения версий для зависимостей build и source_gen.
Пакет envied имеет 851 лайк и более 139 000 скачиваний!
https://pub.dev/packages/envied
talker_logger 5.0.1
Теперь с исправленными документами и обновленной версией share_plus.
Лайков: 49, Скачиваний: 278000.
https://pub.dev/packages/talker_logger
flutter_blue_plus 1.36.7
Этот пакет - плагин Bluetooth Low Energy для Flutter, поддерживающий роль центрального устройства на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлены ошибки на iOS, macOS, Android и Linux, связанные с настройками и логированием.
Пакет имеет 1180 лайков и более 126 000 скачиваний.
https://pub.dev/packages/flutter_blue_plus
image_picker_android 0.8.4+11
Этот пакет используется для реализации функции выбора изображений на Android-устройствах.
Теперь он работает как федеративная реализация, отдельно от image_picker.
Лайков: 29, Скачиваний: 454000.
https://pub.dev/packages/image_picker_android
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #jose #agora_rtc_engine #envied #talker_logger #flutter_blue_plus #image_picker_android
Показываем версию вашего приложения
Полезно для поддержки клиентов или просто при тестировании новых сборок из магазинов
Отображение версии приложения может быть очень полезным, особенно когда вы тестируете новые сборки или оказываете поддержку клиентам. Для этого нам понадобится пакет
Далее, вы можете использовать следующий код, чтобы отобразить версию вашего приложения:
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #CodingTips #DevTips
Полезно для поддержки клиентов или просто при тестировании новых сборок из магазинов
Отображение версии приложения может быть очень полезным, особенно когда вы тестируете новые сборки или оказываете поддержку клиентам. Для этого нам понадобится пакет
package_info_plus
. Установите его, добавив в ваш pubspec.yaml:
dependencies:
package_info_plus: ^latest_version
Далее, вы можете использовать следующий код, чтобы отобразить версию вашего приложения:
class AppVersion extends StatelessWidget {
const AppVersion({super.key});
Future<PackageInfo> _getAppVersion() async {
// Получаем информацию о пакете приложения
final packageInfo = await PackageInfo.fromPlatform();
return packageInfo;
}
@override
Widget build(BuildContext context) {
return FutureBuilder<PackageInfo>(
future: _getAppVersion(),
builder: (context, snapshot) {
// Проверяем состояние загрузки данных
if (snapshot.connectionState == ConnectionState.waiting || snapshot.hasError) {
return const SizedBox.shrink(); // Возвращаем пустой виджет, если данные ещё не загружены или произошла ошибка
} else {
// Отображаем версию приложения и номер сборки
return Text(
"Version ${snapshot.data?.version}(${snapshot.data?.buildNumber})",
textAlign: TextAlign.center,
style: context.textTheme.bodyMedium?.copyWith(
color: context.colors.onBackground.withOpacity(.6),
),
);
}
},
);
}
}
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #CodingTips #DevTips
👍1