Flutter Pulse
776 subscribers
474 photos
1.15K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Освойте Freezed в Flutter: пишите неизменяемый, безопасный и масштабируемый код как профессионал!

Вы используете Freezed только для упрощения работы с данными? Тогда пора расширить свои знания и научиться писать по-настоящему качественный код!

В этой статье вы узнаете, как использовать Freezed для создания неизменяемых, безопасных с точки зрения типов и масштабируемых моделей данных. Вы научитесь использовать такие возможности, как sealed-классы, сопоставление с образцом, глубокую неизменяемость и JSON-сериализацию. Кроме того, вы узнаете о реальных примерах использования Freezed в state management, clean architecture и обработке ошибок.

🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Оцените новую рубрику!

FlutterPulse — канал о мире Flutter!

#flutter #dart #freezed #stateManagement #cleanArchitecture #immutableData #FlutterPulse #FlutterPulseMedium
Обзор пакетов на тему Testing


Mockito 5.6.1
Mockito - библиотека для Dart, вдохновленная Mockito, которая позволяет создавать моки для тестирования.
👍 Лайки: 1510, 📥 Скачиваний: 2.33M
📅 Обновлено: 16 дней назад
https://pub.dev/packages/mockito


Patrol 3.20.0
Этот пакет упрощает тестирование Flutter-приложений, позволяя контролировать родной UI из Dart-коде тестов.
👍 Лайки: 641, 📥 Скачиваний: 207K
📅 Обновлено: 22 дня назад
https://pub.dev/packages/patrol


process 5.0.5
Этот пакет предоставляет гибкую и тестируемую абстракцию для вызова процессов в Dart.
👍 Лайки: 42, 📥 Скачиваний: 6.53M
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/process


test 1.28.0
Этот пакет предоставляет мощный и гибкий инструмент для тестирования вашего Dart-код.
👍 Лайки: 611, 📥 Скачиваний: 6.85M
📅 Обновлено: 16 дней назад
https://pub.dev/packages/test


widgets_to_image 2.0.1
Этот мощный пакет позволяет конвертировать любые виджеты Flutter в высококачественные изображения с настраиваемыми форматами, настройками качества и продвинутыми функциями.
👍 Лайки: 216, 📥 Скачиваний: 18.8K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/widgets_to_image


Coverage 1.15.0
Этот пакет позволяет собирать данные покрытия тестов, форматировать их в LCOV или читаемый формат, а также игнорировать определенные строки кода.
👍 Лайки: 129, 📥 Скачиваний: 7.78M
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/coverage


FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #Mockito #Patrol #process #test #widgets_to_image #Coverage
Самые лучшие обновлённые пакеты за последние 24 часа

talker_flutter 5.1.5
Этот пакет используется для обработки ошибок и логирования в приложениях Dart и Flutter.
В новой версии обновлена зависимость grpc до v5.
Пакет имеет 601 лайк и более 192000 скачиваний.
👍 Лайки: 601, 📥 Скачиваний: 192К
https://pub.dev/packages/talker_flutter

openfoodfacts 3.28.0
Этот пакет для Dart позволяет получить доступ к более 2,9 миллионам продуктов питания со всего мира через API Open Food Facts.
В обновлении добавлены новые функции:
- автоматическое исключение только для чтения псевдо-питательных веществ
- добавление вкусов для типов продуктов
Пакет набирает популярность: 149 лайков и 2680 скачиваний!
👍 Лайки: 149, 📥 Скачиваний: 2.7К
https://pub.dev/packages/openfoodfacts

internet_connection_checker_plus 2.9.1+1
Пакет internet_connection_checker_plus используется для проверки реального подключения к интернету, а не только к Wi-Fi.
В новой версии добавлена секция поддержки инди-игр в README.
Пакет набрал 465 лайков и более 231 000 скачиваний!
👍 Лайки: 465, 📥 Скачиваний: 231К
https://pub.dev/packages/internet_connection_checker_plus

flutter_inapp_purchase 7.1.21
Теперь доступна функция verifyPurchaseWithProvider для интеграции с IAPKit и серверной верификацией покупок.
Исправлены ошибки при парсинге покупок подписки и обновлены зависимости.
Лайков: 435, Скачиваний: 5500.
👍 Лайки: 435, 📥 Скачиваний: 5.5К
https://pub.dev/packages/flutter_inapp_purchase

native_device_orientation 2.1.0
Этот пакет позволяет получить информацию о native-ориентации устройства, что особенно полезно для приложений, требующих точного определения ориентации экрана.
В новой версии добавлена поддержка Swift Package Manager.
Пакет уже получил 145 лайков и более 157 000 скачиваний!
👍 Лайки: 145, 📥 Скачиваний: 157К
https://pub.dev/packages/native_device_orientation

smooth_page_indicator 2.0.1
Этот пакет для Flutter предоставляет набор анимированных индикаторов страниц с различными эффектами.
В новой версии добавлены golden-тесты в pubignore.
Пакет имеет 3990 лайков и более 521000 скачиваний.
👍 Лайки: 3990, 📥 Скачиваний: 521К
https://pub.dev/packages/smooth_page_indicator

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #talker_flutter #openfoodfacts #internet_connection_checker_plus #flutter_inapp_purchase #native_device_orientation #smooth_page_indicator
👍1
Создание собственного RenderObject в Flutter: RenderBox
🌟 В мире Flutter создание кастомных виджетов может быть настоящим искусством. Иногда стандартные виджеты не могут удовлетворить все наши потребности, и нам приходится создавать что-то новое и уникальное. В этой статье мы поговорим о создании собственного RenderObject, в частности, RenderBox. 📦

🔍 Автор статьи объясняет, зачем может понадобиться создание собственного RenderObject, и описывает случаи, когда это может быть необходимо. Например, нестандартные раскладки, особая отрисовка и производительность могут быть причинами для создания кастомного RenderObject. Кроме того, автор кратко описывает Rendering Pipeline Flutter, который включает в себя виджеты, элементы и рендер-объекты. 📈

📝 Фокусируясь на создании собственного RenderBox, автор описывает методы, которые необходимо переопределить, такие как performLayout, paint и hitTest. Затем он создает пример простого прогресс-бара, который будет рисоваться в виде цветной заполненной полоски, и демонстрирует, как можно создать собственный RenderBox с необходимыми полями и методами. 🎨

📊 В статье обсуждается создание кастомных виджетов в Flutter с помощью RenderObject. Приведен пример создания прогресс-бара, который реагирует на изменения значения прогресса. Также обсуждаются способы расширения возможностей кастомных виджетов, такие как обработка кликов, добавление нескольких детей, оптимизация и дебаг. 🚀

Читать здесь: ссылка
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #flutterpulsehabr #renderobject #customwidgets
👍2
Мастерство пагинации во Flutter: от простого ListView до бесконечной прокрутки с API!

Хотите улучшить производительность и отзывчивость вашего Flutter-приложения при работе с большими данными? Пагинация - ключ к успеху! 🔑

В этой статье мы погрузимся в мир пагинации во Flutter и рассмотрим различные методы и приёмы, которые помогут вам оптимизировать использование ресурсов и повысить удовлетворенность пользователей. Вы узнаете о ручной пагинации с помощью ListView.builder и ScrollController, использовании пакетов типа infinite_scroll_pagination, а также о применении GetX для управления состоянием пагинации. Кроме того, мы обсудим разницу между cursor-based и offset-based пагинацией, и как объединить бесконечную прокрутку с функцией "pull-to-refresh" для улучшения пользовательского опыта. 💡

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

🇷🇺Читать статью на русском
🇬🇧Read the article in English
🌐Original article

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, понравилась ли вам новая рубрика!

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appperformance #pagination #infiniteScroll
👍1
Обзор пакетов на тему Responsive UI


Easy Sidemenu 0.7.1
Easy Sidemenu - это легкий в использовании пакет для Flutter, который позволяет создавать боковые меню для навигации в вашем приложении. Он прост в интеграции и настройке, что делает его удобным для использования в различных проектах.
👍 Лайки: 7460, 📥 Скачиваний: 2.4M
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/easy_sidemenu


Sizer 3.1.3
Sizer - пакет, который автоматически адаптирует интерфейс вашего приложения к любому размеру экрана. Он упрощает процесс создания адаптивного дизайна в Flutter.
👍 Лайки: 1760, 📥 Скачиваний: 118K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/sizer


Simple Grid 0.1.5
Simple Grid - пакет, который предоставляет динамическую сетку, похожую на Bootstrap Grid, но с размерами, соответствующими точкам разрыва Material UI. Он прост в использовании и основан на media queries.
👍 Лайки: 79, 📥 Скачиваний: 357
📅 Обновлено: 11 месяцев назад
https://pub.dev/packages/simple_grid


Size Helper 2.1.0
Size Helper - пакет, который позволяет создавать адаптивный UI с большим контролем над компонентами, в зависимости от размера экрана. Он предоставляет простой и удобный способ задавать разные параметры UI для разных размеров экрана.
👍 Лайки: 58, 📥 Скачиваний: 397
📅 Обновлено: 13 месяцев назад
https://pub.dev/packages/size_helper


Overflow View 0.5.0
Overflow View - виджет для Flutter, который отображает дочерние элементы в строку с индикатором переполнения, если места не хватает. Он полезен для создания адаптивного интерфейса.
👍 Лайки: 219, 📥 Скачиваний: 20.3K
📅 Обновлено: 6 месяцев назад
https://pub.dev/packages/overflow_view


Flutter Admin Scaffold 1.4.0
Flutter Admin Scaffold - пакет для создания админских панелей в Flutter. Он позволяет легко реализовать боковую панель с меню, заголовком и футером.
👍 Лайки: 205, 📥 Скачиваний: 791
📅 Обновлено: 11 месяцев назад
https://pub.dev/packages/flutter_admin_scaffold


FlutterPulse — канал о мире Flutter!


#flutter #dart #pubdev #flutterpulse #EasySidemenu #Sizer #SimpleGrid #SizeHelper #OverflowView #FlutterAdminScaffold
💭 Реализация перетаскивания файлов в Flutter с помощью пакета desktop_drop 📁💻

Привет, друзья! Сегодня я хочу рассказать вам о пакете desktop_drop, который позволяет реализовать перетаскивание файлов в ваших десктоп- или веб-приложениях на Flutter. 🌟

Пакет предоставляет виджет DropTarget, который определяет область, на которую можно перетаскивать файлы. Этот виджет невидим, но он позволяет вам определять область для перетаскивания вокруг своего child. 📈

Основные свойства DropTarget включают:

✔️ onDragEntered — вызывается, когда файл входит в область виджета
✔️ onDragExited — вызывается, когда файл покидает область виджета
✔️ onDragDone — вызывается после того, как файл был отпущен внутри области
✔️ onDragUpdated — вызывается при движении файла внутри области
✔️ child — виджет, который отображается внутри области DropTarget

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

DropTarget(
onDragDone: (detail) {
for (final file in detail.files) {
print(file.path);
}
},
onDragEntered: (detail) => print('Файл в области'),
onDragExited: (detail) => print('Файл вне области'),
child: // some child
)


Также можно визуально показывать, что область готова принять файл, используя состояния, отслеживаемые через onDragEntered и onDragExited.

При работе с desktop_drop есть несколько нюансов, о которых стоит помнить:

▪️ Разные платформы могут по-разному обрабатывать события перетаскивания
▪️ С помощью DropDoneDetails можно получать пути к файлам и обрабатывать их без необходимости загружать весь файл в память
▪️ Для безопасной работы всегда проверяйте тип, размер и количество файлов

Для полноценного функционала работы с файлами desktop_drop можно комбинировать с file_picker и другими пакетами.

❤️ — если было полезно

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly
👍3
Макросы в Flutter: мечта, ставшая реальностью! 📌
Для многих разработчиков генерация кода была настоящей головной болью в повседневной рутине. Но теперь появился пакет, который может изменить всё! 🤩
Представляем macro_kit, пакет, который покрывает задачи, связанные с макросами. С его помощью вы сможете автоматизировать рутинные задачи и сосредоточиться на более интересных вещах. 🚀
Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #ohmyflutter
Новые пакеты за неделю

share_intent_package 1.0.0
Позволяет легко делиться текстом, изображениями, видео и файлами между приложениями.
Уже 325 скачиваний и 1 лайк!
Подробнее: https://pub.dev/packages/share_intent_package

ZenRouter 1.2.1
Универсальный роутер, поддерживающий три различных парадигмы для обработки любых сценариев навигации.
Сейчас у него 39 лайков и 215 скачиваний.
Подробнее: https://pub.dev/packages/zenrouter

screen_launch_by_notfication 1.1.0
Этот пакет позволяет обнаруживать, был ли ваше приложение запущено по уведомлению, и получать payload уведомления.
Лайков: 26
Скачиваний: 288
Узнать больше: https://pub.dev/packages/screen_launch_by_notfication

alium_sdk 0.1.0
Обертка вокруг Android SDK от Alium.
Используйте его для конфигурации SDK и запуска опросов в своих приложениях.
Лайков: 1, Скачиваний: 250
Подробнее: https://pub.dev/packages/alium_sdk

bixolon_printer 1.0.1
Пакет позволяет легко подключаться к принтерам Bixolon и печатать изображения в формате Base64.
Лайков: 11
Скачиваний: 90
Узнать больше: https://pub.dev/packages/bixolon_printer

swift_animations 1.0.0
Declarative анимации без boilerplate кода!
Лайков: 26, Скачиваний: 182
Узнайте больше: https://pub.dev/packages/swift_animations

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #share_intent_package #ZenRouter #screen_launch_by_notfication #alium_sdk #bixolon_printer #swift_animations
Как проверить реальное подключение к интернету в Flutter?
Вы когда-нибудь сталкивались с ситуацией, когда приложение зависает на экране загрузки, хотя Wi-Fi подключен? 🤔

В этой статье рассматривается проблема проверки подключения к интернету в Flutter-приложениях и предлагается решение с использованием BLoC. Автор делится своим опытом, когда обнаружилось, что стандартный пакет connectivity_plus не дает полной картины — он показывает только тип подключения (Wi-Fi, мобильная сеть или отсутствие связи), но не проверяет, работает ли интернет на самом деле.

Основная часть статьи посвящена реализации интеллектуального мониторинга статуса интернета с помощью BLoC. Автор поэтапно объясняет, как:
- добавить необходимые пакеты (`flutter_bloc, equatable, connectivity_plus, http`) в проект;
- создать события (`InternetConnectedEvent, InternetDisconnectedEvent, InternetNoSpeedEvent) и состояния (InternetLoading, InternetConnected, InternetDisconnected, InternetNoSpeed`) для BLoC;
- реализовать логику BLoC (`internet_bloc.dart`), которая проверяет подключение к интернету каждые несколько секунд, отправляя HTTP-запрос на Google;
- настроить `main.dart и home_screen.dart`, чтобы UI реагировал на изменения статуса интернета.

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

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Поделитесь, насколько вам понравилась эта рубрика! 😊

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #bloc #internetconnection #flutterdev #programming #coding #softwaredevelopment
👍2