🚀 Расширяем возможности Flutter с помощью FFI: Вызываем функции из GO!
Привет, Flutter-энтузиасты! Руслан подготовил 🔥горячее видео, которое откроет вам мир межъязыкового взаимодействия. Узнайте, как заставить Dart и Go работать в тандеме через FFI (Foreign Function Interface)!
👉 Смотрите видео здесь:
Расширяем возможности Flutter с помощью FFI. Вызываем функции из GO
В этом выпуске вы узнаете:
🔹 Как передавать строки между Dart и Go (и обратно!)
🔹 Особенности работы с памятью и Garbage Collector
🔹 Магию горутин (goroutine) и defer
🔹 Практические примеры вызова Go-кода из Flutter-приложений
✨ Почему это важно?
Вы сможете использовать сильные стороны Go (например, многопоточность через горутины) в своих Flutter-проектах! Автор наглядно показывает процесс компиляции, преобразования типов и управления памятью.
💡 В следующих выпусках:
- Работа с Rust, Python и C++ через FFI
- Продвинутые техники оптимизации
🔥P.S. Увидите, как Go-горутины ускоряют вычисления в сравнении с Dart-изолятами!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
#FFI #Golang #MobileDevelopment #CrossPlatform
👉 Больше полезного в плейлисте: #FlutterPulseYoutube
Привет, Flutter-энтузиасты! Руслан подготовил 🔥горячее видео, которое откроет вам мир межъязыкового взаимодействия. Узнайте, как заставить Dart и Go работать в тандеме через FFI (Foreign Function Interface)!
👉 Смотрите видео здесь:
Расширяем возможности Flutter с помощью FFI. Вызываем функции из GO
В этом выпуске вы узнаете:
🔹 Как передавать строки между Dart и Go (и обратно!)
🔹 Особенности работы с памятью и Garbage Collector
🔹 Магию горутин (goroutine) и defer
🔹 Практические примеры вызова Go-кода из Flutter-приложений
✨ Почему это важно?
Вы сможете использовать сильные стороны Go (например, многопоточность через горутины) в своих Flutter-проектах! Автор наглядно показывает процесс компиляции, преобразования типов и управления памятью.
💡 В следующих выпусках:
- Работа с Rust, Python и C++ через FFI
- Продвинутые техники оптимизации
🔥
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
#FFI #Golang #MobileDevelopment #CrossPlatform
👉 Больше полезного в плейлисте: #FlutterPulseYoutube
Шпаргалка по Dart map
Maps are fast - Карты работают быстро
Карта - это коллекция пар ключ/значение. Значение извлекается из карты с помощью связанного с ним ключа.
В Dart существует 3 типа карт:
- HashMap - неупорядоченная
- LinkedHashMap - упорядоченная по порядку вставки
- SplayTreeMap - упорядоченная по ключам
Преобразование списка в карту
Зачем использовать карту?
Доступ к элементу в списке с использованием
Доступ к элементу или проверка его наличия в карте занимает O(1).
Карты выигрывают в этом
Как создать неизменяемую карту?
https://pub.dev/packages/built_collection - Этот пакет предоставляет способы создания неизменяемых карт (разработан командой Dart).
Функции карты
Оцените новую рубрику! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartTips #MobileDevelopment #ProgrammingTips #Coding #FlutterCommunity
Maps are fast - Карты работают быстро
Карта - это коллекция пар ключ/значение. Значение извлекается из карты с помощью связанного с ним ключа.
В Dart существует 3 типа карт:
- HashMap - неупорядоченная
- LinkedHashMap - упорядоченная по порядку вставки
- SplayTreeMap - упорядоченная по ключам
// Простая карта со строковым ключом: строковым значением
var data = {'name': 'John Doe', 'occupation': 'gardener'};
// карта, типизированная с помощью конструктора Map<String, String>()
var data2 = <int, String>{1: 'sky', 2: 'falcon', 3: 'rock'};
Преобразование списка в карту
// преобразование списка в карту
var resultMap = Map.fromIterable(list, key: (v) => v[0], value: (v) => v[1]);
// или
var result = { for (var v in list) v[0]: v[1] };
// или просто используя метод asMap() для автоматического индексирования
var result = ["test","test2","test3"].asMap(); // {0: test, 1: test2, 2: test3}
Зачем использовать карту?
Доступ к элементу в списке с использованием
indexOf
или contains
имеет сложность O(n).Доступ к элементу или проверка его наличия в карте занимает O(1).
Карты выигрывают в этом
Как создать неизменяемую карту?
https://pub.dev/packages/built_collection - Этот пакет предоставляет способы создания неизменяемых карт (разработан командой Dart).
Функции карты
var details = {'Usrname': 'bruce', 'Password': 'mypas'};
// добавление
details['Uid'] = '3802983209A';
// обновление
details.putIfAbsent("Uid", () => "3802983209A");
// преобразование в другую карту
details.map((key, value) => MapEntry(key, "$key:$value"));
// приведение к другому типу
details.cast<int, int>();
// проверка наличия ключа
details.containsKey("key"); // сложность O(1)
// копирование
var copy = {...details};
// обновление
details.update("Usrname", (value) => "joker");
Оцените новую рубрику! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartTips #MobileDevelopment #ProgrammingTips #Coding #FlutterCommunity
👍3
Обзор пакетов на тему "Аватары, изображения профилей и чат-хеды"
📦 Avatar Plus - создавайте уникальные аватары для ваших приложений на основе текста. Возможности: генерация уникальных аватаров, настройка аватаров, более 12 миллиардов возможных уникальных аватаров.
👍 Лайки: 46, 📥 Скачиваний: 589
📅 Последнее обновление: 11 месяцев назад
https://pub.dev/packages/avatar_plus
📦 flutter_boring_avatars - создавайте уникальные аватары на основе имени пользователя и цветовой палитры. Пакет поддерживает анимацию перехода и настраиваемые формы.
👍 Лайки: 34, 📥 Скачиваний: 1.04К
📅 Последнее обновление: 11 месяцев назад
https://pub.dev/packages/flutter_boring_avatars
📦 Advanced Avatar - создайте уникальные аватары для вашего приложения с помощью богатого API для настройки виджетов. Включает темы для светлого и темного режимов.
👍 Лайки: 107, 📥 Скачиваний: 3.75К
📅 Последнее обновление: 9 месяцев назад
https://pub.dev/packages/flutter_advanced_avatar
📦 Avatar Brick - автоматически отображает инициалы имени, если аватар недоступен. Поддерживает различные форматы изображений и позволяет настраивать размер, цвет и стиль аватара.
👍 Лайки: 30, 📥 Скачиваний: 75
📅 Последнее обновление: 3 месяца назад
https://pub.dev/packages/avatar_brick
📦 Avatar Stack - пакет Avatar Stack позволяет визуально представить пользователей, места и объекты в ограниченном пространстве. Он поддерживает анимацию, настройку выравнивания и перекрытия элементов.
👍 Лайки: 182, 📥 Скачиваний: 5.21К
📅 Последнее обновление: 7 месяцев назад
https://pub.dev/packages/avatar_stack
#AvatarPlus #flutter_boring_avatars #AdvancedAvatar #AvatarBrick #AvatarStack #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
📦 Avatar Plus - создавайте уникальные аватары для ваших приложений на основе текста. Возможности: генерация уникальных аватаров, настройка аватаров, более 12 миллиардов возможных уникальных аватаров.
👍 Лайки: 46, 📥 Скачиваний: 589
📅 Последнее обновление: 11 месяцев назад
https://pub.dev/packages/avatar_plus
📦 flutter_boring_avatars - создавайте уникальные аватары на основе имени пользователя и цветовой палитры. Пакет поддерживает анимацию перехода и настраиваемые формы.
👍 Лайки: 34, 📥 Скачиваний: 1.04К
📅 Последнее обновление: 11 месяцев назад
https://pub.dev/packages/flutter_boring_avatars
📦 Advanced Avatar - создайте уникальные аватары для вашего приложения с помощью богатого API для настройки виджетов. Включает темы для светлого и темного режимов.
👍 Лайки: 107, 📥 Скачиваний: 3.75К
📅 Последнее обновление: 9 месяцев назад
https://pub.dev/packages/flutter_advanced_avatar
📦 Avatar Brick - автоматически отображает инициалы имени, если аватар недоступен. Поддерживает различные форматы изображений и позволяет настраивать размер, цвет и стиль аватара.
👍 Лайки: 30, 📥 Скачиваний: 75
📅 Последнее обновление: 3 месяца назад
https://pub.dev/packages/avatar_brick
📦 Avatar Stack - пакет Avatar Stack позволяет визуально представить пользователей, места и объекты в ограниченном пространстве. Он поддерживает анимацию, настройку выравнивания и перекрытия элементов.
👍 Лайки: 182, 📥 Скачиваний: 5.21К
📅 Последнее обновление: 7 месяцев назад
https://pub.dev/packages/avatar_stack
#AvatarPlus #flutter_boring_avatars #AdvancedAvatar #AvatarBrick #AvatarStack #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Новые пакеты за неделю
flutter_logs_yoer
Пакет для логирования в Flutter, который позволяет создавать файлы логов с возможностью фильтрации, сортировки и экспорта в формате zip.
👍 Лайки: 1, 📥 Скачиваний: 307
https://pub.dev/packages/flutter_logs_yoer
video_view
Пакет для легкого воспроизведения видео в приложениях Flutter, поддерживающий субтитры и переключение аудиодорожек.
👍 Лайки: 3, 📥 Скачиваний: 658
https://pub.dev/packages/video_view
komodo_defi_sdk
Пакет для создания кроссплатформенных кошельков и приложений DeFi на основе Komodo, включающий функции аутентификации, активации активов и вывода средств.
👍 Лайки: 8, 📥 Скачиваний: 4
https://pub.dev/packages/komodo_defi_sdk
anti_intip_variabel
Пакет для защиты секретов в приложениях Flutter/Dart, использующий технику XOR-обфускации для защиты API-ключей и токенов.
👍 Лайки: 1, 📥 Скачиваний: 327
https://pub.dev/packages/anti_intip_variabel
json_factory_generator
Пакет-генератор кода для Dart, создающий централизованные, типобезопасные фабрики JSON для моделей.
👍 Лайки: 7, 📥 Скачиваний: 153
https://pub.dev/packages/json_factory_generator
flame_3d
Экспериментальная реализация 3D поддержки для Flame, с фокусом на исследовании потенциальных возможностей 3D.
👍 Лайки: 32, 📥 Скачиваний: 160
https://pub.dev/packages/flame_3d
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #firebase_messaging #flutter_logs_yoer #video_view #komodo_defi_sdk #anti_intip_variabel #json_factory_generator #flame_3d
flutter_logs_yoer
Пакет для логирования в Flutter, который позволяет создавать файлы логов с возможностью фильтрации, сортировки и экспорта в формате zip.
👍 Лайки: 1, 📥 Скачиваний: 307
https://pub.dev/packages/flutter_logs_yoer
video_view
Пакет для легкого воспроизведения видео в приложениях Flutter, поддерживающий субтитры и переключение аудиодорожек.
👍 Лайки: 3, 📥 Скачиваний: 658
https://pub.dev/packages/video_view
komodo_defi_sdk
Пакет для создания кроссплатформенных кошельков и приложений DeFi на основе Komodo, включающий функции аутентификации, активации активов и вывода средств.
👍 Лайки: 8, 📥 Скачиваний: 4
https://pub.dev/packages/komodo_defi_sdk
anti_intip_variabel
Пакет для защиты секретов в приложениях Flutter/Dart, использующий технику XOR-обфускации для защиты API-ключей и токенов.
👍 Лайки: 1, 📥 Скачиваний: 327
https://pub.dev/packages/anti_intip_variabel
json_factory_generator
Пакет-генератор кода для Dart, создающий централизованные, типобезопасные фабрики JSON для моделей.
👍 Лайки: 7, 📥 Скачиваний: 153
https://pub.dev/packages/json_factory_generator
flame_3d
Экспериментальная реализация 3D поддержки для Flame, с фокусом на исследовании потенциальных возможностей 3D.
👍 Лайки: 32, 📥 Скачиваний: 160
https://pub.dev/packages/flame_3d
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #firebase_messaging #flutter_logs_yoer #video_view #komodo_defi_sdk #anti_intip_variabel #json_factory_generator #flame_3d
Самые лучшие обновлённые пакеты за последние 24 часа
vector_graphics_compiler 1.1.19
Плагин для компиляции SVG-файлов в формат, который может быть отображен runtime vector_graphics. Теперь поддерживается версия xml до 6.6.1 и минимальная версия SDK Flutter 3.29/Dart 3.7.
👍 Лайки: 107, 📥 Скачиваний: 3.1М
https://pub.dev/packages/vector_graphics_compiler
flutter_local_notifications 19.4.1
Пакет для отображения локальных уведомлений на различных платформах. В новой версии исправлена проблема с добавлением невидимого флага к действиям уведомлений.
👍 Лайки: 7080, 📥 Скачиваний: 1.36М
https://pub.dev/packages/flutter_local_notifications
syncfusion_flutter_charts 30.2.6+1
Пакет для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, связанная с авто-прокруткой при изменении размера экрана.
👍 Лайки: 3540, 📥 Скачиваний: 274К
https://pub.dev/packages/syncfusion_flutter_charts
dwds 25.0.3
Пакет для обеспечения совместимости инструментов разработки Dart с веб-приложениями. В новой версии исправлена ошибка при горячем перезапуске с веб-сокетом.
👍 Лайки: 30, 📥 Скачиваний: 4М
https://pub.dev/packages/dwds
syncfusion_flutter_datepicker 29.1.39
Пакет для создания удобных виджетов выбора дат в приложениях Flutter. Теперь минимальная версия Dart обновлена до 3.7.
👍 Лайки: 1590, 📥 Скачиваний: 182К
https://pub.dev/packages/syncfusion_flutter_datepicker
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #vector_graphics_compiler #flutter_local_notifications #syncfusion_flutter_charts #dwds #syncfusion_flutter_datepicker
vector_graphics_compiler 1.1.19
Плагин для компиляции SVG-файлов в формат, который может быть отображен runtime vector_graphics. Теперь поддерживается версия xml до 6.6.1 и минимальная версия SDK Flutter 3.29/Dart 3.7.
👍 Лайки: 107, 📥 Скачиваний: 3.1М
https://pub.dev/packages/vector_graphics_compiler
flutter_local_notifications 19.4.1
Пакет для отображения локальных уведомлений на различных платформах. В новой версии исправлена проблема с добавлением невидимого флага к действиям уведомлений.
👍 Лайки: 7080, 📥 Скачиваний: 1.36М
https://pub.dev/packages/flutter_local_notifications
syncfusion_flutter_charts 30.2.6+1
Пакет для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, связанная с авто-прокруткой при изменении размера экрана.
👍 Лайки: 3540, 📥 Скачиваний: 274К
https://pub.dev/packages/syncfusion_flutter_charts
dwds 25.0.3
Пакет для обеспечения совместимости инструментов разработки Dart с веб-приложениями. В новой версии исправлена ошибка при горячем перезапуске с веб-сокетом.
👍 Лайки: 30, 📥 Скачиваний: 4М
https://pub.dev/packages/dwds
syncfusion_flutter_datepicker 29.1.39
Пакет для создания удобных виджетов выбора дат в приложениях Flutter. Теперь минимальная версия Dart обновлена до 3.7.
👍 Лайки: 1590, 📥 Скачиваний: 182К
https://pub.dev/packages/syncfusion_flutter_datepicker
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #vector_graphics_compiler #flutter_local_notifications #syncfusion_flutter_charts #dwds #syncfusion_flutter_datepicker
Изменение яркости системной панели
Отобразить системную панель с правильной яркостью на iOS и Android 🚀
При разработке мобильных приложений важно обеспечить корректное отображение системной панели на разных платформах. В этой статье мы рассмотрим, как изменить яркость системной панели в приложениях Flutter для iOS и Android.
Код для изменения яркости системной панели:
Обратите внимание:
-
-
Особенности для iOS: 🤔
На iOS строка состояния может быть изначально скрыта. Чтобы отобразить ее, откройте ваш проект в Xcode и убедитесь, что свойство
👍 Оцените нашу новую рубрику советов по Flutter! Ваши отзывы помогут нам сделать контент еще лучше.
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #iOS #Android #FlutterTips #DevTips
Отобразить системную панель с правильной яркостью на iOS и Android 🚀
При разработке мобильных приложений важно обеспечить корректное отображение системной панели на разных платформах. В этой статье мы рассмотрим, как изменить яркость системной панели в приложениях Flutter для iOS и Android.
Код для изменения яркости системной панели:
SystemChrome.setSystemUIOverlayStyle(
SystemUIOverlayStyle(
statusBarColor: Colors.transparent, // Прозрачный цвет статус-бара
statusBarBrightness: // Установка яркости статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.light : Brightness.dark,
statusBarIconBrightness: // Установка яркости иконок статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.dark : Brightness.light,
),
);
Обратите внимание:
-
statusBarBrightness
применяется только на Android.-
statusBarIconBrightness
также применяется только на Android, но с инвертированными значениями для iOS.Особенности для iOS: 🤔
На iOS строка состояния может быть изначально скрыта. Чтобы отобразить ее, откройте ваш проект в Xcode и убедитесь, что свойство
status bar initially hidden
не отмечено.👍 Оцените нашу новую рубрику советов по Flutter! Ваши отзывы помогут нам сделать контент еще лучше.
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #iOS #Android #FlutterTips #DevTips
👍2
Обзор пакетов на тему "Датчики" (Sensors)
sensors_plus - пакет для доступа к акселерометру, гироскопу, магнитометру и барометру на Android, iOS, MacOS, Linux и Windows. 👍 Лайки: 952, 📥 Скачиваний: 352К
Последнее обновление 📅: 14 дней назад
https://pub.dev/packages/sensors_plus
ir_sensor_plugin - пакет для использования инфракрасного датчика в ваших приложениях Flutter. Поддерживается только Android. 👍 Лайки: 34, 📥 Скачиваний: 158
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/ir_sensor_plugin
carp_mobile_sensing - пакет для создания кроссплатформенных приложений для сбора данных с мобильных устройств. Поддерживает iOS и Android. 👍 Лайки: 22, 📥 Скачиваний: 1.9К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/carp_mobile_sensing
flutter_compass - пакет для создания компаса в ваших Flutter-приложениях. Возвращает направление от 0 до 360 градусов, где 0 - север. 👍 Лайки: 186, 📥 Скачиваний: 53К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/flutter_compass
ambient_light - пакет для доступа к данным датчика окружающего света на Android, iOS и macOS. 👍 Лайки: 8, 📥 Скачиваний: 1.8К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/ambient_light
light - пакет для сбора данных о внешнем освещении с помощью датчиков окружающей среды Android. 👍 Лайки: 24, 📥 Скачиваний: 5.1К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/light
#sensors_plus #ir_sensor_plugin #carp_mobile_sensing #flutter_compass #ambient_light #light #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
sensors_plus - пакет для доступа к акселерометру, гироскопу, магнитометру и барометру на Android, iOS, MacOS, Linux и Windows. 👍 Лайки: 952, 📥 Скачиваний: 352К
Последнее обновление 📅: 14 дней назад
https://pub.dev/packages/sensors_plus
ir_sensor_plugin - пакет для использования инфракрасного датчика в ваших приложениях Flutter. Поддерживается только Android. 👍 Лайки: 34, 📥 Скачиваний: 158
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/ir_sensor_plugin
carp_mobile_sensing - пакет для создания кроссплатформенных приложений для сбора данных с мобильных устройств. Поддерживает iOS и Android. 👍 Лайки: 22, 📥 Скачиваний: 1.9К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/carp_mobile_sensing
flutter_compass - пакет для создания компаса в ваших Flutter-приложениях. Возвращает направление от 0 до 360 градусов, где 0 - север. 👍 Лайки: 186, 📥 Скачиваний: 53К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/flutter_compass
ambient_light - пакет для доступа к данным датчика окружающего света на Android, iOS и macOS. 👍 Лайки: 8, 📥 Скачиваний: 1.8К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/ambient_light
light - пакет для сбора данных о внешнем освещении с помощью датчиков окружающей среды Android. 👍 Лайки: 24, 📥 Скачиваний: 5.1К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/light
#sensors_plus #ir_sensor_plugin #carp_mobile_sensing #flutter_compass #ambient_light #light #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа
Flame 1.32.0 - движок для создания игр на основе Flutter. В новой версии были внесены следующие изменения: перемещен MutableRSTransform из пакета flame_tiled в пакет flame, добавлен метод renderLine в расширения canvas. Пакет имеет 2210 лайков и более 82.6К скачиваний. 👍 Лайки: 2210, 📥 Скачиваний: 82.6К
https://pub.dev/packages/flame
json_serializable 6.11.0 - пакет для генерации кода для сериализации и десериализации JSON в Dart. Теперь он поддерживает аннотацию JsonKey на параметрах конструктора. Лайков: 3830, Скачиваний: 2.6М
https://pub.dev/packages/json_serializable
syncfusion_flutter_charts 30.2.6+1 - пакет для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, связанная с авто-прокруткой при изменении размера экрана. Пакет имеет более 3540 лайков и 266К скачиваний! 👍 Лайки: 3540, 📥 Скачиваний: 266К
https://pub.dev/packages/syncfusion_flutter_charts
path_provider_android 2.2.18 - пакет для предоставления пути к файлам и директориям в приложениях Android. Теперь с обновлением до com.android.tools.build:gradle 8.12.1 и минимальной поддержкой SDK версии Flutter 3.29/Dart 3.7. Лайков: 18, Скачиваний: 4.9М
https://pub.dev/packages/path_provider_android
url_launcher_android 6.3.18 - пакет для запуска ссылок в приложениях Android. Теперь с обновлением до com.android.tools.build:gradle 8.12.1 и минимальной поддержкой SDK версии Flutter 3.29/Dart 3.7. Лайков: 19, Скачиваний: 4.5М
https://pub.dev/packages/url_launcher_android
shared_preferences_android 2.4.12 - пакет для хранения настроек в приложениях Android. Теперь использует обновлённые версии com.android.tools.build:gradle и kotlin_version. Минимальная поддерживаемая версия SDK обновлена до Flutter 3.29/Dart 3.7. Пакет имеет 17 лайков и более 3.9М скачиваний. 👍 Лайки: 17, 📥 Скачиваний: 3.9М
https://pub.dev/packages/shared_preferences_android
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #json_serializable #Flame #syncfusion_flutter_charts #path_provider_android #url_launcher_android #shared_preferences_android
Flame 1.32.0 - движок для создания игр на основе Flutter. В новой версии были внесены следующие изменения: перемещен MutableRSTransform из пакета flame_tiled в пакет flame, добавлен метод renderLine в расширения canvas. Пакет имеет 2210 лайков и более 82.6К скачиваний. 👍 Лайки: 2210, 📥 Скачиваний: 82.6К
https://pub.dev/packages/flame
json_serializable 6.11.0 - пакет для генерации кода для сериализации и десериализации JSON в Dart. Теперь он поддерживает аннотацию JsonKey на параметрах конструктора. Лайков: 3830, Скачиваний: 2.6М
https://pub.dev/packages/json_serializable
syncfusion_flutter_charts 30.2.6+1 - пакет для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, связанная с авто-прокруткой при изменении размера экрана. Пакет имеет более 3540 лайков и 266К скачиваний! 👍 Лайки: 3540, 📥 Скачиваний: 266К
https://pub.dev/packages/syncfusion_flutter_charts
path_provider_android 2.2.18 - пакет для предоставления пути к файлам и директориям в приложениях Android. Теперь с обновлением до com.android.tools.build:gradle 8.12.1 и минимальной поддержкой SDK версии Flutter 3.29/Dart 3.7. Лайков: 18, Скачиваний: 4.9М
https://pub.dev/packages/path_provider_android
url_launcher_android 6.3.18 - пакет для запуска ссылок в приложениях Android. Теперь с обновлением до com.android.tools.build:gradle 8.12.1 и минимальной поддержкой SDK версии Flutter 3.29/Dart 3.7. Лайков: 19, Скачиваний: 4.5М
https://pub.dev/packages/url_launcher_android
shared_preferences_android 2.4.12 - пакет для хранения настроек в приложениях Android. Теперь использует обновлённые версии com.android.tools.build:gradle и kotlin_version. Минимальная поддерживаемая версия SDK обновлена до Flutter 3.29/Dart 3.7. Пакет имеет 17 лайков и более 3.9М скачиваний. 👍 Лайки: 17, 📥 Скачиваний: 3.9М
https://pub.dev/packages/shared_preferences_android
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #json_serializable #Flame #syncfusion_flutter_charts #path_provider_android #url_launcher_android #shared_preferences_android
Создаем чистую круглую кнопку
Как сделать свою собственную круглую кнопку в Flutter? 🤔
В этом совете мы покажем, как создать красивую и простую круглую кнопку для вашего Flutter-приложения. 📱
Давайте разберем пример кода:
Оцените новую рубрику и напишите свое мнение в комментариях! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #uiux #fluttertutorial #codingtips
Как сделать свою собственную круглую кнопку в Flutter? 🤔
В этом совете мы покажем, как создать красивую и простую круглую кнопку для вашего Flutter-приложения. 📱
Давайте разберем пример кода:
const CircleButton({
super.key,
required this.bgColor, // Цвет фона кнопки
required this.borderColor, // Цвет границы кнопки
required this.iconColor, // Цвет иконки
required this.onTap, // Обработчик нажатия
required this.radius, // Радиус кнопки
required this.iconSize, // Размер иконки
required this.borderWidth, // Ширина границы
required this.icon, // Иконка
this.disabled = false, // Флаг блокировки кнопки
});
@override
Widget build(BuildContext context) {
return Opacity(
opacity: disabled ? 0.5 : 1, // Изменяем прозрачность, если кнопка заблокирована
child: ClipOval(
child: Material(
color: Colors.transparent, // Прозрачный фон для эффекта Ink
// Ink покажет эффект касания, который вы видите на всех кнопках Flutter
child: Ink(
width: radius,
height: radius,
decoration: BoxDecoration(
shape: BoxShape.circle, // Круглая форма
color: bgColor, // Цвет фона
border: Border.all(color: borderColor, width: borderWidth), // Граница кнопки
),
child: InkWell(
onTap: () {
if (disabled) {
return; // Ничего не делаем, если кнопка заблокирована
}
// Даем легкую вибрационную обратную связь
HapticFeedback.lightImpact();
// Вызываем метод onTap
onTap();
},
child: Icon(icon, color: iconColor, size: iconSize), // Иконка внутри кнопки
),
),
),
),
);
}
Оцените новую рубрику и напишите свое мнение в комментариях! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #uiux #fluttertutorial #codingtips
👍1
Обзор пакетов на тему "Камера" для Flutter 📸
1. Camera Plugin 📸
Пакет для Flutter, позволяющий получить доступ к камерам устройства на iOS, Android и Web.
Функции: отображение живого превью камеры, захват и сохранение снимков, запись видео и доступ к потоку изображений из Dart.
👍 Лайки: 2.5К, 📥 Скачиваний: 729К
Последнее обновление 📅: 49 дней назад
https://pub.dev/packages/camera
2. Camerax 📹
Пакет для работы с аудиовизуальными активами, контролем камер устройства, обработкой аудио и настройкой системных аудио-взаимодействий.
👍 Лайки: 51, 📥 Скачиваний: 389
Последнее обновление 📅: 23 дня назад
https://pub.dev/packages/camerax
3. CamerAwesome 📸
Пакет для добавления камеры в приложение на Flutter с полностью настраиваемым интерфейсом.
Функции: запись видео, съемка фотографий, мульти-камера, регулировка экспозиции и многое другое!
👍 Лайки: 1.1К, 📥 Скачиваний: 30.9К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/camerawesome
4. camera_avfoundation 📹
Реализация камеры для iOS, используется автоматически при подключении пакета camera.
👍 Лайки: 11, 📥 Скачиваний: 160К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/camera_avfoundation
5. camera_windows 📹
Реализация камеры для Windows, позволяет использовать камеру на устройствах под управлением Windows.
👍 Лайки: 68, 📥 Скачиваний: 1.5К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/camera_windows
6. camera_android_camerax 📹
Реализация камеры для Android на основе библиотеки CameraX, поддерживает одновременную работу с несколькими камерами.
👍 Лайки: 71, 📥 Скачиваний: 301К
Последнее обновление 📅: 11 часов назад
https://pub.dev/packages/camera_android_camerax
#camera #camerax #camerawesome #camera_avfoundation #camera_windows #camera_android_camerax #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
1. Camera Plugin 📸
Пакет для Flutter, позволяющий получить доступ к камерам устройства на iOS, Android и Web.
Функции: отображение живого превью камеры, захват и сохранение снимков, запись видео и доступ к потоку изображений из Dart.
👍 Лайки: 2.5К, 📥 Скачиваний: 729К
Последнее обновление 📅: 49 дней назад
https://pub.dev/packages/camera
2. Camerax 📹
Пакет для работы с аудиовизуальными активами, контролем камер устройства, обработкой аудио и настройкой системных аудио-взаимодействий.
👍 Лайки: 51, 📥 Скачиваний: 389
Последнее обновление 📅: 23 дня назад
https://pub.dev/packages/camerax
3. CamerAwesome 📸
Пакет для добавления камеры в приложение на Flutter с полностью настраиваемым интерфейсом.
Функции: запись видео, съемка фотографий, мульти-камера, регулировка экспозиции и многое другое!
👍 Лайки: 1.1К, 📥 Скачиваний: 30.9К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/camerawesome
4. camera_avfoundation 📹
Реализация камеры для iOS, используется автоматически при подключении пакета camera.
👍 Лайки: 11, 📥 Скачиваний: 160К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/camera_avfoundation
5. camera_windows 📹
Реализация камеры для Windows, позволяет использовать камеру на устройствах под управлением Windows.
👍 Лайки: 68, 📥 Скачиваний: 1.5К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/camera_windows
6. camera_android_camerax 📹
Реализация камеры для Android на основе библиотеки CameraX, поддерживает одновременную работу с несколькими камерами.
👍 Лайки: 71, 📥 Скачиваний: 301К
Последнее обновление 📅: 11 часов назад
https://pub.dev/packages/camera_android_camerax
#camera #camerax #camerawesome #camera_avfoundation #camera_windows #camera_android_camerax #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа
google_fonts 6.3.1
Плагин для Flutter, который позволяет использовать шрифты из fonts.google.com в приложениях Flutter.
В новой версии обновлена минимальная поддерживаемая версия SDK до Flutter 3.29/Dart 3.7 и исправлены некоторые внутренние настройки.
👍 Лайки: 6260, 📥 Скачиваний: 2.0М
https://pub.dev/packages/google_fonts
introduction_screen 4.0.0
Плагин для создания экранов введения в приложениях Flutter, с возможностью настройки дизайна и добавления собственных элементов.
В новой версии произошли значительные изменения в обработке кнопок "Готово", "Далее", "Пропустить" и "Назад", а также добавлена поддержка кастомных семантических меток для прогресса.
👍 Лайки: 2870, 📥 Скачиваний: 41.2К
https://pub.dev/packages/introduction_screen
supabase_flutter 2.10.0
Плагин для подключения к базе данных Supabase в приложениях Flutter.
В этом обновлении исправлена ошибка с проверкой null-значений и сделан метод Supabase.initialize() идемпотентным.
👍 Лайки: 861, 📥 Скачиваний: 218К
https://pub.dev/packages/supabase_flutter
source_gen 4.0.0
Плагин для автоматизированной генерации исходного кода для Dart.
В новой версии удален метод TypeChecker.fromRuntime, вместо него следует использовать TypeChecker.typeNamed.
👍 Лайки: 179, 📥 Скачиваний: 4.1М
https://pub.dev/packages/source_gen
purchases_flutter 9.2.3
Плагин для реализации в-app покупок в приложениях Flutter.
В обновлении были обновлены зависимости и исправлены некоторые ошибки.
👍 Лайки: 832, 📥 Скачиваний: 167К
https://pub.dev/packages/purchases_flutter
dwds 25.0.4
Плагин для разработчиков, позволяющий использовать инструменты, предназначенные для работы с родным Dart VM, с веб-приложениями Dart.
В новой версии исправлена ошибка, которая вызывала спам ошибок в консоли.
👍 Лайки: 30, 📥 Скачиваний: 4.0М
https://pub.dev/packages/dwds
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #google_fonts #introduction_screen #supabase_flutter #source_gen #purchases_flutter #dwds
google_fonts 6.3.1
Плагин для Flutter, который позволяет использовать шрифты из fonts.google.com в приложениях Flutter.
В новой версии обновлена минимальная поддерживаемая версия SDK до Flutter 3.29/Dart 3.7 и исправлены некоторые внутренние настройки.
👍 Лайки: 6260, 📥 Скачиваний: 2.0М
https://pub.dev/packages/google_fonts
introduction_screen 4.0.0
Плагин для создания экранов введения в приложениях Flutter, с возможностью настройки дизайна и добавления собственных элементов.
В новой версии произошли значительные изменения в обработке кнопок "Готово", "Далее", "Пропустить" и "Назад", а также добавлена поддержка кастомных семантических меток для прогресса.
👍 Лайки: 2870, 📥 Скачиваний: 41.2К
https://pub.dev/packages/introduction_screen
supabase_flutter 2.10.0
Плагин для подключения к базе данных Supabase в приложениях Flutter.
В этом обновлении исправлена ошибка с проверкой null-значений и сделан метод Supabase.initialize() идемпотентным.
👍 Лайки: 861, 📥 Скачиваний: 218К
https://pub.dev/packages/supabase_flutter
source_gen 4.0.0
Плагин для автоматизированной генерации исходного кода для Dart.
В новой версии удален метод TypeChecker.fromRuntime, вместо него следует использовать TypeChecker.typeNamed.
👍 Лайки: 179, 📥 Скачиваний: 4.1М
https://pub.dev/packages/source_gen
purchases_flutter 9.2.3
Плагин для реализации в-app покупок в приложениях Flutter.
В обновлении были обновлены зависимости и исправлены некоторые ошибки.
👍 Лайки: 832, 📥 Скачиваний: 167К
https://pub.dev/packages/purchases_flutter
dwds 25.0.4
Плагин для разработчиков, позволяющий использовать инструменты, предназначенные для работы с родным Dart VM, с веб-приложениями Dart.
В новой версии исправлена ошибка, которая вызывала спам ошибок в консоли.
👍 Лайки: 30, 📥 Скачиваний: 4.0М
https://pub.dev/packages/dwds
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #google_fonts #introduction_screen #supabase_flutter #source_gen #purchases_flutter #dwds
❤1
Ускорим скролл в ListView вместе! 🚀💻
Сегодня мы поговорим о том, как сделать скролл в ListView быстрее и эффективнее 🕒💡. Если ваши элементы списка имеют фиксированную высоту, вы можете дать подсказку Flutter, чтобы он не тратил время на лишние вычисления 🤔.
Есть два варианта:
1️⃣ Через
2️⃣ С помощью
И если вы хотите убрать лаги при быстром скролле, не забудьте про
Хотите узнать больше? 🤔 Читайте полную статью здесь
И не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📣!
#flutter #dart #flutterpulse 💻👍
Сегодня мы поговорим о том, как сделать скролл в ListView быстрее и эффективнее 🕒💡. Если ваши элементы списка имеют фиксированную высоту, вы можете дать подсказку Flutter, чтобы он не тратил время на лишние вычисления 🤔.
Есть два варианта:
1️⃣ Через
itemExtent
: задайте фиксированную высоту в пикселях, и Flutter будет работать быстрее 🚀. 2️⃣ С помощью
prototypeItem
: укажите прототип элемента, и Flutter сможет оптимизировать скролл 📈. И если вы хотите убрать лаги при быстром скролле, не забудьте про
cacheExtent
📊! Хотите узнать больше? 🤔 Читайте полную статью здесь
И не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📣!
#flutter #dart #flutterpulse 💻👍
Рисуем и анимируем круглый прогресс-бар с помощью Custom Painter
В этом совете мы рассмотрим, как создать анимированный круглый прогресс-бар, используя виджет
Основные моменты:
1️⃣ Передача анимации в конструктор
2️⃣ При обновлении прогресса мы изменяем начало и конец анимации, а затем запускаем её. Поскольку время загрузки предсказать невозможно, анимация прогресс-бара продолжается после обновления прогресса.
Пример кода:
Оцените новую рубрику и напишите в комментариях, что вы хотели бы увидеть в следующих постах! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UI #Animation #CustomPainter #ProgressBar #LoadingAnimation #FlutterTips
В этом совете мы рассмотрим, как создать анимированный круглый прогресс-бар, используя виджет
CustomPaint
во Flutter. Такой прогресс-бар можно использовать, например, для индикации загрузки.Основные моменты:
1️⃣ Передача анимации в конструктор
CustomPainter
автоматически вызывает перерисовку.2️⃣ При обновлении прогресса мы изменяем начало и конец анимации, а затем запускаем её. Поскольку время загрузки предсказать невозможно, анимация прогресс-бара продолжается после обновления прогресса.
Пример кода:
class RoundProgressPainter extends CustomPainter {
final double radius;
final double progress;
final Color color;
final Animation<double> animation;
final double strokeWidth;
RoundProgressPainter({
required this.radius,
required this.progress,
required this.color,
required this.animation,
required this.strokeWidth,
}) : super(repaint: animation);
@override
void paint(Canvas canvas, Size size) {
final center = Offset(size.width / 2, size.height / 2);
final progressAngle = math.pi * 2 * progress;
final progressPaint = Paint()
..color = color
..strokeWidth = strokeWidth
..style = PaintingStyle.stroke
..strokeCap = StrokeCap.round;
canvas.drawCircle(
center,
radius - strokeWidth / 2,
Paint()
..color = color.withOpacity(0.1)
..strokeWidth = strokeWidth
..style = PaintingStyle.stroke,
);
canvas.drawArc(
Rect.fromCircle(center: center, radius: radius),
-math.pi / 2,
progressAngle,
false,
progressPaint,
);
}
@override
bool shouldRepaint(RoundProgressPainter oldDelegate) =>
progress != oldDelegate.progress || color != oldDelegate.color;
}
class RoundProgress extends StatefulWidget {
final double radius;
final double progress;
final Color color;
final Widget? child;
final double strokeWidth;
const RoundProgress({
super.key,
required this.radius,
required this.progress,
required this.color,
this.child,
this.strokeWidth = 4.0,
});
@override
_RoundProgressState createState() => _RoundProgressState();
}
class _RoundProgressState extends State<RoundProgress> with SingleTickerProviderStateMixin {
late AnimationController _controller;
late Animation<double> _animation;
@override
void initState() {
super.initState();
_controller = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 300),
);
_animation = Tween(begin: 0.0, end: 1.0).animate(
CurvedAnimation(parent: _controller, curve: Curves.decelerate),
);
_controller.forward(from: 0);
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
void didUpdateWidget(covariant RoundProgress oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.progress != oldWidget.progress && widget.progress != null) {
_animation = Tween(begin: oldWidget.progress, end: widget.progress).animate(
CurvedAnimation(parent: _controller, curve: Curves.easeIn),
);
_controller.forward(from: 0);
}
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _animation,
builder: (context, child) => CustomPaint(
size: Size(widget.radius * 2, widget.radius * 2),
painter: RoundProgressPainter(
radius: widget.radius,
progress: widget.progress,
color: widget.color,
animation: _animation,
strokeWidth: widget.strokeWidth,
),
child: widget.child,
),
);
}
}
Оцените новую рубрику и напишите в комментариях, что вы хотели бы увидеть в следующих постах! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UI #Animation #CustomPainter #ProgressBar #LoadingAnimation #FlutterTips
👍2
Обзор пакетов на тему Dependency Injection & State Management (Обзор пакетов для внедрения зависимостей и управления состоянием)
Riverpod - реактивный фреймворк для кэширования и связывания данных в Flutter! 🚀
Пакет упрощает работу с асинхронным кодом, автоматически обрабатывая ошибки и состояния загрузки.
👍 Лайки: 3760, 📥 Скачиваний: 2.48М
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/riverpod
Get It - простой локатор сервисов для Flutter и Dart! 📈
Пакет позволяет доступ к объектам из любого места в приложении.
👍 Лайки: 4570, 📥 Скачиваний: 2.16М
Последнее обновление 📅: 25 дней назад
https://pub.dev/packages/get_it
Provider - пакет для упрощения работы с InheritedWidget и управления состоянием приложения! 📊
Пакет позволяет создавать, слушать и удалять ресурсы, а также обеспечивает ленивую загрузку и уменьшает количество boilerplate-кода.
👍 Лайки: 10800, 📥 Скачиваний: 4.92М
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/provider
Flutter Bloc - пакет для интеграции блоков и кубитов в Flutter! 📈
Пакет упрощает управление состоянием приложения.
👍 Лайки: 7820, 📥 Скачиваний: 2.66М
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/flutter_bloc
BLoC - предсказуемая библиотека управления состоянием для реализации шаблона проектирования BLoC! 📊
Пакет помогает разделить представление и бизнес-логику, облегчая тестирование и повторное использование кода.
👍 Лайки: 3100, 📥 Скачиваний: 2.64М
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/bloc
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #riverpod #getit #provider #flutterbloc #bloc
Riverpod - реактивный фреймворк для кэширования и связывания данных в Flutter! 🚀
Пакет упрощает работу с асинхронным кодом, автоматически обрабатывая ошибки и состояния загрузки.
👍 Лайки: 3760, 📥 Скачиваний: 2.48М
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/riverpod
Get It - простой локатор сервисов для Flutter и Dart! 📈
Пакет позволяет доступ к объектам из любого места в приложении.
👍 Лайки: 4570, 📥 Скачиваний: 2.16М
Последнее обновление 📅: 25 дней назад
https://pub.dev/packages/get_it
Provider - пакет для упрощения работы с InheritedWidget и управления состоянием приложения! 📊
Пакет позволяет создавать, слушать и удалять ресурсы, а также обеспечивает ленивую загрузку и уменьшает количество boilerplate-кода.
👍 Лайки: 10800, 📥 Скачиваний: 4.92М
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/provider
Flutter Bloc - пакет для интеграции блоков и кубитов в Flutter! 📈
Пакет упрощает управление состоянием приложения.
👍 Лайки: 7820, 📥 Скачиваний: 2.66М
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/flutter_bloc
BLoC - предсказуемая библиотека управления состоянием для реализации шаблона проектирования BLoC! 📊
Пакет помогает разделить представление и бизнес-логику, облегчая тестирование и повторное использование кода.
👍 Лайки: 3100, 📥 Скачиваний: 2.64М
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/bloc
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #riverpod #getit #provider #flutterbloc #bloc
Самые лучшие обновлённые пакеты за последние 24 часа
google_sign_in_android 7.0.5
Пакет google_sign_in_android используется для реализации аутентификации Google на Android-устройствах. В новой версии добавлена поддержка параметра hostedDomain при аутентификации.
👍 Лайки: 12, 📥 Скачиваний: 908 000
https://pub.dev/packages/google_sign_in_android
flutter_map_marker_popup 8.1.0
Пакет flutter_map_marker_popup имеет 127 лайков и более 38 900 скачиваний. Теперь совместим с flutter_map 8.2.0. Используйте его, чтобы легко добавлять всплывающие подсказки к маркерам на картах в ваших приложениях Flutter.
👍 Лайки: 127, 📥 Скачиваний: 38.9К
https://pub.dev/packages/flutter_map_marker_popup
in_app_review 2.0.11
Пакет in_app_review позволяет показывать всплывающее окно для оставления отзыва о приложении без закрытия приложения, обновлён до версии 2.0.11. В этом обновлении был переработан плагин и перенесён код платформы Android с Java на Kotlin.
👍 Лайки: 2310, 📥 Скачиваний: 860 000
https://pub.dev/packages/in_app_review
Entry 1.0.2
Пакет Entry для Flutter позволяет анимировать появление виджетов.
В обновлении: улучшена работа с анимациями и оптимизирован код.
👍 Лайки: 310, 📥 Скачиваний: 3870
https://pub.dev/packages/entry
infinite_scroll_pagination 5.1.1
Теперь с исправленными ошибками null check в PagedLayoutBuilder, Bloc example state equality и Paging state hash code.
Также обновлено пример использования виджетов.
Пакет infinite_scroll_pagination имеет 3840 лайков и более 415000 скачиваний.
👍 Лайки: 3840, 📥 Скачиваний: 415 000
https://pub.dev/packages/infinite_scroll_pagination
zego_uikit_prebuilt_call 4.18.1
Этот пакет позволяет легко интегрировать голосовые и видеозвонки в ваше приложение.
В новой версии исправлена ошибка, связанная с открытием камеры во время аудиозвонка.
Пакет имеет 168 лайков и 6410 скачиваний.
👍 Лайки: 168, 📥 Скачиваний: 6410
https://pub.dev/packages/zego_uikit_prebuilt_call
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #google_sign_in_android #flutter_map_marker_popup #in_app_review #Entry #infinite_scroll_pagination #zego_uikit_prebuilt_call
google_sign_in_android 7.0.5
Пакет google_sign_in_android используется для реализации аутентификации Google на Android-устройствах. В новой версии добавлена поддержка параметра hostedDomain при аутентификации.
👍 Лайки: 12, 📥 Скачиваний: 908 000
https://pub.dev/packages/google_sign_in_android
flutter_map_marker_popup 8.1.0
Пакет flutter_map_marker_popup имеет 127 лайков и более 38 900 скачиваний. Теперь совместим с flutter_map 8.2.0. Используйте его, чтобы легко добавлять всплывающие подсказки к маркерам на картах в ваших приложениях Flutter.
👍 Лайки: 127, 📥 Скачиваний: 38.9К
https://pub.dev/packages/flutter_map_marker_popup
in_app_review 2.0.11
Пакет in_app_review позволяет показывать всплывающее окно для оставления отзыва о приложении без закрытия приложения, обновлён до версии 2.0.11. В этом обновлении был переработан плагин и перенесён код платформы Android с Java на Kotlin.
👍 Лайки: 2310, 📥 Скачиваний: 860 000
https://pub.dev/packages/in_app_review
Entry 1.0.2
Пакет Entry для Flutter позволяет анимировать появление виджетов.
В обновлении: улучшена работа с анимациями и оптимизирован код.
👍 Лайки: 310, 📥 Скачиваний: 3870
https://pub.dev/packages/entry
infinite_scroll_pagination 5.1.1
Теперь с исправленными ошибками null check в PagedLayoutBuilder, Bloc example state equality и Paging state hash code.
Также обновлено пример использования виджетов.
Пакет infinite_scroll_pagination имеет 3840 лайков и более 415000 скачиваний.
👍 Лайки: 3840, 📥 Скачиваний: 415 000
https://pub.dev/packages/infinite_scroll_pagination
zego_uikit_prebuilt_call 4.18.1
Этот пакет позволяет легко интегрировать голосовые и видеозвонки в ваше приложение.
В новой версии исправлена ошибка, связанная с открытием камеры во время аудиозвонка.
Пакет имеет 168 лайков и 6410 скачиваний.
👍 Лайки: 168, 📥 Скачиваний: 6410
https://pub.dev/packages/zego_uikit_prebuilt_call
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #google_sign_in_android #flutter_map_marker_popup #in_app_review #Entry #infinite_scroll_pagination #zego_uikit_prebuilt_call
Тестирование с навигацией GoRouter
Как запускать тесты с навигацией GoRouter
Иногда вам хочется быть уверенными, что некоторые виджеты перенаправляют на правильный маршрут.
Гораздо проще тестировать ваши страницы вне навигации, но это все равно может помочь в некоторых случаях.
Пример теста:
Дополнительный совет:
Вы можете использовать ваш app router, чтобы получить точно такое же поведение маршрутизации, как и в вашем приложении.
Таким образом, вы действительно можете проверить, работает ли навигация корректно.
Встройте создание GoRouter в функцию с параметром initialLocation, чтобы ваш тест мог начинаться прямо с того места, которое вам нужно.
Оцените новую рубрику по тестированию Flutter-приложений! 👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #FlutterTips #Testing #GoRouter
Как запускать тесты с навигацией GoRouter
Иногда вам хочется быть уверенными, что некоторые виджеты перенаправляют на правильный маршрут.
Гораздо проще тестировать ваши страницы вне навигации, но это все равно может помочь в некоторых случаях.
Пример теста:
testWidgets('условие защиты возвращает false => переход на ошибочный url',
(WidgetTester tester) async {
final app = MaterialApp.router(
routerConfig: GoRouter(
initialLocation: '/page1',
routes: [
GoRoute(
path: '/page1',
builder: (context, state) => Guard(
canActivate: future.value(false),
fallbackRoute: '/page2',
),
child: const FakePage(msg: 'page1'),
),
GoRoute(
path: '/page2',
builder: (context, state) => const FakePage(msg: 'page2'),
),
],
),
);
await tester.pumpWidget(app);
await tester.pumpAndSettle(const Duration(milliseconds: 100));
expect(find.text('page2'), findsOneWidget);
});
Дополнительный совет:
Вы можете использовать ваш app router, чтобы получить точно такое же поведение маршрутизации, как и в вашем приложении.
Таким образом, вы действительно можете проверить, работает ли навигация корректно.
Встройте создание GoRouter в функцию с параметром initialLocation, чтобы ваш тест мог начинаться прямо с того места, которое вам нужно.
GoRouter createRouter(final String initialLocation) {
return GoRouter(
initialLocation: initialLocation,
routes: [
GoRoute(
path: '/page1',
builder: (context, state) => const FakePage(msg: 'page1'),
),
GoRoute(
path: '/page2',
builder: (context, state) => const FakePage(msg: 'page2'),
),
],
);
}
Оцените новую рубрику по тестированию Flutter-приложений! 👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #FlutterTips #Testing #GoRouter
⚡2👍2
Обзор пакетов на тему "Выбор файлов" для Flutter 📁
Easy Folder Picker 📂
Легкий и удобный способ выбора директорий в вашем приложении. Пакет автоматически запрашивает необходимые разрешения. Поддерживает только Android.
👍 Лайки: 34, 📥 Скачиваний: 266
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/easy_folder_picker
FormBuilder File Picker 📝
Пакет позволяет легко добавлять поля для выбора файлов в ваши формы Flutter. Он поддерживает автоматическое получение разрешений, предварительный просмотр изображений и многое другое.
👍 Лайки: 60, 📥 Скачиваний: 2.7К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/form_builder_file_picker
Full Picker 📸
Пакет позволяет легко выбирать файлы в разных режимах, включая выбор нескольких файлов, сжатие видео, обрезку изображений, использование камеры и многое другое.
👍 Лайки: 37, 📥 Скачиваний: 247
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/full_picker
desktop_drop 🖥️
Позволяет пользователям перетаскивать файлы в ваши десктоп-приложения. Поддерживает Windows, Linux, macOS, Android (preview) и Web.
👍 Лайки: 426, 📥 Скачиваний: 300К
Последнее обновление 📅: 38 дней назад
https://pub.dev/packages/desktop_drop
File Picker 📁
Пакет позволяет использовать системный файловый менеджер для выбора одного или нескольких файлов, с поддержкой фильтрации по расширениям. Поддерживает множество платформ, включая Mobile, Web и Desktop.
👍 Лайки: 4780, 📥 Скачиваний: 2.4М
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/file_picker
Flutter Dropzone 🌐
Пакет для обработки перетаскивания файлов в Flutter Web. Используйте его для создания зон перетаскивания файлов в ваших веб-приложениях.
👍 Лайки: 212, 📥 Скачиваний: 126К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/flutter_dropzone
#FilePicker #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseThemedPackages #EasyFolderPicker #FormBuilderFilePicker #FullPicker #desktop_drop #FlutterDropzone
Easy Folder Picker 📂
Легкий и удобный способ выбора директорий в вашем приложении. Пакет автоматически запрашивает необходимые разрешения. Поддерживает только Android.
👍 Лайки: 34, 📥 Скачиваний: 266
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/easy_folder_picker
FormBuilder File Picker 📝
Пакет позволяет легко добавлять поля для выбора файлов в ваши формы Flutter. Он поддерживает автоматическое получение разрешений, предварительный просмотр изображений и многое другое.
👍 Лайки: 60, 📥 Скачиваний: 2.7К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/form_builder_file_picker
Full Picker 📸
Пакет позволяет легко выбирать файлы в разных режимах, включая выбор нескольких файлов, сжатие видео, обрезку изображений, использование камеры и многое другое.
👍 Лайки: 37, 📥 Скачиваний: 247
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/full_picker
desktop_drop 🖥️
Позволяет пользователям перетаскивать файлы в ваши десктоп-приложения. Поддерживает Windows, Linux, macOS, Android (preview) и Web.
👍 Лайки: 426, 📥 Скачиваний: 300К
Последнее обновление 📅: 38 дней назад
https://pub.dev/packages/desktop_drop
File Picker 📁
Пакет позволяет использовать системный файловый менеджер для выбора одного или нескольких файлов, с поддержкой фильтрации по расширениям. Поддерживает множество платформ, включая Mobile, Web и Desktop.
👍 Лайки: 4780, 📥 Скачиваний: 2.4М
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/file_picker
Flutter Dropzone 🌐
Пакет для обработки перетаскивания файлов в Flutter Web. Используйте его для создания зон перетаскивания файлов в ваших веб-приложениях.
👍 Лайки: 212, 📥 Скачиваний: 126К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/flutter_dropzone
#FilePicker #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseThemedPackages #EasyFolderPicker #FormBuilderFilePicker #FullPicker #desktop_drop #FlutterDropzone
Привет, разработчики! 🤩 Сегодня у нас есть интересная новость для всех, кто работает с Flutter и Dart! 💻📱
Вы знали, что InheritedWidget - это мощный инструмент для передачи данных по дереву виджетов? 🤔 Это виджет, который позволяет вам передавать данные дальше по дереву, без необходимости прокидывать их через конструкторы. 📈
В новой статье подробно рассказывается о том, как работает InheritedWidget и как его использовать. Вы узнаете, как создать свой собственный виджет, который наследует данные от родительского виджета, и как использовать его в своих приложениях. 📚
И самое главное - это только начало! 🎉 Скоро будет рассказано про Provider, который является оберткой для InheritedWidget. Не пропустите! 📣
Хотите быть в курсе всех последних новостей и обновлений в мире Flutter и Dart? 🤔 Тогда обязательно подпишитесь на наш канал flutterpulse! 📲
#flutter #dart #flutterpulse 💻📱👍
Вы знали, что InheritedWidget - это мощный инструмент для передачи данных по дереву виджетов? 🤔 Это виджет, который позволяет вам передавать данные дальше по дереву, без необходимости прокидывать их через конструкторы. 📈
В новой статье подробно рассказывается о том, как работает InheritedWidget и как его использовать. Вы узнаете, как создать свой собственный виджет, который наследует данные от родительского виджета, и как использовать его в своих приложениях. 📚
И самое главное - это только начало! 🎉 Скоро будет рассказано про Provider, который является оберткой для InheritedWidget. Не пропустите! 📣
Хотите быть в курсе всех последних новостей и обновлений в мире Flutter и Dart? 🤔 Тогда обязательно подпишитесь на наш канал flutterpulse! 📲
#flutter #dart #flutterpulse 💻📱👍