Самые лучшие обновлённые пакеты за последние 24 часа
envied 1.2.1 - пакет для упрощения работы с переменными окружения в приложениях Dart и Flutter.
В новой версии обновлена зависимость от пакета analyzer до версии >=7.4.0 <9.0.0.
👍 Лайки: 841, 📥 Скачиваний: 133К
https://pub.dev/packages/envied
nb_utils 7.1.8 - набор полезных методов и расширений для разработки приложений на Flutter.
В новой версии добавлены недостающие типы HTTP-методов и новые расширения для строк, чисел, дат и контекста сборки.
👍 Лайки: 471, 📥 Скачиваний: 8К
https://pub.dev/packages/nb_utils
shadcn_ui 0.29.2 - пакет с настраиваемыми UI-компонентами для Flutter.
Теперь исправлена ошибка ShadResizable при использовании с правосторонним текстом (RTL).
👍 Лайки: 706, 📥 Скачиваний: 15К
https://pub.dev/packages/shadcn_ui
fwfh_webview 0.6.0+1 - пакет для рендеринга IFRAME с помощью официального плагина WebView в Flutter.
Уже 41 лайк и 374К скачиваний!
👍 Лайки: 41, 📥 Скачиваний: 374К
https://pub.dev/packages/fwfh_webview
fl_chart 1.1.0 - высоко настраиваемая библиотека графиков для Flutter.
В новой версии добавлены новые функции: градиентная заливка для бар-графиков, настройка выравнивания боковых заголовков и метки для бар-графиков.
👍 Лайки: 6.9К, 📥 Скачиваний: 1.2М
https://pub.dev/packages/fl_chart
flutter_widget_from_html 0.17.1 - пакет для рендеринга HTML-кода в виджеты Flutter.
В новой версии добавлена поддержка Flutter 3.35, webview_flutter_android@4.8 и атрибута data-src в IFRAME.
👍 Лайки: 1.1К, 📥 Скачиваний: 373К
https://pub.dev/packages/flutter_widget_from_html
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #envied #nb_utils #shadcn_ui #fwfh_webview #fl_chart #flutter_widget_from_html
envied 1.2.1 - пакет для упрощения работы с переменными окружения в приложениях Dart и Flutter.
В новой версии обновлена зависимость от пакета analyzer до версии >=7.4.0 <9.0.0.
👍 Лайки: 841, 📥 Скачиваний: 133К
https://pub.dev/packages/envied
nb_utils 7.1.8 - набор полезных методов и расширений для разработки приложений на Flutter.
В новой версии добавлены недостающие типы HTTP-методов и новые расширения для строк, чисел, дат и контекста сборки.
👍 Лайки: 471, 📥 Скачиваний: 8К
https://pub.dev/packages/nb_utils
shadcn_ui 0.29.2 - пакет с настраиваемыми UI-компонентами для Flutter.
Теперь исправлена ошибка ShadResizable при использовании с правосторонним текстом (RTL).
👍 Лайки: 706, 📥 Скачиваний: 15К
https://pub.dev/packages/shadcn_ui
fwfh_webview 0.6.0+1 - пакет для рендеринга IFRAME с помощью официального плагина WebView в Flutter.
Уже 41 лайк и 374К скачиваний!
👍 Лайки: 41, 📥 Скачиваний: 374К
https://pub.dev/packages/fwfh_webview
fl_chart 1.1.0 - высоко настраиваемая библиотека графиков для Flutter.
В новой версии добавлены новые функции: градиентная заливка для бар-графиков, настройка выравнивания боковых заголовков и метки для бар-графиков.
👍 Лайки: 6.9К, 📥 Скачиваний: 1.2М
https://pub.dev/packages/fl_chart
flutter_widget_from_html 0.17.1 - пакет для рендеринга HTML-кода в виджеты Flutter.
В новой версии добавлена поддержка Flutter 3.35, webview_flutter_android@4.8 и атрибута data-src в IFRAME.
👍 Лайки: 1.1К, 📥 Скачиваний: 373К
https://pub.dev/packages/flutter_widget_from_html
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #envied #nb_utils #shadcn_ui #fwfh_webview #fl_chart #flutter_widget_from_html
Воспроизведение видео на весь экран
Покажите полноэкранное видео с правильным соотношением сторон 🤩
Чтобы показать видео на весь экран с сохранением правильного соотношения сторон, следуйте этим простым шагам:
1. Установите пакет
2. Встройте видеоплеер внутрь виджета
Обеспечьте, чтобы содержимое занимало весь экран 📱
Код виджета VideoContainer:
Оцените новую рубрику FlutterPulseTips 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #codingtips #uiux #videostreaming #fullscreenvideo
Покажите полноэкранное видео с правильным соотношением сторон 🤩
Чтобы показать видео на весь экран с сохранением правильного соотношения сторон, следуйте этим простым шагам:
1. Установите пакет
video_player
📦2. Встройте видеоплеер внутрь виджета
VideoContainer
📺Обеспечьте, чтобы содержимое занимало весь экран 📱
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
),
extendBodyBehindAppBar: true,
body: Stack(
children: [
Positioned.fill(
child: GestureDetector(
onTap: () => videoListener?.pauseOrResume(),
child: VideoContainer.fromController(_controller!),
),
),
],
),
);
Код виджета VideoContainer:
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
class VideoContainer extends StatelessWidget {
final Widget child;
final double ratio;
final Size contentsSize;
const VideoContainer({
super.key,
required this.child,
required this.ratio,
required this.contentsSize,
});
factory VideoContainer.fromController(VideoPlayerController controller) =>
VideoContainer(
ratio: controller.value.aspectRatio,
contentsSize: controller.value.size,
child: VideoPlayer(controller),
);
@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.cover,
child: AspectRatio(
aspectRatio: ratio,
child: child,
),
);
}
}
Оцените новую рубрику FlutterPulseTips 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #codingtips #uiux #videostreaming #fullscreenvideo
👍1
Обзор пакетов на тему "Камера" для Flutter 📸
Camera Plugin 📸
Пакет для Flutter, позволяющий получить доступ к камерам устройства на iOS, Android и Web. Функции: отображение живого превью камеры в виджете, захват и сохранение снимков в файл, запись видео, доступ к потоку изображений из Dart.
👍 Лайки: 2.5К, 📥 Скачиваний: 821К
Последнее обновление 📅: 54 дня назад
https://pub.dev/packages/camera
CamerAwesome 📸
Пакет для Flutter, позволяющий легко интегрировать камеру в ваше приложение. Предоставляет полностью настраиваемый интерфейс и множество функций, таких как запись видео, фотографирование, поддержка нескольких камер и многое другое.
👍 Лайки: 1.1К, 📥 Скачиваний: 33.8К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/camerawesome
Camerax 📸
Пакет для Flutter, позволяющий работать с аудиовизуальными активами, контролировать камеры устройства, обрабатывать аудио и настраивать системные аудио-взаимодействия.
👍 Лайки: 51, 📥 Скачиваний: 318
Последнее обновление 📅: 28 дней назад
https://pub.dev/packages/camerax
camera_windows 📸
Пакет для Flutter, позволяющий использовать камеру на устройствах под управлением Windows. Однако, обратите внимание, что пакет ещё находится в стадии разработки и имеет некоторые ограничения.
👍 Лайки: 68, 📥 Скачиваний: 1.7К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/camera_windows
camera_android_camerax 📸
Пакет для Flutter, реализующий камеру для Android на основе библиотеки CameraX. Поддерживает одновременную работу с несколькими камерами, запись видео и захват изображений.
👍 Лайки: 71, 📥 Скачиваний: 315К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/camera_android_camerax
camera_avfoundation 📸
Пакет для Flutter, реализующий камеру для iOS. Используется автоматически при подключении пакета camera.
👍 Лайки: 11, 📥 Скачиваний: 170К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/camera_avfoundation
#camera #camerawesome #camerax #camera_windows #camera_android_camerax #camera_avfoundation #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Camera Plugin 📸
Пакет для Flutter, позволяющий получить доступ к камерам устройства на iOS, Android и Web. Функции: отображение живого превью камеры в виджете, захват и сохранение снимков в файл, запись видео, доступ к потоку изображений из Dart.
👍 Лайки: 2.5К, 📥 Скачиваний: 821К
Последнее обновление 📅: 54 дня назад
https://pub.dev/packages/camera
CamerAwesome 📸
Пакет для Flutter, позволяющий легко интегрировать камеру в ваше приложение. Предоставляет полностью настраиваемый интерфейс и множество функций, таких как запись видео, фотографирование, поддержка нескольких камер и многое другое.
👍 Лайки: 1.1К, 📥 Скачиваний: 33.8К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/camerawesome
Camerax 📸
Пакет для Flutter, позволяющий работать с аудиовизуальными активами, контролировать камеры устройства, обрабатывать аудио и настраивать системные аудио-взаимодействия.
👍 Лайки: 51, 📥 Скачиваний: 318
Последнее обновление 📅: 28 дней назад
https://pub.dev/packages/camerax
camera_windows 📸
Пакет для Flutter, позволяющий использовать камеру на устройствах под управлением Windows. Однако, обратите внимание, что пакет ещё находится в стадии разработки и имеет некоторые ограничения.
👍 Лайки: 68, 📥 Скачиваний: 1.7К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/camera_windows
camera_android_camerax 📸
Пакет для Flutter, реализующий камеру для Android на основе библиотеки CameraX. Поддерживает одновременную работу с несколькими камерами, запись видео и захват изображений.
👍 Лайки: 71, 📥 Скачиваний: 315К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/camera_android_camerax
camera_avfoundation 📸
Пакет для Flutter, реализующий камеру для iOS. Используется автоматически при подключении пакета camera.
👍 Лайки: 11, 📥 Скачиваний: 170К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/camera_avfoundation
#camera #camerawesome #camerax #camera_windows #camera_android_camerax #camera_avfoundation #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Привет, друзья! 👋 Сегодня у нас супер интересная тема - распознавание звука в ваших мобильных приложениях! 🎧 Это один из самых востребованных инструментов, который может сделать ваши приложения ещё более удобными и доступными для пользователей. 🤩
Вы можете использовать распознавание речи для:
✔️ Голосового ввода текста
✔️ Создания заметок голосом
✔️ Управления приложением и голосовыми командами
✔️ Перевода речи с одного языка на другой
✔️ Доступности для пользователей с ограниченными возможностями
Для реализации распознавания речи мы будем использовать пакет speech_to_text. 📦
Добавьте его в ваш pubspec.yaml:
Импортируйте пакеты, создайте переменные и инициализируйте SpeechToText в initState. 📝
Закройте SpeechToText в dispose, чтобы избежать утечек памяти. 🚮
Логика распознавания речи включает в себя методы для начала и остановки прослушивания, а также метод обратного вызова для результата. 📞
Отобразите полученный текст с помощью обычного Text. 📄
Теперь у вас есть три мощных примера работы с ML Kit и дополнительными библиотеками в Flutter:
▪️ Распознавание лиц - аутентификация и AR-фичи
▪️ Распознавание текста - сканирование документов и перевод
▪️ Распознавание звука - голосовой ввод, заметки и управление приложением
Хотите узнать больше? 🤔 Читайте полную статью по ссылке.
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣 #flutter #dart #flutterpulse 🚀
Вы можете использовать распознавание речи для:
✔️ Голосового ввода текста
✔️ Создания заметок голосом
✔️ Управления приложением и голосовыми командами
✔️ Перевода речи с одного языка на другой
✔️ Доступности для пользователей с ограниченными возможностями
Для реализации распознавания речи мы будем использовать пакет speech_to_text. 📦
Добавьте его в ваш pubspec.yaml:
dependencies:
speech_to_text: ^6.6.0
Импортируйте пакеты, создайте переменные и инициализируйте SpeechToText в initState. 📝
Закройте SpeechToText в dispose, чтобы избежать утечек памяти. 🚮
Логика распознавания речи включает в себя методы для начала и остановки прослушивания, а также метод обратного вызова для результата. 📞
Отобразите полученный текст с помощью обычного Text. 📄
Теперь у вас есть три мощных примера работы с ML Kit и дополнительными библиотеками в Flutter:
▪️ Распознавание лиц - аутентификация и AR-фичи
▪️ Распознавание текста - сканирование документов и перевод
▪️ Распознавание звука - голосовой ввод, заметки и управление приложением
Хотите узнать больше? 🤔 Читайте полную статью по ссылке.
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣 #flutter #dart #flutterpulse 🚀
🔥1
Вышла наша большая статья-дайджест за два летних месяца (июль + август)!
Вспомним вместе, что происходило:
— 🚀 релизы Flutter 3.32, 3.35 и Dart 3.9.0
— 📦 новые пакеты: video_view, fldraw, flutter_app_locker, yx_state и др.
— 🎥 топовые видео: CI/CD на Flutter, DevTools, Deep Linking, Flutter в автомобиле, «Почему UI лагает?» и многое другое
— ✍️ статьи на Хабре: формы во Flutter, 2D-скролл, интеграция с Авророй, свой state management и даже опыт перехода с React Native
А впереди нас ждёт осень 🍂 — ещё больше обновлений, туториалов и сюрпризов для разработчиков.
👉 Читайте дайджест тут:
#Flutter #Dart #FlutterPulse #Новости
Вспомним вместе, что происходило:
— 🚀 релизы Flutter 3.32, 3.35 и Dart 3.9.0
— 📦 новые пакеты: video_view, fldraw, flutter_app_locker, yx_state и др.
— 🎥 топовые видео: CI/CD на Flutter, DevTools, Deep Linking, Flutter в автомобиле, «Почему UI лагает?» и многое другое
— ✍️ статьи на Хабре: формы во Flutter, 2D-скролл, интеграция с Авророй, свой state management и даже опыт перехода с React Native
А впереди нас ждёт осень 🍂 — ещё больше обновлений, туториалов и сюрпризов для разработчиков.
👉 Читайте дайджест тут:
#Flutter #Dart #FlutterPulse #Новости
👍1
Новые пакеты за неделю
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
rainbow_edge_lighting 🌈
Добавляет анимированное радужное освещение краев вокруг любого виджета.
Лайков: 7, Скачиваний: 578
Узнать больше: https://pub.dev/packages/rainbow_edge_lighting
youtube_player_native
Позволяет проигрывать видео без брендинга и контролей YouTube, а также отслеживать позицию воспроизведения. Уже 558 скачиваний и 1 лайк!
Подробнее: https://pub.dev/packages/youtube_player_native
custom_multi_search
Пакет custom_multi_search - это настраиваемый виджет выпадающего списка с функцией поиска для приложений Flutter. Он построен с использованием MobX для реактивного управления состоянием, гладких анимаций и поддержки валидации форм.
Лайков: 12
Скачиваний: 336
Узнать больше: https://pub.dev/packages/custom_multi_search
dynamsoft_mrz_scanner_bundle_flutter
Пакет dynamsoft_mrz_scanner_bundle_flutter позволяет захватывать и извлекать информацию из паспортов и удостоверений личности. Благодаря продвинутым алгоритмам локализации и декодирования MRZ, пакет обеспечивает высокую точность и скорость.
Лайков: 19
Скачиваний: 114
Узнать больше: https://pub.dev/packages/dynamsoft_mrz_scanner_bundle_flutter
scripts_runner
Он автоматизирует настройку среды разработки и повышает производительность команды.
Уже 564 скачивания и 2 лайка!
Узнайте больше: https://pub.dev/packages/scripts_runner
dynamsoft_barcode_reader_bundle_flutter
Этот пакет позволяет эффективно встраивать функциональность чтения штрих-кодов в приложения Flutter всего за несколько строк кода.
Лайков: 21
Скачиваний: 165
Узнайте больше: https://pub.dev/packages/dynamsoft_barcode_reader_bundle_flutter
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #rainbow_edge_lighting #youtube_player_native #custom_multi_search #dynamsoft_mrz_scanner_bundle_flutter #scripts_runner #dynamsoft_barcode_reader_bundle_flutter
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
rainbow_edge_lighting 🌈
Добавляет анимированное радужное освещение краев вокруг любого виджета.
Лайков: 7, Скачиваний: 578
Узнать больше: https://pub.dev/packages/rainbow_edge_lighting
youtube_player_native
Позволяет проигрывать видео без брендинга и контролей YouTube, а также отслеживать позицию воспроизведения. Уже 558 скачиваний и 1 лайк!
Подробнее: https://pub.dev/packages/youtube_player_native
custom_multi_search
Пакет custom_multi_search - это настраиваемый виджет выпадающего списка с функцией поиска для приложений Flutter. Он построен с использованием MobX для реактивного управления состоянием, гладких анимаций и поддержки валидации форм.
Лайков: 12
Скачиваний: 336
Узнать больше: https://pub.dev/packages/custom_multi_search
dynamsoft_mrz_scanner_bundle_flutter
Пакет dynamsoft_mrz_scanner_bundle_flutter позволяет захватывать и извлекать информацию из паспортов и удостоверений личности. Благодаря продвинутым алгоритмам локализации и декодирования MRZ, пакет обеспечивает высокую точность и скорость.
Лайков: 19
Скачиваний: 114
Узнать больше: https://pub.dev/packages/dynamsoft_mrz_scanner_bundle_flutter
scripts_runner
Он автоматизирует настройку среды разработки и повышает производительность команды.
Уже 564 скачивания и 2 лайка!
Узнайте больше: https://pub.dev/packages/scripts_runner
dynamsoft_barcode_reader_bundle_flutter
Этот пакет позволяет эффективно встраивать функциональность чтения штрих-кодов в приложения Flutter всего за несколько строк кода.
Лайков: 21
Скачиваний: 165
Узнайте больше: https://pub.dev/packages/dynamsoft_barcode_reader_bundle_flutter
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #rainbow_edge_lighting #youtube_player_native #custom_multi_search #dynamsoft_mrz_scanner_bundle_flutter #scripts_runner #dynamsoft_barcode_reader_bundle_flutter
Самые лучшие обновлённые пакеты за последние 24 часа
firebase_analytics 12.0.1
Плагин для интеграции Firebase Analytics в приложения Flutter. Убраны устаревшие зависимости.
👍 Лайки: 1260, 📥 Скачиваний: 1.9М
https://pub.dev/packages/firebase_analytics
firebase_messaging 16.0.1
Плагин для интеграции Firebase Cloud Messaging в приложения Flutter. Убраны устаревшие зависимости.
👍 Лайки: 3820, 📥 Скачиваний: 1.9М
https://pub.dev/packages/firebase_messaging
firebase_auth 6.0.2
Плагин для аутентификации в Firebase приложениях на Flutter. Убраны устаревшие зависимости.
👍 Лайки: 4180, 📥 Скачиваний: 1.1М
https://pub.dev/packages/firebase_auth
_flutterfire_internals 1.3.61
Пакет содержит общий Dart-код для плагинов FlutterFire и не предназначен для публичного использования.
Обновлена зависимость до последнего релиза.
👍 Лайки: 3, 📥 Скачиваний: 3.1М
https://pub.dev/packages/_flutterfire_internals
cloud_firestore 6.0.1
Плагин для использования Cloud Firestore API в приложениях Flutter. Убраны устаревшие зависимости.
👍 Лайки: 3710, 📥 Скачиваний: 985К
https://pub.dev/packages/cloud_firestore
firebase_core 4.1.0
Плагин для использования Firebase Core API в приложениях Flutter. Обновлены SDK для iOS и Android.
👍 Лайки: 3930, 📥 Скачиваний: 3.1М
https://pub.dev/packages/firebase_core
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_analytics #firebase_messaging #firebase_auth #_flutterfire_internals #cloud_firestore #firebase_core
firebase_analytics 12.0.1
Плагин для интеграции Firebase Analytics в приложения Flutter. Убраны устаревшие зависимости.
👍 Лайки: 1260, 📥 Скачиваний: 1.9М
https://pub.dev/packages/firebase_analytics
firebase_messaging 16.0.1
Плагин для интеграции Firebase Cloud Messaging в приложения Flutter. Убраны устаревшие зависимости.
👍 Лайки: 3820, 📥 Скачиваний: 1.9М
https://pub.dev/packages/firebase_messaging
firebase_auth 6.0.2
Плагин для аутентификации в Firebase приложениях на Flutter. Убраны устаревшие зависимости.
👍 Лайки: 4180, 📥 Скачиваний: 1.1М
https://pub.dev/packages/firebase_auth
_flutterfire_internals 1.3.61
Пакет содержит общий Dart-код для плагинов FlutterFire и не предназначен для публичного использования.
Обновлена зависимость до последнего релиза.
👍 Лайки: 3, 📥 Скачиваний: 3.1М
https://pub.dev/packages/_flutterfire_internals
cloud_firestore 6.0.1
Плагин для использования Cloud Firestore API в приложениях Flutter. Убраны устаревшие зависимости.
👍 Лайки: 3710, 📥 Скачиваний: 985К
https://pub.dev/packages/cloud_firestore
firebase_core 4.1.0
Плагин для использования Firebase Core API в приложениях Flutter. Обновлены SDK для iOS и Android.
👍 Лайки: 3930, 📥 Скачиваний: 3.1М
https://pub.dev/packages/firebase_core
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_analytics #firebase_messaging #firebase_auth #_flutterfire_internals #cloud_firestore #firebase_core
Как протестировать Изолят
Запуск функции изолята в модульных тестах
При написании модульных тестов для Flutter-приложений часто возникает необходимость протестировать функции, выполняющиеся в изоляте. Изолят - это отдельный поток выполнения в Dart, который может выполняться параллельно с основным потоком. Однако тестирование таких функций может быть проблематичным.
Рассмотрим пример неправильного тестирования изолята:
Такой тест зависнет и никогда не завершится, поскольку функция
Решение: Используйте tester.runAsync() для запуска асинхронного кода в тесте:
Таким образом, вы сможете корректно протестировать функции, выполняющиеся в изоляте.
Оцените новую рубрику и напишите своё мнение! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #Testing #Isolate #FlutterTips #DartTips
Запуск функции изолята в модульных тестах
При написании модульных тестов для Flutter-приложений часто возникает необходимость протестировать функции, выполняющиеся в изоляте. Изолят - это отдельный поток выполнения в Dart, который может выполняться параллельно с основным потоком. Однако тестирование таких функций может быть проблематичным.
Рассмотрим пример неправильного тестирования изолята:
testWidgets('upload file and save avatar', (tester) async {
final file = await rootBundle.load('assets/images/splashscreen.png');
final bytes = file.buffer.asUint8List();
final xfile = XFile.fromData(bytes);
final jpgData = await compute(_avatarThumbnail, file);
}
// Функция, выполняющаяся в изоляте
Future<Uint8List> _avatarThumbnail(XFile file) {
return file.toJpeg(file, 300, 80);
}
Такой тест зависнет и никогда не завершится, поскольку функция
compute
запускает _avatarThumbnail в изоляте, но тест не ожидает завершения изолята.Решение: Используйте tester.runAsync() для запуска асинхронного кода в тесте:
testWidgets('upload file and save avatar', (tester) async {
await tester.runAsync(() async {
final file = await rootBundle.load('assets/images/splashscreen.png');
final bytes = file.buffer.asUint8List();
final xfile = XFile.fromData(bytes);
final jpgData = await compute(_avatarThumbnail, file);
});
});
// Функция, выполняющаяся в изоляте
Future<Uint8List> _avatarThumbnail(XFile file) {
return file.toJpeg(file, 300, 80);
}
Таким образом, вы сможете корректно протестировать функции, выполняющиеся в изоляте.
Оцените новую рубрику и напишите своё мнение! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #Testing #Isolate #FlutterTips #DartTips
👍1
Обзор пакетов на тему "Редактирование, сохранение и сжатие мультимедиа"
video_trimmer (версия 5.0.0) - пакет для обрезки видео в Flutter с простым и удобным интерфейсом. 👍 Лайки: 492, 📥 Скачиваний: 4.2К. Последнее обновление: 4 месяца назад. https://pub.dev/packages/video_trimmer
video_compress (версия 3.1.4) - легкий и эффективный пакет для сжатия видео, удаления аудио и создания миниатюр. 👍 Лайки: 720, 📥 Скачиваний: 110К. Последнее обновление: 6 месяцев назад. https://pub.dev/packages/video_compress
gal (версия 2.3.2) - пакет для сохранения изображений и видео в галерею на различных платформах. 👍 Лайки: 493, 📥 Скачиваний: 133К. Последнее обновление: 42 дня назад. https://pub.dev/packages/gal
pro_image_editor (версия 11.5.5) - пакет для интеграции редактора изображений в ваше приложение. 👍 Лайки: 458, 📥 Скачиваний: 28.7К. Последнее обновление: 4 дня назад. https://pub.dev/packages/pro_image_editor
flutter_image_compress (версия 2.4.0) - пакет для сжатия изображений в Flutter-приложениях. 👍 Лайки: 1720, 📥 Скачиваний: 521К. Последнее обновление: 8 месяцев назад. https://pub.dev/packages/flutter_image_compress
image_editor (версия 1.6.0) - пакет для редактирования изображений в Flutter. 👍 Лайки: 362, 📥 Скачиваний: 26.9К. Последнее обновление: 9 месяцев назад. https://pub.dev/packages/image_editor
#video_trimmer #video_compress #gal #pro_image_editor #flutter_image_compress #image_editor #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
video_trimmer (версия 5.0.0) - пакет для обрезки видео в Flutter с простым и удобным интерфейсом. 👍 Лайки: 492, 📥 Скачиваний: 4.2К. Последнее обновление: 4 месяца назад. https://pub.dev/packages/video_trimmer
video_compress (версия 3.1.4) - легкий и эффективный пакет для сжатия видео, удаления аудио и создания миниатюр. 👍 Лайки: 720, 📥 Скачиваний: 110К. Последнее обновление: 6 месяцев назад. https://pub.dev/packages/video_compress
gal (версия 2.3.2) - пакет для сохранения изображений и видео в галерею на различных платформах. 👍 Лайки: 493, 📥 Скачиваний: 133К. Последнее обновление: 42 дня назад. https://pub.dev/packages/gal
pro_image_editor (версия 11.5.5) - пакет для интеграции редактора изображений в ваше приложение. 👍 Лайки: 458, 📥 Скачиваний: 28.7К. Последнее обновление: 4 дня назад. https://pub.dev/packages/pro_image_editor
flutter_image_compress (версия 2.4.0) - пакет для сжатия изображений в Flutter-приложениях. 👍 Лайки: 1720, 📥 Скачиваний: 521К. Последнее обновление: 8 месяцев назад. https://pub.dev/packages/flutter_image_compress
image_editor (версия 1.6.0) - пакет для редактирования изображений в Flutter. 👍 Лайки: 362, 📥 Скачиваний: 26.9К. Последнее обновление: 9 месяцев назад. https://pub.dev/packages/image_editor
#video_trimmer #video_compress #gal #pro_image_editor #flutter_image_compress #image_editor #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages