Flutter Pulse
776 subscribers
474 photos
1.15K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Интегрируйте Google Sign-In в Flutter-приложение за 15 минут!

Хотите добавить в своё Flutter-приложение удобную и безопасную авторизацию через Google? В новой статье вы найдёте подробное руководство по интеграции Google Sign-In для Android и iOS.

В статье описаны все необходимые шаги для успешной интеграции: от установки необходимых пакетов и настройки Firebase до реализации авторизации и управления состоянием аутентификации. Вы узнаете, как настроить Google Sign-In для обеих платформ, как создать чистый и удобный интерфейс, а также получите готовый пример кода, который можно использовать в вашем приложении.

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

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

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

#flutter #dart #flutterpulse #FlutterPulseMedium #google #signin #firebase #mobiledevelopment #appdevelopment
1
Самые лучшие обновлённые пакеты за последние 24 часа

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

Drift 2.30.0
Теперь доступны правые и полные внешние соединения. Для Wasm добавлена возможность перемещения базы данных из IndexedDB в OPFS.
Пакет Drift - реактивная библиотека персистентности для Flutter и Dart, построенная на основе SQLite.
Лайков: 2260, Скачиваний: 486000
https://pub.dev/packages/drift

animated_to 0.6.2
Этот пакет позволяет создавать анимированные переходы для виджетов в Flutter, когда их позиция меняется. Теперь с исправленными мелкими ошибками линтера.
Лайков: 193
Скачиваний: 1490
https://pub.dev/packages/animated_to

mapbox_maps_flutter 2.17.0
Этот пакет позволяет разработчикам создавать кастомизированные карты для Android и iOS приложений, используя Flutter.
В новой версии добавлены новые свойства, исправлены ошибки и улучшена производительность.
Пакет имеет 340 лайков и более 53 500 скачиваний.
https://pub.dev/packages/mapbox_maps_flutter

sqlparser 0.42.1
Этот пакет используется для парсинга и статического анализа SQL-запросов, написанных на диалекте SQLite. Он позволяет определять типы столбцов, переменных и обнаруживать семантические ошибки.
В новой версии добавлена поддержка новых функций, введенных в SQLite 3.51.0.
Пакет sqlparser имеет 35 лайков и более 334 000 скачиваний.
https://pub.dev/packages/sqlparser

FVM 4.0.4
Пакет FVM используется для управления версиями Flutter SDK в проектах, позволяя мгновенно переключаться между версиями без переустановки.
В новой версии исправлены ошибки: удалена ведущая строка из вывода fvm dart/flutter, а также исправлена работа с кэшем для fork-версий.
Пакет FVM имеет 701 лайк и более 96 000 скачиваний.
https://pub.dev/packages/fvm

intl_utils 2.8.13
Этот пакет используется для создания связи между переводами из файлов .arb и вашим приложением Flutter, генерируя boilerplate-код для официальной библиотеки Dart Intl и добавляя автозаполнение для ключей в коде Dart.
В обновлении была обновлена зависимость analyzer.
Пакет имеет 241 лайк и более 343 000 скачиваний!
https://pub.dev/packages/intl_utils

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

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #FirebaseMessaging #Drift #animated_to #mapbox_maps_flutter #sqlparser #FVM #intl_utils
Flutter: Архитектура Приложений и Лучшие Практики
🚀 Хотите создать масштабируемое и поддерживаемое приложение на Flutter? 🤔

В этой статье рассматривается архитектурный подход к созданию приложения Flutter с использованием Clean Architecture, принципов SOLID и Riverpod для управления состоянием. На примере функции Crypto Watch-list показано, как реализовать эти принципы на практике. Кроме того, рассматриваются ключевые нефункциональные требования (NFR) как лучшие практики для обеспечения надежности, масштабируемости и поддерживаемости приложения.

Статья охватывает такие темы, как:
Разделение приложения на слои (Presentation, Domain, Data) в соответствии с Clean Architecture
Использование Riverpod для управления состоянием и реализации принципов SOLID
Реализация функций, таких как кэширование данных, отмена запросов API и автоматический повтор при восстановлении сети
Оптимизация обновлений списка для минимизации перестроений UI

Ознакомьтесь с полной статьей, чтобы узнать больше о создании надежных и масштабируемых приложений на Flutter:
🇷🇺 Статья на русском языке
🇬🇧 Статья на английском языке
🌐 Оригинал

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

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

#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #apparchitecture #cleanarchitecture #riverpod #statemanagement #softwareengineering
1
Обзор пакетов на тему Dio


Vexana 5.0.3
Vexana - легкий в использовании пакет для работы с сетью, основанный на dio. Он позволяет динамически парсить модели и использовать базовую модель ошибок.
👍 Лайки: 294, 📥 Скачиваний: 1K
📅 Обновлено: 10 месяцев назад
https://pub.dev/packages/vexana


dio_cookie_manager 3.3.0
dio_cookie_manager - это пакет, который упрощает работу с куки в Dio, объединяя cookie_jar и dio, используя алгоритм интерцептора.
👍 Лайки: 169, 📥 Скачиваний: 71.1K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/dio_cookie_manager


dio_cache_interceptor 4.0.5
Этот пакет для Flutter позволяет кешировать запросы Dio, уважая директивы HTTP, и поддерживает несколько типов хранилищ.
👍 Лайки: 417, 📥 Скачиваний: 224K
📅 Обновлено: 2 месяца назад
https://pub.dev/packages/dio_cache_interceptor


Retrofit 4.9.1
Retrofit - это генератор клиента для Dio, который использует source_gen и вдохновлен Chopper и Retrofit.
👍 Лайки: 2070, 📥 Скачиваний: 650K
📅 Обновлено: 16 дней назад
https://pub.dev/packages/retrofit


Dio 5.9.0
Dio - это популярный пакет для работы с HTTP-запросами в Dart и Flutter, поддерживающий глобальную конфигурацию, интерсепторы, отправку форм, отмену запросов, загрузку/выгрузку файлов, таймауты, кастомные адаптеры, трансформеры и многое другое.
👍 Лайки: 8189, 📥 Скачиваний: 2.4M
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/dio


Dio Smart Retry 7.0.1
Dio Smart Retry - гибкая библиотека для повторных запросов для пакета Dio, позволяющая настраивать повторные запросы, включая динамические задержки и список кодов состояния HTTP.
👍 Лайки: 296, 📥 Скачиваний: 170K
📅 Обновлено: 13 месяцев назад
https://pub.dev/packages/dio_smart_retry


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


#flutter #dart #pubdev #flutterpulse #Vexana #dio_cookie_manager #dio_cache_interceptor #Retrofit #Dio #DioSmartRetry
1
Самые лучшие обновлённые пакеты за последние 24 часа

talker 5.1.4 - продвинутый обработчик ошибок и логгер для приложений Dart и Flutter. В новой версии исправлена кнопка "Поделиться" на iOS и обновлена зависимость share_plus до версии 12.0.1. 👍 Лайки: 801, 📥 Скачиваний: 244К. https://pub.dev/packages/talker

Injectable 2.7.1+2 - пакет для управления зависимостями в приложениях Dart и Flutter. В новой версии исправлена проблема с выравниванием бейджа покрытия в README. Пакет имеет 1420 лайков и более 828К скачиваний! https://pub.dev/packages/injectable

flutter_chat_ui 2.11.0 - пакет для создания чатов в приложениях Flutter. Теперь пакет имеет улучшенную обработку нулевых проверок для жестов сообщений, добавлены обязательные модификаторы для параметров onMessageTap, onMessageDoubleTap, onMessageLongPress. Пакет имеет 1570 лайков и 76К скачиваний. https://pub.dev/packages/flutter_chat_ui

talker_logger 5.1.4 - пакет для логгирования в приложениях Dart и Flutter. Теперь с исправленной кнопкой Share на iOS и обновленной зависимостью share_plus до версии 12.0.1. Пакет набрал 50 лайков и 241К скачиваний! https://pub.dev/packages/talker_logger

photo_manager - пакет для управления медиафайлами в приложениях Flutter. Последняя версия пакета доступна по ссылке. Пакет имеет более 191К скачиваний и 759 лайков. https://pub.dev/packages/photo_manager

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #talker #Injectable #flutter_chat_ui #talker_logger #photo_manager
👍3
Освойте 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