Flutter Pulse
590 subscribers
367 photos
812 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Самые лучшие обновлённые пакеты за последние 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
Как протестировать Изолят
Запуск функции изолята в модульных тестах

При написании модульных тестов для 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
Самые лучшие обновлённые пакеты за последние 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
Получайте отзывы в магазинах
Это не так просто, но есть некоторые нюансы, которые стоит знать

Проблема:
• 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
👍4
Flutter Pulse
Самые лучшие обновлённые пакеты за последние 24 часа google_maps_flutter_web обновлён до версии 0.5.14! Теперь вы можете отключить или переместить кнопку управления камерой на веб-версии. Этот пакет используется для интеграции Google Maps в веб-приложения…
Как мы добились оценки приложения в 5 звезд за 2 часа 🚀💻
А вот и продолжение нашей новости, теперь новость с хабра на эту тему!
Разработчики из Comrades Dev поделились опытом, как они увеличили количество оценок в своем приложении более чем в 12 раз, просто добавив модалку с предложением оценить после основного действия 🤔. Рейтинг приложения вырос с 4.9 до 5.0 📈! Подробности читать здесь 📄!
Это отличный пример того, как небольшие изменения могут привести к большим результатам 🚀. Используя Flutter и Dart, разработчики смогли быстро и эффективно внедрить изменения и добиться желаемого результата 🎉.
Если вы хотите узнать больше о том, как улучшить рейтинг своего приложения, то эта статья для вас 📊!
#flutter #dart #flutterpulse 🚀💻
Обзор пакетов на тему "Датчики" (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
👍1
Самые лучшие обновлённые пакеты за последние 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
👍1
Flutter Pulse
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1. Узнайте о новом подходе к автоматизации CI/CD-процессов: преимущества self-hosted решений и настройка физической машины с GitLab CI/CD для Flutter-приложений 📈💻.…
Как сделать 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
Запуск анимации при изменении свойства
Привет, подписчики! 👋 Сегодня мы рассмотрим интересный вопрос: как запустить анимацию каждый раз, когда меняется определенное свойство? 🤔

Представьте, что у вас есть виджет, который должен анимироваться при изменении определенного свойства. Например, вы хотите запустить анимацию загрузки при изменении состояния загрузки. 📈

Для этого мы можем использовать метод 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
👍4