Flutter Pulse
524 subscribers
349 photos
768 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Самые лучшие обновлённые пакеты за последние 24 часа

Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging

webview_flutter_android 4.9.0
Теперь пакет поддерживает PlatformWebViewController.loadFileWithParams и добавляет AndroidLoadFileParams для загрузки файлов с заголовками на Android.
Пакет имеет 45 лайков и более 2 640 000 скачиваний!
https://pub.dev/packages/webview_flutter_android

webview_flutter_wkwebview 3.23.0
Теперь добавлена поддержка PlatformWebViewController.loadFileWithParams и введен WebKitLoadFileParams для iOS и macOS.
Лайков: 42, Скачиваний: 2 640 000.
https://pub.dev/packages/webview_flutter_wkwebview

built_value 8.11.1
Пакет built_value используется для создания неизменяемых типов значений, классов-ENUM и сериализации JSON в Dart.
В новой версии разрешено использование analyzer 8.0.0 с built_value_generator.
Пакет имеет 759 лайков и более 7 900 000 скачиваний!
https://pub.dev/packages/built_value

flutter_osm_plugin 1.0.0-dev.1
Этот пакет используется для создания карт OpenStreetMap в приложениях Flutter, с функциями zoals отображение текущего положения, создание маркеров, отслеживание местоположения пользователя и многое другое.
В новой версии обновлена документация.
Пакет имеет 485 лайков и 6980 скачиваний.
https://pub.dev/packages/flutter_osm_plugin

workmanager 0.9.0+2
Теперь вы можете выполнять код Dart в фоновом режиме, даже когда ваше приложение закрыто.
Используется для синхронизации данных, загрузки файлов, очистки задач и многое другое.
Лайков: 2280, скачиваний: 86500.
https://pub.dev/packages/workmanager

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #webview_flutter_android #webview_flutter_wkwebview #built_value #flutter_osm_plugin #workmanager #FirebaseMessagingPlugin
Базовый Dart (Часть №1) 🚀💻
Привет, программисты! 👋 Сегодня мы поговорим о базовом Dart и о том, что нужно знать до перехода к объектно-ориентированному программированию 🤔.
Узнаем, что такое runtime и compile-time, и как они отличаются 🕒. Также разберемся с типами данных и их важностью в программировании 📊.
Учимся работать с переменными: присваивание, арифметические операции, конкатенация и логические операции 📝. А также изучаем условные операторы if, else if и else, чтобы принимать решения в программах 🤖.
Узнайте о условных операторах, циклах и функциях в программировании 🔄. Эти инструменты помогут вам создавать гибкие и эффективные программы 🚀.
Функции в программировании - это блоки кода, которые выполняют определенные задачи и могут быть вызваны несколько раз 📈. Они помогают повторно использовать код, организовывать программы и облегчают отладку 🐜.
И, конечно, не забудем про Null Safety - мощный инструмент для безопасного кода 🛡. Узнайте, как избегать ошибок и писать более надежный код с помощью Null Safety 📚.
Читайте статью и начинайте свое путешествие в мир программирования 🌟!
#flutter #dart #flutterpulse #programmirovanie #nullsafety #basics #programming #development #coders #learndart #dartlang #flutterdev #mobileappdevelopment 🚀💻
Спам кнопок: как предотвратить множественные нажатия?

Вы когда-нибудь сталкивались с ситуацией, когда пользователь нажимает кнопку несколько раз подряд, вызывая нежелательные действия? 🤯

Представьте, что пользователь нажимает кнопку "Лайк" 10 раз за 1 секунду! 👍 Как сделать так, чтобы событие сработало только один раз? 🤔

Решение: использование RxDart с debounceTime ⏱️


import 'dart:async';
import 'package:flutter/material.dart';
import 'package:rxdart/subjects.dart';
import 'package:rxdart/rxdart.dart';

class LikeButtonWidget extends StatefulWidget {
final Function onTap;

const LikeButtonWidget({required this.onTap, Key? key}) : super(key: key);

@override
_LikeButtonWidgetState createState() => _LikeButtonWidgetState();
}

class _LikeButtonWidgetState extends State<LikeButtonWidget> {
final pushSubject = BehaviorSubject<void>();
late StreamSubscription<void> pushSubscription;

@override
void initState() {
super.initState();
pushSubscription = pushSubject.stream
.debounceTime(const Duration(milliseconds: 1000))
.listen((_) {
// отправить запрос на сервер или выполнить другое действие
widget.onTap();
});
}

@override
void dispose() {
super.dispose();
pushSubscription.cancel(); // не забудьте отменить подписку на поток
}

@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {
pushSubject.add(null);
},
child: const Icon(Icons.plus_one),
);
}
}


Этот код создает кнопку "Лайк", которая срабатывает только один раз в секунду, даже если пользователь нажимает ее несколько раз подряд. 🔥

Оцените нашу новую рубрику и оставьте свои отзывы! 😊

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #RxDart #DebounceTime #ButtonSpam #SpamProtection
👍2🔥1
Обзор пакетов на тему "Формы" для Flutter 📝

Reactive Forms - это модельный подход к обработке форм и валидации, вдохновленный Angular's Reactive Forms. 👍 Лайки: 912, 📥 Скачиваний: 78.3К
Последнее обновление 📅: 36 дней назад
https://pub.dev/packages/reactive_forms

FForm - это высокоуровневый пакет для создания и управления формами в Flutter-приложениях. 🌟 👍 Лайки: 178, 📥 Скачиваний: 240
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/fform

Flutter Form Builder позволяет создавать формы для сбора данных, валидировать поля, реагировать на изменения и собирать пользовательский ввод. 👍 Лайки: 2730, 📥 Скачиваний: 205К
Последнее обновление 📅: 32 дня назад
https://pub.dev/packages/flutter_form_builder

Formz - это унифицированное представление и валидация форм для Dart. 💻 👍 Лайки: 879, 📥 Скачиваний: 120К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/formz

SurveyKit - это библиотека для создания красивых опросов, вдохновленная iOS ResearchKit Surveys. 📊 👍 Лайки: 124, 📥 Скачиваний: 1.7К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/survey_kit

form_builder_validators - это набор готовых валидаторов для форм, включая проверку email, телефона, даты, времени и многое другое. 👍 Лайки: 352, 📥 Скачиваний: 174К
Последнее обновление 📅: 47 дней назад
https://pub.dev/packages/form_builder_validators

#ReactiveForms #FForm #FlutterFormBuilder #Formz #SurveyKit #form_builder_validators #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

syncfusion_flutter_charts 30.1.41 - библиотека визуализации данных для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, вызванная мутациями элементов графика в фазе макета. 👍 Лайки: 3530, 📥 Скачиваний: 280К. https://pub.dev/packages/syncfusion_flutter_charts

dart_style 3.1.2 - автоматический форматтер кода на языке Dart. В новой версии добавлена поддержка синтаксиса dot shorthand, обновлен до последней версии пакета analyzer. 👍 Лайки: 117, 📥 Скачиваний: 6.7М. https://pub.dev/packages/dart_style

analyzer 8.1.0 - используется для статического анализа кода на языке Dart. В новой версии добавлены новые функции и исправлены ошибки. 👍 Лайки: 295, 📥 Скачиваний: 10.9М. https://pub.dev/packages/analyzer

file_picker 10.2.2 - позволяет использовать родной файловый браузер для выбора одного или нескольких файлов. В новой версии исправлена проблема с добавлением расширения .txt при сохранении файлов на Android. 👍 Лайки: 4770, 📥 Скачиваний: 2.1М. https://pub.dev/packages/file_picker

http 1.5.0 - библиотека для работы с HTTP-запросами. В новой версии исправлена ошибка в IOClient, добавлена поддержка отмены запросов. 👍 Лайки: 8280, 📥 Скачиваний: 11.3М. https://pub.dev/packages/http

dio 5.9.0 - мощный инструмент для HTTP-запросов в Dart и Flutter. В новой версии исправлены ошибки и добавлены новые функции. 👍 Лайки: 8039, 📥 Скачиваний: 749К. https://pub.dev/packages/dio

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_charts #dart_style #analyzer #file_picker #http #dio
Запускайте тесты на нескольких размерах экрана

Предотвратите переполнение для разных размеров экранов 🤯

Это позволит запустить тест с каждой конфигурацией экрана в screenSizeVariants 📱


final screenSizeVariants = ValueVariant<ScreenSize>(basicPhones);

testWidgets('''клик на кнопку => отображается закрепленный виджет наложения''', (
WidgetTester tester,
) async {
await tester.setScreenSize(screenSizeVariants.currentValue!);

await tester.pumpWidget(const MyAppWithCircleAnchored());
expect(find.byType(AnchoredHelper), findsNothing);
await tester.tap(find.byType(OutlinedButton).first);
await tester.pump(const Duration(seconds: 2));
expect(find.byType(AnchoredHelper), findsOneWidget);
}, variant: screenSizeVariants);



import 'dart:ui';
import 'package:flutter_test/flutter_test.dart';

// это определяет конфигурацию размера конкретного устройства
class ScreenSize {
// имя этой конфигурации
final String name;

// конфигурация размера и плотность пикселей
final double width, height, pixelDensity;

const ScreenSize(this.name, this.width, this.height, this.pixelDensity);

@override
String toString() => name;
}

extension ScreenSizeManager on WidgetTester {
Future<void> setScreenSize(ScreenSize screenSize) async {
return _setScreenSize(
width: screenSize.width,
height: screenSize.height,
pixelDensity: screenSize.pixelDensity,
);
}

Future<void> _setScreenSize({
double width = 540,
double height = 960,
double pixelDensity = 1,
}) async {
final size = Size(width, height);
await binding.setSurfaceSize(size);
binding.window.physicalSizeTestValue = size;
binding.window.devicePixelRatioTestValue = pixelDensity;
}
}


Все подобные новости можно найти по хэштегу #FlutterPulseTips 👍

Оцените новую рубрику в комментариях! 💬

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #TestingTips #ScreenSize #FlutterTips
👍1
Обзор пакетов на тему Глубокие ссылки (Deep Linking) 🚀

uni_links_desktop 📈
Ускорьте разработку своих Flutter-приложений с помощью uni_links_desktop! Этот пакет позволяет легко работать с ссылками на macOS и Windows.
👍 Лайки: 28, 📥 Скачиваний: 213К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/uni_links_desktop

flutter_facebook_app_links 📊
Пакет Flutter Facebook App Links: уловите отложенные ссылки из Facebook ADS! Пакет позволяет получать отложенные ссылки из Facebook ADS после установки приложения.
👍 Лайки: 41, 📥 Скачиваний: 3.1К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/flutter_facebook_app_links

app_links 📈
Пакет App Links - универсальный обработчик ссылок для Android, iOS, Linux, macOS и Windows! Открывайте ваше приложение из HTTPS-ссылок, а не из браузера, и используйте кастомные схемы.
👍 Лайки: 1120, 📥 Скачиваний: 1.04М
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/app_links

flutter_branch_sdk 📈
Обновление пакета Flutter Branch SDK! Пакет для интеграции Branch SDK в приложения на Flutter. Позволяет создавать глубокие ссылки, отслеживать пользователей и анализировать их поведение.
👍 Лайки: 217, 📥 Скачиваний: 151К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/flutter_branch_sdk

referrer 📊
Новый пакет для Flutter: Referrer! Пакет позволяет читать информацию о реферере (URL-адрес страницы, которая открыла ваше приложение через глубокую ссылку).
👍 Лайки: 30, 📥 Скачиваний: 1.4К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/referrer

appsflyer_sdk 📈
Обновление пакета AppsFlyer Flutter Plugin! Пакет используется для интеграции сервиса AppsFlyer в приложения на Flutter. Пакет позволяет отслеживать события в приложении, работать с глубокими ссылками и многое другое.
👍 Лайки: 156, 📥 Скачиваний: 497К
Последнее обновление 📅: 21 часа назад
https://pub.dev/packages/appsflyer_sdk

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #uni_links_desktop #flutter_facebook_app_links #app_links #flutter_branch_sdk #referrer #appsflyer_sdk #deeplinking
Улучши свой Flutter-код! 🚀💻
Устали от громоздких конструкций для обработки касаний в ваших Flutter-приложениях? 🤯👀
Теперь есть решение! 🎉 Представляем вам TapRegion - элегантный виджет, который упрощает обработку касаний и делает ваш код чище! 🌟

🔵 Узнайте, что такое TapRegion и как он работает
🔵 Изучите все плюсы и минусы его использования
🔵 Получите готовый пример кода для вашего проекта

Читайте полную статью здесь, а также не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📚💻 #flutter #dart #flutterpulse 👍💯
Самые лучшие обновлённые пакеты за последние 24 часа

widgetbook 3.16.0
Плагин для Flutter, который позволяет использовать Widgetbook. Теперь минимальная версия SDK - 3.7.0, а минимальная версия Flutter - 3.29.0.
Добавлен новый тип контрола - object.segmented, а также проведена рефакторизация некоторых компонентов.
👍 Лайки: 646, 📥 Скачиваний: 255К
https://pub.dev/packages/widgetbook

dds 5.1.0
Пакет для запуска Dart Developer Service (DDS), который обеспечивает расширенную функциональность для взаимодействия с экземпляром Dart VM Service.
В новой версии обновлен протокол DDS до версии 2.1, а также устарели некоторые RPC и параметры.
👍 Лайки: 17, 📥 Скачиваний: 3.7М
https://pub.dev/packages/dds

intercom_flutter 9.4.4
Пакет является оберткой для Intercom Android, iOS и Web-проектов, позволяя интегрировать функции Intercom в свои приложения.
В новой версии обновлен Intercom iOS SDK до версии 19.1.1.
👍 Лайки: 145, 📥 Скачиваний: 87.5К
https://pub.dev/packages/intercom_flutter

wechat_assets_picker 9.6.0
Пакет используется для выбора изображений, видео и аудио в приложениях Flutter, с интерфейсом, вдохновленным WeChat.
В новой версии добавлена поддержка персидского (фарси) языка, улучшено управление маршрутами и исправлены ошибки.
👍 Лайки: 829, 📥 Скачиваний: 39К
https://pub.dev/packages/wechat_assets_picker

dds_service_extensions 2.1.0
Пакет расширяет интерфейс package:vm_service, добавляя поддержку RPC из протокола Dart Developer Service (DDS).
В новой версии устарели методы DdsExtension.getAvailableCachedCpuSamples и DdsExtension.getCachedCpuSamples.
👍 Лайки: 5, 📥 Скачиваний: 4.2М
https://pub.dev/packages/dds_service_extensions

file_picker 10.2.3
Пакет позволяет использовать родной файловый менеджер для выбора одного или нескольких файлов с поддержкой фильтрации по расширениям.
В новой версии исправлены ошибки сборки на Flutter 3.24, вызванные изменениями для устранения предупреждений о устаревании Win32 в Windows.
👍 Лайки: 4770, 📥 Скачиваний: 2.1М
https://pub.dev/packages/file_picker

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #widgetbook #dds #intercom_flutter #wechat_assets_picker #dds_service_extensions #file_picker
Исчерпывающее руководство по высокопроизводительному рендерингу Canvas’а — Часть 1 🚀💻
Из этой статьи Вы узнаете:
🔵 Как создавать высокопроизводительные приложения Flutter на основе Canvas с помощью эффективных стратегий рендеринга, пакетной обработки на GPU и продвинутых методов отладки 📊💡.
🔵 Как оптимизировать рендеринг и перерисовку в своих приложениях с помощью CustomPaint, LeafRenderObjectWidget и пакета RePaint 🎨🖌️.
🔵 Как правильно использовать виджеты канваса в Flutter, чтобы избежать ненужных перестроек дерева виджетов и повысить производительность 🚀💻.
🔵 Как использовать обрезку и создать систему камеры для сложных визуализаций и игр" 📸👾.
🔵 Как создать удобную камеру и эффективно организовать сцену с помощью составных отрисовщиков" 📺👍.
🔵 Как оптимизировать производительность канваса Flutter с помощью ускорения графического процессора и умного повторного использования объектов Paint 🎨🖌️.
🔵 Как оптимизировать производительность вашего приложения Flutter, сводя к минимуму ненужные пересчеты и используя эффективные флаги для контроля перерисовки 📈💻.
🔵 Как группировать операции перерисовки, использовать модульность и управлять состоянием для достижения максимальной производительности 🚀💡.
🔵 Как ускорить производительность вашего приложения Flutter с помощью пакетных методов рендеринга: drawAtlas, drawRawAtlas и drawRawPoints 🚀👍.
🔵 Как эффективно реализовывать пользовательские шейдеры и управляйте пространством с помощью QuadTree для достижения значительного повышения производительности 🚀👍.
Это и многое другое в статье на хабре
#Flutter #Dart #FlutterPulse #Canvas #Рендеринг #Производительность #Оптимизация #МобильнаяРазработка #Программирование 🚀💻
👍2
Изучаем OverflowBar: Легкое управление адаптивными строками и столбцами

Привет, разработчики Flutter! 👋 Вы когда-нибудь сталкивались с проблемой, когда содержимое строки или столбца выходит за пределы экрана? 🤔 Сегодня мы рассмотрим OverflowBar - удобный виджет, который помогает легко решить эту проблему! 💡

Что такое OverflowBar?
OverflowBar - это виджет, который располагает своих потомков в строке, если хватает места, или в столбце, если места недостаточно. 📐 Это особенно полезно для создания адаптивных интерфейсов, которые корректно отображаются на разных устройствах и в различных ориентациях экрана.

Пример использования:



OverflowBar(
children: [
Image.asset('asset/image.jpg'), // Загружаем изображение из assets
const Card(
child: Text('My Title'), // Отображаем текст внутри карточки
),
],
);



Как видно из примера, OverflowBar автоматически определяет доступное пространство и перераспределяет элементы при необходимости. 🔄

Ключевые особенности:
- Автоматическое обнаружение переполнения и перераспределение элементов 🔍
- Возможность использования вместе с виджетом Wrap 🌟
- Гибкость в управлении выравниванием переполненных элементов ⚖️

Документация гласит:
"Виджет, который располагает своих потомков в строке, если они помещаются, или в столбце, если они не помещаются в доступном горизонтальном пространстве."

👉 Оцените новую рубрику #FlutterPulseTips и оставьте свои отзывы! 💬

Все подобные новости вы можете найти по хэштегу #FlutterPulseTips.

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #AppDevelopment #CodingTips
Обзор пакетов на тему "Нижняя панель навигации" (Bottom Navigation Bar)

📦 Animated Bottom Navigation Bar - позволяет создавать анимированную нижнюю панель навигации с возможностью кастомизации. Поддерживает от 2 до 5 элементов навигации и работает с FloatingActionButton.
👍 Лайки: 1360, 📥 Скачиваний: 18.7К
📅 Последнее обновление: 5 месяцев назад
https://pub.dev/packages/animated_bottom_navigation_bar

📦 Google Nav Bar - позволяет создать современную навигационную панель в стиле Google.
👍 Лайки: 1600, 📥 Скачиваний: 42.9К
📅 Последнее обновление: 9 месяцев назад
https://pub.dev/packages/google_nav_bar

📦 Water Drop Nav Bar - предлагает анимированную нижнюю панель навигации с эффектом "капли воды".
👍 Лайки: 370, 📥 Скачиваний: 931
📅 Последнее обновление: 13 месяцев назад
https://pub.dev/packages/water_drop_nav_bar

📦 Persistent Bottom Navigation Bar - позволяет создать персистентную нижнюю панель навигации в вашем приложении. Включает 20 стилей, возможность настройки анимации и поддержку платформы iOS.
👍 Лайки: 2310, 📥 Скачиваний: 14К
📅 Последнее обновление: 13 месяцев назад
https://pub.dev/packages/persistent_bottom_nav_bar

📦 BottomNavyBar - позволяет создавать красивые и анимированные нижние навигационные панели для ваших Flutter-приложений.
👍 Лайки: 1340, 📥 Скачиваний: 4.6К
📅 Последнее обновление: 13 месяцев назад
https://pub.dev/packages/bottom_navy_bar

📦 Persistent Bottom Navigation Bar Version 2 - позволяет создавать настраиваемую нижнюю панель навигации для ваших приложений на Flutter. В нем доступно 17 предустановленных стилей, а также возможность создать свой собственный стиль без ограничений функционала.
👍 Лайки: 398, 📥 Скачиваний: 13.4К
📅 Последнее обновление: 47 дней назад
https://pub.dev/packages/persistent_bottom_nav_bar_v2

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #animatedbottomnavigationbar #googlenavbar #waterdropnavbar #persistentbottomnavigationbar #bottomnavybar #persistentbottomnavigationbarversion2
Самые лучшие обновлённые пакеты за последние 24 часа

file_picker 10.2.4
Пакет file_picker позволяет использовать родной файловый браузер для выбора одного или нескольких файлов с поддержкой фильтрации по расширениям.
В новой версии исправлена проблема с загрузкой файлов на Chromebook с помощью пользовательских MIME-типов.
👍 Лайки: 4770, 📥 Скачиваний: 2.1M
https://pub.dev/packages/file_picker

shadcn_flutter 0.0.38
Этот пакет предоставляет красиво оформленные компоненты для Flutter, включая кнопки, формы, навигацию и многое другое.
В новой версии добавлены компоненты tiles, исправлены ошибки и улучшена документация.
👍 Лайки: 264, 📥 Скачиваний: 2.4К
https://pub.dev/packages/shadcn_flutter

pro_image_editor 11.1.3
Этот пакет предназначен для редактирования изображений в приложениях Flutter и предоставляет широкий спектр функций, включая редакторы текста, изображений, видео и многое другое.
В новой версии исправлены проблемы с отображением длинного текста и корректировкой трим-бара в видео-редакторе.
👍 Лайки: 441, 📥 Скачиваний: 25.8К
https://pub.dev/packages/pro_image_editor

bottom_picker 4.1.0
Пакет bottom_picker используется для создания красивых и настраиваемых нижних выборщиков в приложениях Flutter.
В новой версии добавлены новые функции, такие как атрибут hour predicate для datetime picker, и исправлены ошибки, связанные с инициализацией начального времени в datetime picker.
👍 Лайки: 342, 📥 Скачиваний: 15.5К
https://pub.dev/packages/bottom_picker

firestore_cache 2.3.0+1
Этот пакет позволяет кэшировать документы Firestore, читая их сначала из кэша, а затем с сервера.
Используется для оптимизации запросов в приложениях Flutter.
👍 Лайки: 105, 📥 Скачиваний: 2.4К
https://pub.dev/packages/firestore_cache

msix 3.16.12
Пакет msix используется для создания установщиков MSIX для приложений Flutter, что позволяет легко публиковать их в Microsoft Store или на сайте.
В новой версии добавлена функция повторной попытки удаления файлов/папок, чтобы избежать конфликтов при удалении.
👍 Лайки: 925, 📥 Скачиваний: 98.9К
https://pub.dev/packages/msix

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #file_picker #shadcn_flutter #pro_image_editor #bottom_picker #firestore_cache #msix
Простой доступ к виджету в тесте

Привет, разработчики Flutter! 👋 Сегодня мы хотим поделиться с вами полезным советом, который сделает ваши тесты более читаемыми и быстрыми в написании. 📈

Вы когда-нибудь сталкивались с ситуацией, когда вам нужно было получить доступ к конкретному виджету внутри теста? 🤔 Обычно для этого приходилось писать длинные цепочки методов, что делало код теста громоздким и трудночитаемым. 😩

Но есть решение! 💡 Вы можете создать свою собственную утилиту для прямого доступа к виджету. 📦


import 'package:flutter_test/flutter_test.dart';

// Вспомогательная функция для прямого доступа к виджету
T findWidget<T>() => find
.byType(T)
.evaluate()
.first
.widget as T;

// Вспомогательная функция для прямого доступа к N-му виджету типа T
T findNWidget<T>(int n) => find
.byType(T)
.evaluate()
.toList()
.elementAt(n)
.widget as T;


Теперь вы можете использовать эти функции, чтобы упростить свои тесты. Например, вместо того, чтобы писать:

// можно заменить это
final miniature = find.byType(VideoMiniature)
.evaluate()
.first
.widget as VideoMiniature;

// на это
final miniature = findWidget<VideoMiniature>();


Такой подход не только делает ваш код теста более читаемым, но и экономит время при написании новых тестов. ⏱️

Оцените нашу новую рубрику и оставьте свои отзывы! 🤗 Нам важно ваше мнение, чтобы мы могли делать наш контент лучше для вас.

Все подобные новости вы можете найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #FlutterTips #MobileDevelopment #Testing #CodeQuality
👍1🔥1
Обзор пакетов на тему "Выбор мультимедиа" (Multimedia Picker)

📸 Insta Assets Picker - Пакет для Flutter, позволяющий создать интерфейс выбора изображений и видео, похожий на Instagram. 👍 Лайки: 154, 📥 Скачиваний: 2.6К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/insta_assets_picker

📸 Multi Image Picker View - Пакет для Flutter, позволяющий легко выбирать несколько изображений из устройства и отображать их в интерфейсе. 👍 Лайки: 130, 📥 Скачиваний: 3.9К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/multi_image_picker_view

📸 Gal - Пакет для Flutter, позволяющий сохранять изображения и видео в галерею. 👍 Лайки: 483, 📥 Скачиваний: 132К
Последнее обновление 📅: 19 дней назад
https://pub.dev/packages/gal

📸 WeChat Camera Picker - Пакет для Flutter, позволяющий создать камеру с интерфейсом, похожим на WeChat. 👍 Лайки: 274, 📥 Скачиваний: 8.8К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/wechat_camera_picker

📸 WeChat Assets Picker - Пакет для Flutter, позволяющий выбирать изображения, видео и аудио в стиле WeChat. 👍 Лайки: 829, 📥 Скачиваний: 38.4К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/wechat_assets_picker

📸 Image Picker For Web - Пакет для Flutter, позволяющий выбирать изображения и видео в веб-приложениях. 👍 Лайки: 172, 📥 Скачиваний: 2.3М
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/image_picker_for_web

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #instaassetspicker #multiimagepickerview #gal #wechtcamerapicker #wechatassetspicker #imagepickerforweb