es
Feedback
Flutter Pulse

Flutter Pulse

Ir al canal en Telegram

На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.

Mostrar más
1 021
Suscriptores
Sin datos24 horas
Sin datos7 días
+230 días
Archivo de publicaciones
Обзор пакетов на тему "Игры и Награды" 🎮 Flutter Fortune Wheel 🎡 Пакет для визуализации случайных процессов выбора. Он включает в себя колесо фортуны и полосу фортуны, которые можно настроить по своему усмотрению. 👍 Лайки: 353, 📥 Скачиваний: 8.3К 📅 Последнее обновление: 10 месяцев назад https://pub.dev/packages/flutter_fortune_wheel Crossword 🤔 Добавьте кроссворды в ваше приложение с помощью этого удобного пакета. Он предлагает настраиваемый виджет кроссворда, простой интерфейс для пользователей и возможность управления подсказками. 👍 Лайки: 34, 📥 Скачиваний: 135 📅 Последнее обновление: 7 месяцев назад https://pub.dev/packages/crossword Confetti 🎉 Пакет для создания эффектов конфетти на экране, чтобы отпраздновать достижения пользователей. С помощью Confetti вы можете настроить направление, скорость и цвет конфетти, а также добавить кастомные формы и размеры. 👍 Лайки: 1.6К, 📥 Скачиваний: 238К 📅 Последнее обновление: 11 месяцев назад https://pub.dev/packages/confetti Teqani Rewards 🎁 Пакет для создания игровой механики в ваших приложениях. Поддерживает несколько вариантов хранения данных, включая SharedPreferences, SQLite, Hive и Firebase. 👍 Лайки: 5, 📥 Скачиваний: 25 📅 Последнее обновление: 4 месяца назад https://pub.dev/packages/teqani_rewards Flutter Confetti 🎊 Добавьте праздничную атмосферу в ваши Flutter-приложения с помощью пакета Flutter Confetti! Этот пакет позволяет легко создавать анимацию конфетти в вашем приложении. 👍 Лайки: 118, 📥 Скачиваний: 9.7К 📅 Последнее обновление: 5 месяцев назад https://pub.dev/packages/flutter_confetti Roulette 🎲 Создавайте кастомизируемые рулетки для ваших Flutter-приложений с помощью этого простого и удобного пакета. Поддерживает различные типы рулеток, анимацию и управление позицией. 👍 Лайки: 45, 📥 Скачиваний: 672 📅 Последнее обновление: 10 месяцев назад https://pub.dev/packages/roulette #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #flutter_fortune_wheel #crossword #confetti #teqani_rewards #flutter_confetti #roulette

Глупый и умный: создаём "глупый" конструктор и умные фабрики Привет, друзья! 👋 Сегодня мы поговорим о том, как улучшить ваш код на Flutter/Dart, используя "глупые" конструкторы и умные фабрики. 📈 Что такое "глупый" конструктор? "Глупый" конструктор - это конструктор, который только присваивает данные. Он не должен делать ничего другого! 🚫 Пример плохого конструктора:

class Device {
  String? id;
  String? name;
  OperatingSystem? platform;

  Device({
    this.id,
  }) : 
    // Плохая практика - присвоение значений в теле конструктора
    name = null,
    platform = null {
    final deviceInfo = ...; // Получение информации об устройстве
    name = deviceInfo.name;
    platform = deviceInfo.platform;
  }
}
Пример хорошего "глупого" конструктора:

class Device {
  String? id;
  String name; // Теперь обязательное поле
  OperatingSystem platform; // Теперь обязательное поле

  Device({
    this.id,
    required this.name, // Требуем имя устройства
    required this.platform, // Требуем платформу устройства
  });
}
Зачем использовать фабрики? Фабрики идеально подходят для более сложных присвоений значений. Они позволяют создавать объекты более гибко и читаемо. 🌟 Пример фабрики:

factory Device.current() {
  final deviceInfo = ...; // Получение информации об устройстве
  return Device(
    name: deviceInfo.name, // Присваиваем имя устройства
    platform: deviceInfo.platform, // Присваиваем платформу устройства
  );
}
Вывод: - Конструкторы должны быть "глупыми" и только присваивать данные. - Для более сложных операций используйте фабрики. Оцените нашу новую рубрику! 👍 Нам важно ваше мнение. Оставляйте свои комментарии и предложения. 💬 Все подобные новости вы можете найти по хэштегу #FlutterPulseTips #flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CodingTips #Programming #SoftwareDevelopment

🚀 Расширяем возможности Flutter с помощью FFI и Rust: Глубокое погружение в управление памятью! 🔥 Хотите выжать максимум из Flutter, подружив его с низкоуровневыми языками? В новом видео от эксперта Руслана Цицера — ключ к мощным оптимизациям! 📚 Что вас ждет: • 🛠 Разбор Ownership в Rust — как система владения предотвращает утечки памяти и гарантирует безопасность. • 🔧 Практика работы с unsafe операциями и добавление зависимостей в Rust-проекты. • ⚙️ Компиляция Rust-кода в C-библиотеку для интеграции с Dart. • 💡 Конвертация данных между Dart и Rust (строки, указатели) без ошибок. • 🚫 Важные нюансы управления памятью при работе с FFI. 👉 Смотрите видео здесь: Расширяем возможности Flutter с помощью FFI. Rust 👀 Уже в следующих выпусках — запуск Flutter-приложений с FFI! Не пропустите практические примеры. 👍 Поддержите Руслана: подписывайтесь на его канал на youtube, ставьте лайк и жмите 🔔! ✨ Хотите больше полезного? Подписывайтесь на Flutter Pulse и ищите другие крутые туториалы по хэштегу: #FlutterPulseYoutube #Flutter #Dart #FFI #Rust #FlutterPulse #FlutterPulseTips #CleanCode #FlutterArchitecture #StatefulWidget #fluttertutorial

Самые лучшие обновлённые пакеты за последние 24 часа flutter_soloud 3.3.3 - низкоуровневый аудио-плагин для Flutter, предназначенный для игр и иммерсивных приложений. В новой версии исправлена ошибка при поиске позиции в буферном потоке. 👍 Лайки: 466, 📥 Скачиваний: 27.6К. Подробнее: https://pub.dev/packages/flutter_soloud Mockito 5.5.1 - библиотека для создания mock-объектов в Dart. В новой версии обновлены зависимости: теперь требуется analyzer версии 8.1.0 или выше. 👍 Лайки: 1490, 📥 Скачиваний: 2.1М. Узнайте больше о пакете Mockito: https://pub.dev/packages/mockito flutter_blue_plus 1.35.5 - пакет для работы с Bluetooth Low Energy в приложениях Flutter. В новой версии добавлена функция androidCheckLocationServices для сканирования на Android. 👍 Лайки: 1170, 📥 Скачиваний: 122К. Подробнее: https://pub.dev/packages/flutter_blue_plus appsflyer_sdk 6.17.5 - пакет для интеграции AppsFlyer SDK в приложения Flutter. Пакет уже имеет 158 лайков и более 751К скачиваний. Подробности: https://pub.dev/packages/appsflyer_sdk google_maps_flutter_web 0.5.14+2 - пакет для интеграции Google Maps в веб-приложения, созданные с помощью Flutter. В новой версии исправлена ошибка, связанная с использованием cloudMapId для облачного стиля. 👍 Лайки: 237, 📥 Скачиваний: 449К. Узнать больше и скачать пакет можно по ссылке: https://pub.dev/packages/google_maps_flutter_web firebase_messaging 15.2.1 - плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995). 👍 Лайки: 3690, 📥 Скачиваний: 1.1М. https://pub.dev/packages/firebase_messaging #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #flutter_soloud #Mockito #flutter_blue_plus #appsflyer_sdk #google_maps_flutter_web

photo content

Новости из мира Flutter! 🚀 👀 Ты когда-нибудь сталкивался с проблемой, когда верстка во Flutter начинает жить своей жизнью? 🤯 Контейнеры в Row и кнопки в Column получают разный размер, и интерфейс выглядит криво 🤦‍♂️. Но не волнуйся, есть решение! 🙌 На помощь приходят Intrinsic-виджеты 🤩 - они умеют подгонять элементы под общую высоту или ширину 📏. Вместе с опытным Flutter-разработчиком Айнуром из Surf, мы разберемся, как выравнивать контейнеры и наводить красоту в твоих приложениях 🌟. Хочешь узнать больше? 🤔 Тогда переходи по ссылке и узнай все секреты 🤫! И не забудь подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📊! #flutter #dart #flutterpulse 🚀💻

**Обзор пакетов на тему Autoformat, Masking & Validation** 📊 **1. Brasil Fields** 🇧🇷 Пакет для Flutter, позволяющий легко использовать форматы и стандарты Бразилии в ваших проектах. 👍 Лайки: 572, 📥 Скачиваний: 26.2К Последнее обновление 📅: 3 месяца назад https://pub.dev/packages/brasil_fields **2. FormBuilder Validators** 📝 Пакет для Flutter, предоставляющий набор готовых валидаторов для форм. 👍 Лайки: 354, 📥 Скачиваний: 177К Последнее обновление 📅: 2 месяца назад https://pub.dev/packages/form_builder_validators **3. Flutter Multi Formatter** 📈 Пакет для Flutter, предназначенный для форматирования и валидации различных типов данных. 👍 Лайки: 595, 📥 Скачиваний: 153К Последнее обновление 📅: 8 дней назад https://pub.dev/packages/flutter_multi_formatter **4. Currency Text Input Formatter** 💸 Пакет для Flutter, позволяющий форматировать ввод валюты в текстовом поле. 👍 Лайки: 280, 📥 Скачиваний: 137К Последнее обновление 📅: 5 месяцев назад https://pub.dev/packages/currency_text_input_formatter **5. Auto Size TextField** 📊 Пакет для Flutter, позволяющий автоматически изменять размер текста в поле ввода. 👍 Лайки: 296, 📥 Скачиваний: 239К Последнее обновление 📅: 12 месяцев назад https://pub.dev/packages/auto_size_text_field **6. Phone Form Field** 📞 Пакет для Flutter, позволяющий легко создавать поля ввода телефонных номеров с поддержкой международных форматов и валидацией. 👍 Лайки: 206, 📥 Скачиваний: 31.4К Последнее обновление 📅: 8 дней назад https://pub.dev/packages/phone_form_field #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #brasilfields #formbuildervalidators #fluttermultiformatter #currencytextinputformatter #autosizetextfield #phoneformfield

Привет, разработчики! 🤩 Сегодня у нас есть супер-интересная новость для всех, кто работает с Flutter и Dart! 🚀 В этой статье мы поговорим об архитектуре и разберемся, чем отличается ephemeral state от app state во Flutter и как с ними работать 🤔. State — это данные, необходимые для перестроения UI в любой момент времени 📊. Но есть два типа состояния: ephemeral state (локальное состояние) и app state (глобальное состояние) 🌐. Ephemeral state — это данные, которые можно «замкнуть» в рамках одного виджета 📈. Примеры: текущая страница в PageView, выбранный таб в BottomNavigationBar, прогресс анимации 📊. App state — это данные, которые нужны разным экранам, должны сохраняться между сессиями и определяют ключевую бизнес-логику 📈. Примеры: данные пользователя, настройки и предпочтения, корзина в e-commerce 🛍️. Чтобы узнать больше о том, как работать с этими состояниями и как выбрать правильный подход для вашего приложения, читайте полную статью по ссылке:📄. 📣 #flutter #dart #flutterpulse 🚀💻

Запуск анимации при изменении свойства Привет, подписчики! 👋 Сегодня мы рассмотрим интересный вопрос: как запустить анимацию каждый раз, когда меняется определенное свойство? 🤔 Представьте, что у вас есть виджет, который должен анимироваться при изменении определенного свойства. Например, вы хотите запустить анимацию загрузки при изменении состояния загрузки. 📈 Для этого мы можем использовать метод didUpdateWidget в StatefulWidget. Этот метод вызывается каждый раз, когда виджет обновляется. 🔄 Пример кода:


@override
void didUpdateWidget(covariant UploadedAvatarAnimation oldWidget) {
  super.didUpdateWidget(oldWidget);
  final (wasUploading, isUploading) = (oldWidget.isUploading, widget.isUploading);
  switch ((wasUploading, isUploading)) {
    case (false, true):
      _controller.forward(from: 0);
      _initScaleAnim(0, pt);
    case (true, false):
      _controller.reverse(from: 1);
    default:
  }
}

В этом примере мы проверяем, изменилось ли свойство isUploading, и запускаем анимацию соответствующим образом. 🔮 Как это работает? 1. Мы используем метод didUpdateWidget, чтобы отслеживать изменения виджета. 2. Мы сравниваем старое и новое значения свойства isUploading. 3. В зависимости от изменения, мы запускаем анимацию вперед или назад. Оцените новую рубрику и напишите в комментариях, что вы думаете! 💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips 👍 #flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #animation #ui #ux #codingtips #programming #softwaredevelopment

Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2. 🤩 Узнайте, как автоматизировать сборку и подписание мобильных приложений для Android и iOS с помощью GitLab CI/CD 📈. В новой статье "Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений" вы найдете подробную информацию о том, как упростить процесс сборки и доставки приложений 📦. В статье также рассказывается об автоматизации сборки Android и iOS приложений с помощью GitLab CI 🤖, а также о настройке окружения и конфигурации инструментов для разработки мобильных приложений с использованием GitLab CI/CD 📊. Кроме того, вы узнаете о настройке автоматической сборки Flutter-приложений в GitLab CI/CD 🚀, а также о том, как использовать переменные окружения и настраивать правила запуска пайплайнов для эффективной сборки и подписи приложений 📈. Также в статье обсуждается настройка автоматической подписи приложений для Android и iOS 📝, а также о том, как использовать Fastlane и Gitlab CI/CD для упрощения процесса подготовки приложений для публикации в магазинах 📈. Читайте полную статью здесь и узнайте, как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений 🤩. #flutter #dart #flutterpulse #gitlab #ci/cd #автоматизация #мобильные_приложения #android #ios #fastlane #gitlab_cicd

Самые лучшие обновлённые пакеты за последние 24 часа flutter_svg 2.2.1 - пакет для отображения файлов SVG в приложениях Flutter. Исправлена ошибка доступа к буферу сообщений в SvgAssetLoader, а также обновлена минимальная поддерживаемая версия SDK до Flutter 3.29/Dart 3.7. 👍 Лайки: 5700, 📥 Скачиваний: 3.4М. Подробнее: https://pub.dev/packages/flutter_svg google_maps_flutter 2.13.1 - пакет для интеграции карт Google в приложения Flutter. Исправлена ошибка, вызывающая исключение при вызове dispose во время асинхронного обновления didUpdateWidget. 👍 Лайки: 4500, 📥 Скачиваний: 710К. Подробнее: https://pub.dev/packages/google_maps_flutter audioplayers 6.5.1 - плагин для Flutter, позволяющий проигрывать несколько аудиофайлов одновременно. Исправлена проблема с инициализацией экземпляров аудиоплеера. 👍 Лайки: 3330, 📥 Скачиваний: 473К. Подробнее: https://pub.dev/packages/audioplayers flutter_soloud 3.3.2 - низкоуровневый аудио плагин для Flutter, предназначенный для игр и иммерсивных приложений. Исправлены проблемы со стуттерингом при потоковой передаче MP3 и устранена ошибка на платформе Web при компиляции в режиме релиза. 👍 Лайки: 466, 📥 Скачиваний: 26.7К. Подробнее: https://pub.dev/packages/flutter_soloud just_audio 0.10.5 - пакет для проигрывания аудио в Flutter. Теперь по умолчанию отключено аудио-оффлоад на Android, чтобы предотвратить проблемы с воспроизведением. 👍 Лайки: 4019, 📥 Скачиваний: 750К. Подробнее: https://pub.dev/packages/just_audio translator 1.0.4+1 - бесплатный API Google Translate для Dart. Добавлен стандартный языковой код для иврита (he). 👍 Лайки: 723, 📥 Скачиваний: 6.1К. Подробнее: https://pub.dev/packages/translator #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_svg #google_maps_flutter #audioplayers #flutter_soloud #just_audio #translator

photo content

Обзор пакетов на тему "Датчики" (Sensors) CARP Mobile Sensing Framework (1.13.1) Пакет для Flutter, позволяющий создавать кроссплатформенные приложения для сбора данных с мобильных устройств. Поддерживает iOS и Android. 👍 Лайки: 22, 📥 Скачиваний: 2.08К Последнее обновление 📅: 3 месяца назад https://pub.dev/packages/carp_mobile_sensing Ambient Light (0.1.3) Пакет для Flutter, позволяющий получить доступ к данным датчика окружающего света на Android, iOS и macOS. 👍 Лайки: 8, 📥 Скачиваний: 2.26К Последнее обновление 📅: 4 месяца назад https://pub.dev/packages/ambient_light ir_sensor_plugin (0.3.1) Пакет для Flutter, позволяющий использовать инфракрасный датчик в ваших приложениях. Поддерживается только Android. 👍 Лайки: 34, 📥 Скачиваний: 190 Последнее обновление 📅: 8 месяцев назад https://pub.dev/packages/ir_sensor_plugin Flutter Compass (0.8.1) Пакет для создания компаса в ваших Flutter-приложениях. Возвращает направление от 0 до 360 градусов, где 0 - север. 👍 Лайки: 186, 📥 Скачиваний: 52К Последнее обновление 📅: 9 месяцев назад https://pub.dev/packages/flutter_compass Light (4.1.0) Пакет для Flutter, позволяющий собирать данные о внешнем освещении с помощью датчиков окружающей среды Android. 👍 Лайки: 24, 📥 Скачиваний: 5.2К Последнее обновление 📅: 6 месяцев назад https://pub.dev/packages/light sensors_plus (6.1.2) Пакет для Flutter, позволяющий получить доступ к акселерометру, гироскопу, магнитометру и барометру на Android, iOS, MacOS, Linux и Windows. 👍 Лайки: 953, 📥 Скачиваний: 348К Последнее обновление 📅: 22 дня назад https://pub.dev/packages/sensors_plus #sensors #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #carp_mobile_sensing #ambient_light #ir_sensor_plugin #flutter_compass #light #sensors_plus

Как мы добились оценки приложения в 5 звезд за 2 часа 🚀💻 А вот и продолжение нашей новости, теперь новость с хабра на эту тему! Разработчики из Comrades Dev поделились опытом, как они увеличили количество оценок в своем приложении более чем в 12 раз, просто добавив модалку с предложением оценить после основного действия 🤔. Рейтинг приложения вырос с 4.9 до 5.0 📈! Подробности читать здесь 📄! Это отличный пример того, как небольшие изменения могут привести к большим результатам 🚀. Используя Flutter и Dart, разработчики смогли быстро и эффективно внедрить изменения и добиться желаемого результата 🎉. Если вы хотите узнать больше о том, как улучшить рейтинг своего приложения, то эта статья для вас 📊! #flutter #dart #flutterpulse 🚀💻

Получайте ⭐ отзывы в магазинах Это не так просто, но есть некоторые нюансы, которые стоит знать Проблема: • Apple Store ограничивает запрос оценки через нативное всплывающее окно до 2 раз в год • Google Play Store ограничивает запрос оценки примерно 2 раза каждые 3 месяца... • Вы не хотите докучать пользователям и получать плохие оценки Запрашивайте оценку в подходящее время: Найдите "момент истины", когда пользователь получил наилучший опыт от использования вашего приложения. И запросите оценку именно в этот момент. Никогда не спрашивайте оценку у тех, кто только что установил приложение или никогда с ним не взаимодействовал... Будьте терпеливы Решение: Создайте предварительный попап или карточку в вашем приложении Но не пытайтесь повлиять на решение пользователя


void _showReviewPopup() {
  // Проверяем, согласен ли пользователь оставить отзыв
  showDialog(
    context: context,
    builder: (BuildContext context) {
      return AlertDialog(
        title: Text('Оцените наше приложение!'),
        content: Text('Если вам нравится наше приложение, пожалуйста, оставьте отзыв в магазине приложений.'),
        actions: <Widget>[
          TextButton(
            child: Text('Не сейчас'),
            onPressed: () {
              Navigator.of(context).pop();
            },
          ),
          TextButton(
            child: Text('Оставить отзыв'),
            onPressed: () {
              // Ссылка на страницу оценки в магазине
              launchReviewUrl(); // Реализуйте эту функцию для открытия нужного URL
              Navigator.of(context).pop();
            },
          ),
        ],
      );
    },
  );
}

// Функция для открытия URL (пример)
void launchReviewUrl() async {
  const url = 'https://your-app-review-url.com'; // Замените на реальную ссылку
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Не удалось открыть $url';
  }
}

Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 😊👍 Все подобные новости можно найти по хэштегу #FlutterPulseTips #flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDevTips #ProgrammingTips

Самые лучшие обновлённые пакеты за последние 24 часа google_maps_flutter_web обновлён до версии 0.5.14! Теперь вы можете отключить или переместить кнопку управления камерой на веб-версии. Этот пакет используется для интеграции Google Maps в веб-приложения Flutter. 👍 Лайки: 237, 📥 Скачиваний: 413К Подробнее: https://pub.dev/packages/google_maps_flutter_web purchases_flutter обновлён до версии 9.4.0! Теперь доступна поддержка виртуальной валюты для Flutter Web. Обновлены зависимости и исправлены ошибки. 👍 Лайки: 834, 📥 Скачиваний: 171К Подробнее: https://pub.dev/packages/purchases_flutter adapty_flutter обновлён до версии 3.11.0! Теперь Onboarding Builder поддерживает локализации. Пакет для легкой интеграции покупок внутри приложения в Flutter. 👍 Лайки: 103, 📥 Скачиваний: 6.8К Подробнее: https://pub.dev/packages/adapty_flutter desktop обновлён до версии 6.0.1! Этот пакет предоставляет минимальные виджеты для создания десктоп-приложений на Flutter. В новой версии исправлен код анализа. 👍 Лайки: 166, 📥 Скачиваний: 853 Подробнее: https://pub.dev/packages/desktop shadcn_ui обновлён до версии 0.30.1+1! Этот пакет предоставляет набор кастомизируемых UI-компонентов для Flutter. В обновлении удалены ненужные импорты. 👍 Лайки: 710, 📥 Скачиваний: 14.5К Подробнее: https://pub.dev/packages/shadcn_ui code_assets обновлён до версии 0.19.7! Этот пакет используется для сборки и упаковки исполняемых кодовых активов в приложениях Dart и Flutter. В обновлении пакет examples обновлен до использования package:ffigen версии 20.0.0-dev.0. 👍 Лайки: 3, 📥 Скачиваний: 1.3М Подробнее: https://pub.dev/packages/code_assets #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #google_maps_flutter_web #purchases_flutter #adapty_flutter #desktop #shadcn_ui #code_assets

photo content

Обзор пакетов на тему "Редактирование, сохранение и сжатие мультимедиа" 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

Как протестировать Изолят Запуск функции изолята в модульных тестах При написании модульных тестов для 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

Самые лучшие обновлённые пакеты за последние 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