Flutter Pulse
785 subscribers
478 photos
1.17K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
💭 Реализация перетаскивания файлов в 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
👍3
Самые лучшие обновлённые пакеты за последние 24 часа

build_web_compilers 4.4.6
Плагин для настройки SDK, используемого для компиляции в js и wasm, с помощью опций сборки.
👍 Лайки: 41, 📥 Скачиваний: 224К
https://pub.dev/packages/build_web_compilers

shadcn_ui 0.40.5
Плагин содержит множество настраиваемых UI-компонентов для Flutter. Теперь доступна нормализация высоты для стэковых тостов с разными высотами в ShadSonner.
👍 Лайки: 812, 📥 Скачиваний: 26.9К
https://pub.dev/packages/shadcn_ui

camera_android_camerax 0.6.26
Плагин для реализации камеры в Android-приложениях с помощью библиотеки CameraX. Удален внутренний native-библиотечный прокси Dart.
👍 Лайки: 77, 📥 Скачиваний: 216К
https://pub.dev/packages/camera_android_camerax

Rive 0.14.0
Плагин позволяет полностью контролировать файлы Rive в ваших приложениях и играх на Flutter. Исправлены проблемы с сборкой на Android, добавлена поддержка отмены устаревших обновлений состояния.
👍 Лайки: 1910, 📥 Скачиваний: 374К
https://pub.dev/packages/rive

mqtt_client 10.11.2
Плагин представляет собой клиент MQTT для Dart, поддерживающий подписку и публикацию на всех уровнях QOS, а также механизм keep alive и синхронное подключение. Внесены изменения, описанные в PR 628.
👍 Лайки: 527, 📥 Скачиваний: 58.7К
https://pub.dev/packages/mqtt_client

volume_controller 3.4.1
Плагин позволяет контролировать и слушать системную громкость на вашем устройстве. Исправлена обработка аудиосессий на iOS, чтобы предотвратить паузу фоновой музыки.
👍 Лайки: 116, 📥 Скачиваний: 138К
https://pub.dev/packages/volume_controller

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #build_web_compilers #shadcn_ui #camera_android_camerax #Rive #mqtt_client #volume_controller
🚫 Перестаньте использовать MediaQuery для адаптивности в Flutter
В 2025 году пора пересмотреть подход к созданию адаптивных интерфейсов во Flutter! Если вы всё ещё используете MediaQuery для responsive design, то пришло время изменить свой подход.

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

В частности, в статье обсуждаются такие темы, как:
- Почему дробное масштабирование (fractional sizing) не подходит для создания адаптивных интерфейсов.
- Как использовать LayoutBuilder для создания адаптивных интерфейсов, основанных на доступном пространстве.
- Как использовать встроенные точки останова (breakpoints) во Flutter и пакеты, такие как flutter_responsive_framework.
- Как создавать адаптивные интерфейсы, которые не только масштабируются, но и меняют свою структуру в зависимости от устройства.

Читайте полную статью по ссылкам ниже:
🇷🇺Читать на русском языке
🇬🇧Читать на английском языке
🌐Оригинал

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

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

#flutter #dart #flutterpulse #FlutterPulseMedium #responsiveDesign #adaptiveUI #mobileDevelopment #webDevelopment #FlutterDev #programmingTips
👍2💩1
Обзор пакетов на тему Routing


go_router_builder 4.1.3
go_router_builder - пакет, который упрощает работу с навигацией в Flutter, используя генерацию кода. Он позволяет определять маршруты с типизированными параметрами, что делает код более безопасным и читабельным.
👍 Лайки: 271, 📥 Скачиваний: 172K
📅 Обновлено: 7 дней назад
https://pub.dev/packages/go_router_builder


auto_route 11.0.0
AutoRoute - это пакет для навигации в Flutter, который позволяет легко работать с передачей аргументов, глубокими ссылками и использует генерацию кода для упрощения настройки маршрутов. Он минимизирует количество кода, необходимого для навигации, и поддерживает защиту маршрутов.
👍 Лайки: 3360, 📥 Скачиваний: 272K
📅 Обновлено: 8 дней назад
https://pub.dev/packages/auto_route


go_router 5.1.6
GoRouter - декларативный пакет для навигации в Flutter, использующий Router API. Он позволяет легко управлять переходами между экранами, парсить параметры URL, обрабатывать глубокие ссылки и многое другое.
👍 Лайки: 5580, 📥 Скачиваний: 2.2M
📅 Обновлено: 32 дня назад
https://pub.dev/packages/go_router


swipeable_page_route 0.4.7
SwipeablePageRoute - делает навигацию назад в вашем Flutter-приложении еще более удобной, позволяя пользователям возвращаться назад, проводя пальцем влево по экрану.
👍 Лайки: 316, 📥 Скачиваний: 2.9K
📅 Обновлено: 10 месяцев назад
https://pub.dev/packages/swipeable_page_route


auto_route_generator 10.4.0
auto_route_generator - генератор для библиотеки auto_route, создающий код для навигации в вашем Flutter-приложении автоматически.
👍 Лайки: 159, 📥 Скачиваний: 335K
📅 Обновлено: 8 дней назад
https://pub.dev/packages/auto_route_generator


routefly 3.1.3
Routefly - это пакет для Flutter, который автоматически генерирует маршруты на основе структуры папок, поддерживая динамические маршруты, группировку маршрутов и кастомные переходы.
👍 Лайки: 205, 📥 Скачиваний: 311
📅 Обновлено: 9 месяцев назад
https://pub.dev/packages/routefly


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

#flutter #dart #pubdev #flutterpulse #go_router_builder #auto_route #go_router #swipeable_page_route #auto_route_generator #routefly
Асинхронное программирование в Dart и его применение во Flutter-приложениях
Асинхронное программирование - это мощный инструмент, который позволяет выполнять долгие операции без блокировки основного потока и "замораживания" интерфейса 📊. В статье мы рассмотрим ключевые инструменты асинхронности Dart: Future, async/await и Stream 🌟.

Future представляет собой отложенное вычисление, которое завершится либо успешным результатом, либо ошибкой 🤔. Async/await - это синтаксический сахар, который делает асинхронный код более читаемым и "линейным" 📈. Stream предоставляет последовательность значений (событий), поступающих со временем 📊.

Также статья затрагивает тему многопоточности с помощью Isolates 🌐. Isolates - это механизм многопоточности в Dart, который позволяет выполнять код параллельно в разных потоках 🔄. Изоляты не разделяют память, а взаимодействие происходит только через передачу сообщений 📝.

Читать здесь: ссылка


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

#flutter #dart #flutterpulse #flutterpulsehabr #асинхронноепрограммирование #многопоточность #Isolates #Future #asyncawait #Stream
👍1
Разбираемся с Gradle в проектах Flutter 🤔
Вы когда-нибудь сталкивались с проблемами при сборке Android-приложения в Flutter? 🤯 Тогда вам точно нужно понять, как работает Gradle! 💡

В этой статье вы узнаете о роли Gradle в проектах Flutter, о разных типах Gradle (App level и Project level) и о том, как они взаимодействуют с Android Gradle Plugin (AGP). 🤝 Вы также поймёте, как настроить namespace, создавать несколько приложений или модулей в одном проекте и как обеспечить совместимость между Java, Kotlin и Gradle версиями. 📈

Кроме того, в статье будут рассмотрены такие темы, как конфигурация Gradle, AGP и их совместимость, а также настройка нескольких приложений в одном проекте с помощью setting.gradle. 📁

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

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

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

#flutter #dart #flutterpulse #FlutterPulseMedium #android #gradle #AGP #kotlin #java
👍4
Самые лучшие обновлённые пакеты за последние 24 часа

camera_android_camerax 0.6.26+2 - плагин для реализации камеры в Android-приложениях с помощью библиотеки CameraX. В новой версии исправлена ошибка, которая вызывала крах при вызове объектов из Dart после горячего перезапуска. 👍 Лайки: 77, 📥 Скачиваний: 205К. https://pub.dev/packages/camera_android_camerax

dcli 8.2.1 - пакет для создания кроссплатформенных командных приложений и скриптов с помощью языка программирования Dart. В обновлении исправлена документация для Progresses, добавлен новый прогресс "both", который позволяет выводить как stdout, так и stderr через одно действие LineAction, а также исправлены названия delete и backspace. 👍 Лайки: 218, 📥 Скачиваний: 59.8К. https://pub.dev/packages/dcli

pdfrx 2.2.17 - быстрый и функциональный просмотрщик и редактор PDF для Flutter, поддерживающий Android, iOS, Windows, macOS, Linux и Web. В новой версии исправлены проблемы с трекпадом и колесом мыши на Web, добавлена поддержка Ctrl+wheel zoom на Web, а также новые функции для работы с PDF-документами. 👍 Лайки: 284, 📥 Скачиваний: 198К. https://pub.dev/packages/pdfrx

amplify_flutter 2.8.0 - пакет, который включает поддержку параметров Cognito OIDC в управляемом входе. Были обновлены зависимости, включая analyzer, built_collection и crypto. 👍 Лайки: 230, 📥 Скачиваний: 87.2К. https://pub.dev/packages/amplify_flutter

grpc 5.1.0 - пакет для создания высокопроизводительных RPC-приложений. Теперь включает библиотеку protos.dart и требует protobuf версии 6.0.0. 👍 Лайки: 449, 📥 Скачиваний: 306К. https://pub.dev/packages/grpc

clipboard 3.0.8 - пакет, который позволяет работать с буфером обмена в приложениях Flutter, поддерживая текст, HTML и изображения. В новой версии улучшено форматирование кода и качество кода. 👍 Лайки: 624, 📥 Скачиваний: 120К. https://pub.dev/packages/clipboard

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

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #camera_android_camerax #dcli #pdfrx #amplify_flutter #grpc #clipboard