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

webview_flutter_android 4.8.0
Плагин для Flutter, который позволяет использовать Android WebViewController. Убрано устаревшее сообщение, добавлен метод AndroidWebViewController.setMixedContentMode для контроля загрузки смешанного контента.
👍 Лайки: 44, 📥 Скачиваний: 2.4М
https://pub.dev/packages/webview_flutter_android

syncfusion_flutter_charts 30.1.38
Пакет для создания красивых, анимированных и высокопроизводительных графиков в приложениях Flutter. Исправлена ошибка #GH2377, теперь callback onPointTap возвращает правильный индекс точки для видимых данных.
👍 Лайки: 3520, 📥 Скачиваний: 258К
https://pub.dev/packages/syncfusion_flutter_charts

google_sign_in 7.1.1
Плагин для Flutter, позволяющий реализовать авторизацию через Google на платформах Android, iOS, macOS и Web. Добавлена документация о необходимости вызова метода initialize ровно один раз, а также информация о GoogleSignInException в руководстве по миграции.
👍 Лайки: 3410, 📥 Скачиваний: 837К
https://pub.dev/packages/google_sign_in

syncfusion_flutter_calendar 30.1.40
Пакет для создания календарей в приложениях Flutter с различными представлениями: день, неделя, рабочая неделя, месяц и т.д. Обновлен пакет timezone до версии 0.10.1 и улучшена совместимость с Flutter SDK 3.32.0.
👍 Лайки: 1510, 📥 Скачиваний: 70.1К
https://pub.dev/packages/syncfusion_flutter_calendar

webview_flutter_wkwebview 3.22.1
Пакет для реализации Apple WKWebView в приложениях Flutter. Теперь ошибки методов Flutter логгируются вместо выбрасывания assertion error, обновлена минимальная поддерживаемая версия SDK до Flutter 3.27/Dart 3.6
👍 Лайки: 41, 📥 Скачиваний: 2.4М
https://pub.dev/packages/webview_flutter_wkwebview

syncfusion_flutter_datepicker 29.1.39
Пакет для создания датапикеров в приложениях Flutter. Минимальная версия Dart обновлена до 3.7.
👍 Лайки: 1580, 📥 Скачиваний: 207К
https://pub.dev/packages/syncfusion_flutter_datepicker

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #webview_flutter_android #syncfusion_flutter_charts #google_sign_in #syncfusion_flutter_calendar #webview_flutter_wkwebview #syncfusion_flutter_datepicker
❤‍🔥1🔥1
🚀 Flutter Web + Desktop: Секреты кросс-платформенной магии от Яндекс Pro!

Привет, Flutter-энтузиасты! 👋 Только что наткнулся на 🔥горячее видео, которое перевернет ваше представление о разработке под Web и Desktop! Речь о детальном разборе ШМР Flutter 2025 — и это не просто теория, а готовые решения из боевого опыта.

👉 Смотреть видео «Flutter Web + Desktop — ШМР Flutter 2025»

💡 Что внутри? Автор (Flutter-разработчик из Яндекс Pro!) на реальном ToDo-приложении показывает:
🔹 Адаптацию мобильного кода под Web/Desktop с нуля
🔹 Работу с мышью, клавиатурой (шорткаты, фокусы, курсоры через MouseRegion)
🔹 Волшебство JS-interop для вызова нативного кода в Web
🔹 Сборку под WebAssembly (SKIA) — оптимизация +1!
🔹 Кастомизацию меню для Desktop (PlatformMenuBar)
🔹 Фишки адаптивного UI через Breakpoints и AdaptiveBuilder

Почему стоит срочно кликнуть?
Видео — это готовый гайд с кодом, а не сухая теория! Вы узнаете:
- Как избежать "растянутого" интерфейса на больших экранах
- Почему Web требует отдельной реализации сервисов (hello, JS-interop!)
- Как Flutter Engine работает под капотом на разных платформах

👉 Запустите видео и превратите свой пет-проект в кросс-платформенный шедевр! Уверен, после просмотра вы захотите сразу портировать своё приложение! 😉

💬 P.S. Любите такие разборы? Подписывайтесь на Flutter Pulse — каждый день новые лакомые кусочки знаний! Ищите другие видео по хэштегу 👇

#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Действия клавиатуры ввода в Flutter

Улучшите опыт пользователей вашего приложения с помощью действий клавиатуры ввода! 🌟 Они помогают пользователям быстрее заполнять формы, предоставляя интуитивно понятные и удобные элементы управления. 🚀

Как это работает? 🤔
1. Покажите действие "следующее поле" на клавиатуре и свяжите его с отправкой формы.
2. При нажатии на "следующее поле" текущее поле теряет фокус, а следующее поле получает фокус.



TextFormField(
focusNode: _emailFocus,
textInputAction: TextInputAction.next, // Действие "следующее поле"
onFieldSubmitted: (term) {
_emailFocus.unfocus(); // Убрать фокус с текущего поля
FocusScope.of(context.buildContext).requestFocus(_pwdFocus); // Передать фокус следующему полю
},
keyboardType: TextInputType.emailAddress, // Тип клавиатуры для ввода email
)



👍 Оцените новую рубрику по Flutter и Dart! Ваши отзывы помогут нам улучшать контент. 💬

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #UIUX #FlutterTips #DartLang
1
Обзор пакетов на тему "Чат" для Flutter 📱💬

Extended Text Library (v12.0.1) - библиотека для создания специального текста, такого как встроенные изображения или упоминания (@somebody), с поддержкой кастомных фонов, переполнения и панели инструментов. 👍 Лайков: 29, 📥 Скачиваний: 248К, 📅 Последнее обновление: 7 месяцев назад. https://pub.dev/packages/extended_text_library

Stream Chat Flutter (v9.13.0) - пакет для создания чат-приложений на Flutter. Включает в себя готовые UI-компоненты и бизнес-логику для интеграции с сервисом Stream Chat. 👍 Лайков: 374, 📥 Скачиваний: 16К, 📅 Последнее обновление: 16 дней назад. https://pub.dev/packages/stream_chat_flutter

chat_bubbles (v1.7.0) - пакет для Flutter, позволяющий создавать пузырьки чата, похожие на WhatsApp, с поддержкой аудио и изображений. 👍 Лайков: 534, 📥 Скачиваний: 13.4К, 📅 Последнее обновление: 6 месяцев назад. https://pub.dev/packages/chat_bubbles

ymchat-flutter (v2.22.0) - пакет для интеграции чат-бота в приложения на Flutter. 👍 Лайков: 3, 📥 Скачиваний: 19.6К, 📅 Последнее обновление: 19 дней назад. https://pub.dev/packages/ymchat_flutter

ChatView (v2.5.0) - пакет, позволяющий интегрировать кастомизируемый чат в ваши приложения с гибкой интеграцией бэкенда. 👍 Лайков: 608, 📥 Скачиваний: 1.5К, 📅 Последнее обновление: 22 дня назад. https://pub.dev/packages/chatview

Flyer Chat (v2.7.0) - пакет для создания чатов в приложениях на Flutter, отличается высокой производительностью, кастомизацией и легкостью интеграции. 👍 Лайков: 1510, 📥 Скачиваний: 70.2К, 📅 Последнее обновление: 3 дня назад. https://pub.dev/packages/flutter_chat_ui

#chat #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #extendedtextlibrary #streamchatflutter #chatbubbles #ymchatflutter #chatview #flyerchat
Самые лучшие обновлённые пакеты за последние 24 часа

analyzer 7.7.0
Плагин для статического анализа кода на Dart и полезен для интеграции инструментов и встраивания.
Убрано deprecated HasSinceSdkVersion, вместо него следует использовать Element2.sinceSdkVersion.
👍 Лайки: 291, 📥 Скачиваний: 12.3М
https://pub.dev/packages/analyzer

camera_avfoundation 0.9.7+1
Плагин для реализации камеры в приложениях для iOS.
Теперь он разделен от пакета camera как федеративная реализация.
👍 Лайки: 11, 📥 Скачиваний: 216К
https://pub.dev/packages/camera_avfoundation

flutter_callkit_incoming 2.5.3
Плагин для отображения входящих звонков в приложениях Flutter на Android и iOS.
В новой версии обновлена совместимость с Android 14+, изменена структура уведомлений и звуков на Android, добавлена возможность получать аватар из активов на Android и другие улучшения.
👍 Лайки: 445, 📥 Скачиваний: 34.5К
https://pub.dev/packages/flutter_callkit_incoming

protobuf 4.1.1
Плагин для поддержки runtime библиотеки protobuf в Dart.
Обновление включает в себя повышение минимальной зависимости SDK с 3.6.0 до 3.7.0.
👍 Лайки: 236, 📥 Скачиваний: 1.3М
https://pub.dev/packages/protobuf

hydrated_bloc 10.1.1
Расширение для package:bloc автоматически сохраняет и восстанавливает состояния bloc и cubit.
Исправлена ошибка, сделав defaultOnHydrationError публичным.
👍 Лайки: 927, 📥 Скачиваний: 109К
https://pub.dev/packages/hydrated_bloc

pro_image_editor 10.5.3
Плагин для редактирования изображений в приложениях Flutter и предоставляет широкий спектр функций, включая редакторы рисования, текста, обрезки и фильтров.
В новой версии исправлены проблемы с линтером после обновления до flutter_lints: ^6.0.0.
👍 Лайки: 418, 📥 Скачиваний: 24К
https://pub.dev/packages/pro_image_editor

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #analyzer #camera_avfoundation #flutter_callkit_incoming #protobuf #hydrated_bloc #pro_image_editor
Использование зависимостей в pubspec

Привет, Flutter-разработчики! 👋 Сегодня мы поговорим о важной теме - использовании зависимостей в файле pubspec.yaml. 📄

Импорт библиотек
Вы можете импортировать библиотеку из локального пути или удаленного репозитория. Например:


dependencies:
transmogrify:
path: ../
otherlib:
git:
url: https://github.com/awesomeplugin.git
ref: main



Синтаксис каретки
Синтаксис каретки гарантирует обратную совместимость с указанной версией. Например:


dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0


Это то же самое, что >=1.0.0 и <2.0.0.

Переопределение зависимостей
Чтобы избежать конфликтов версий, когда несколько библиотек используют разные версии зависимостей, вы можете временно переопределить все ссылки на зависимость. Например:


name: my_app
dependencies:
transmogrify: 3.2.1
otherlib: ^1.0.2
dependency_overrides:
transmogrify: 3.2.1


В этом примере otherlib использует transmogrify версии 2.0.0, но переопределение заставляет его использовать версию 3.2.1.

Оцените новую рубрику и напишите свое мнение в комментариях! 💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips. 👍

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #DartLang
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

json_serializable 6.10.0 - пакет для генерации кода для сериализации и десериализации JSON в Dart. Обновлена зависимость от analyzer до версии 7.4.0, переход на модель element2 в build, перемещение package:collection в dev-зависимость и другие изменения. 👍 Лайки: 3800, 📥 Скачиваний: 2.7M
https://pub.dev/packages/json_serializable

flutter_gen 5.11.0 - пакет для генерации кода для активов, шрифтов, цветов и других ресурсов в приложениях Flutter. Добавлена поддержка отложенных компонентов, парсинг метаданных для анимированных изображений, цветовая карта для SVG-изображений и другие улучшения. 👍 Лайки: 1650, 📥 Скачиваний: 117К
https://pub.dev/packages/flutter_gen

analyzer 8.0.0 - пакет для статического анализа кода на языке Dart. Удалены устаревшие элементы, включая элементную модель V1, методы и классы. Также обновлены интерфейсы и удалены deprecated поля и методы. 👍 Лайки: 291, 📥 Скачиваний: 12.3M
https://pub.dev/packages/analyzer

flutter_local_notifications 19.3.1 - пакет для отображения локальных уведомлений на различных платформах. Исправлены проблемы с обработкой не-ASCII символов в уведомлениях на Windows и устранены ошибки, связанные с новыми версиями Windows SDK. 👍 Лайки: 7040, 📥 Скачиваний: 1.3M
https://pub.dev/packages/flutter_local_notifications

build_runner 2.6.0 - пакет для генерации файлов в проектах Dart с помощью package:build. Удалены неиспользуемые зависимости и dev-зависимости, а также улучшена система тестирования. Теперь используется версия build 3.0.0 и build_resolvers 3.0.0. 👍 Лайки: 2210, 📥 Скачиваний: 4.7M
https://pub.dev/packages/build_runner

build 3.0.0 - пакет для определения основных элементов процесса сборки и их взаимодействия. Удалены неиспользуемые зависимости meta и pool, а также изменены API для работы с analyzer. Теперь необходимо использовать новые API из element2. 👍 Лайки: 91, 📥 Скачиваний: 4.9M
https://pub.dev/packages/build
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #json_serializable #flutter_gen #analyzer #flutter_local_notifications #build_runner #build
Flutter Pulse
Использование зависимостей в pubspec Привет, Flutter-разработчики! 👋 Сегодня мы поговорим о важной теме - использовании зависимостей в файле pubspec.yaml. 📄 Импорт библиотек Вы можете импортировать библиотеку из локального пути или удаленного репозитория.…
Катя из Flutter Dev Friflex решила продолжить тему! 💫

Иногда документации на pub.dev недостаточно 🤔, особенно когда библиотека ведет себя странно или хочется понять, как она работает «под капотом» 🚗. В такие моменты приходится читать исходный код библиотеки 📚. Давайте разберем, куда смотреть и на что можно не тратить время, на примере популярной библиотеки intl_utils 📊.

Шаг 1: Открываем репозиторий 📁
1️⃣ Идем на pub.dev 🌐
2️⃣ В поиске вводим нужную библиотеку, например, intl_utils 🔍
3️⃣ В карточке справа жмем Repository (GitHub) — нас перебросит на GitHub-репозиторий проекта 🚀

Шаг 2: Что стоит смотреть 🔍
▪️ Папка bin/ 📁: часто используется для CLI-скриптов 📝. В intl_utils, например, есть исполняемый файл генератора локализаций 🌎.
▪️ Папка lib/ 📚: это сердце библиотеки ❤️. Тут обычно:
✔️ логика импорта (intl_utils.dart) 📈
✔️ основной код библиотеки 📊
✔️ вспомогательные утилиты 🛠
▪️ Файл генератора 📄: если есть генерация кода, как у intl_utils, стоит посмотреть, как он парсит pubspec.yaml, обрабатывает ключи и какие шаблоны использует 📝.

Шаг 3: Что можно пропустить
Тесты 📊: если вы просто хотите понять, как работает логика, тесты можно пропустить 🙅‍♂️. Но если вы хотите проверить, что библиотека работает корректно, заглянуть все-таки стоит 👀.
Конфигурационные файлы 📁: gitignore, analysis_options.yaml, metadata, vscode/ и прочие технические файлы не помогают в понимании логики работы 🙅‍♂️.

Советы 💡
Начинайте с точки входа — файла, указанного в pubspec.yaml → executables: или lib/ 📈
Ищите ключевые слова: generate, parse, template, config 📝. Они помогут быстрее найти нужную часть 🕰
Если запутались — зайдите в example/, если он есть 📊. Там обычно видно, как библиотеку используют в реальном коде 📈.

Часто ли вы читаете сторонние библиотеки? 🤔 Узнайте больше тут 📄
Не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📣! #flutter #dart #flutterpulse 💻👍
🔥 ВИДЕО ДНЯ: Flutter TDD Чистая Архитектура [1] - Объяснение и структура проекта

Привет, Flutter-энтузиасты! 👋 Сегодня делимся 🔥горячим видео, которое перевернет ваш подход к разработке! Денис (@DenUP) детально разбирает Clean Architecture + TDD — связку, которая превратит ваш код в масштабируемый шедевр. 💻

Почему это must-see?
Чистая Архитектура — не роскошь, а необходимость! Когда проекты растут, смешение бизнес-логики с UI превращается в кошмар 😱. Автор покажет, как разделить код на:
Presentation (Bloc, виджеты)
Domain (сущности, use cases)
Data (API, кеширование)

TDD (Разработка через тестирование) — ваш код станет предсказуемым, как швейцарские часы ⏱️. Пишем тесты ДО кода — минус баги, плюс уверенность!

Реальный кейс: приложение для Numbers API с:
Поиском фактов о числах
Кешированием (даже в оффлайне! 📶)
Обработкой ошибок
Гибкой структурой, работающей с ЛЮБЫМ state-менеджером

Таймкоды:
00:00 — Введение
01:18 — Демо приложения
04:18 — Суть Clean Architecture
05:52 — Структура проекта
07:58 — Presentation-слой
09:52 — Domain-слой
12:57 — Data-слой

💡 Золотая мысль:
«Даже Bloc/Cubit не спасут, если архитектура хромает. Слои — ваша броня против хаоса!» 🛡

👉 СМОТРЕТЬ: Flutter TDD Чистая Архитектура [1]

🔔 Хотите глубже? Подписывайтесь на нас и ищите уроки по #FlutterPulseYoutube!

#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Понимание ключей во Flutter

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

GlobalKey
- Уникален во всём приложении. Не должен пересоздаваться при каждой сборке.
- Долгоживущий объект, которым владеет объект состояния.

Пример использования 1: Доступ к состоянию stateful виджета (например, для формы)



// для формы
final GlobalKey<FormState> _formKey = GlobalKey(debugLabel: 'form');

// используем ключ, чтобы получить FormState и вызвать функцию validate
isFormValid() {
if (_formKey.currentState == null) {
return false;
}
return _formKey.currentState?.validate();
}



Пример использования 2: Разрешение виджетам менять своих родителей в любом месте приложения без потери состояния.

Используйте KeyedSubtree, прикрепляя ключ к существующему виджету и пересобирая его потомка.

Пример использования во Flutter виджетах: => Hero



class _HeroState extends State<Hero> {
final GlobalKey _key = GlobalKey();

@override
Widget build(BuildContext context) {
// ...
return SizedBox(
width: _placeholderSize?.width,
height: _placeholderSize?.height,
child: Offstage(
offstage: !showPlaceholder,
child: TickerMode(
enabled: !showPlaceholder,
child: KeyedSubtree(key: _key, child: widget.child),
),
),
);
}
}



Все подобные новости можно найти по хэштегу #FlutterPulseTips. Оцените новую рубрику! 👍💬

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #AppDevelopment #ProgrammingTips
👍2
Обзор пакетов на тему "Эффекты фона, градиенты и шейдеры"

📦 O'Mesh - создавайте анимированные градиенты сетки для ваших приложений Flutter с помощью этого быстрого и настраиваемого пакета. 👍 Лайки: 140, 📥 Скачиваний: 7.6К, Версия: 0.5.0, Последнее обновление: 2 месяца назад. https://pub.dev/packages/mesh

📦 flutter_shaders - облегчите работу с FragmentProgram API с помощью этого пакета! Включает в себя набор утилит и шейдеров для создания эффектов в ваших Flutter-приложениях. 👍 Лайки: 107, 📥 Скачиваний: 786К, Версия: 0.1.3, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/flutter_shaders

📦 Mesh Gradient - создавайте красивые, плавные градиенты в своих приложениях с помощью этого мощного и гибкого инструмента. 👍 Лайки: 243, 📥 Скачиваний: 10.7К, Версия: 1.3.8, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/mesh_gradient

📦 Particles Flutter - добавьте анимацию частиц в ваш проект с помощью этого простого и удобного пакета. 👍 Лайки: 169, 📥 Скачиваний: 1.4К, Версия: 1.0.1, Последнее обновление: 10 месяцев назад. https://pub.dev/packages/particles_flutter

📦 Patterns Canvas - обновление библиотеки! Позволяет рисовать различные узоры на элементах Canvas или виджетах Flutter. 👍 Лайки: 106, 📥 Скачиваний: 5.9К, Версия: 0.5.0, Последнее обновление: 11 месяцев назад. https://pub.dev/packages/patterns_canvas

📦 weather_animation - создавайте анимированные погодные сцены без использования gif/png. Бесплатно и просто! 🆓 👍 Лайки: 122, 📥 Скачиваний: 741, Версия: 1.1.2, Последнее обновление: 5 месяцев назад. https://pub.dev/packages/weather_animation

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #OMesh #flutter_shaders #MeshGradient #ParticlesFlutter #PatternsCanvas #weather_animation
Самые лучшие обновлённые пакеты за последние 24 часа

purchases_flutter 9.0.0 - клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter.
В новой версии обновлена библиотека Google Play Billing до версии 8, удалены некоторые устаревшие API, а также увеличены минимальные требования к версии Flutter и Dart.
👍 Лайки: 816, 📥 Скачиваний: 165К
https://pub.dev/packages/purchases_flutter

appwrite 17.0.2 - пакет для интеграции с сервером Appwrite, который упрощает разработку приложений за счет абстракции сложных задач и предоставления простого REST API.
В новой версии добавлена поддержка формата gif в перечислении ImageFormat, а также исправлен метод convertTo() в моделях Document и Preferences для корректной обработки Map<String, dynamic>.
👍 Лайки: 566, 📥 Скачиваний: 7.1К
https://pub.dev/packages/appwrite

built_value 8.11.0 - пакет для создания неизменяемых типов значений, классов-ENUM и сериализации JSON в Dart.
В новой версии обновлены зависимости: теперь используется build ^3.0.0 и source_gen ^3.0.0.
👍 Лайки: 759, 📥 Скачиваний: 8.7М
https://pub.dev/packages/built_value

freezed 3.2.0 - пакет для автоматического генерации кода для данных классов, помеченных объединений, вложенных классов и клонирования в Dart.
В новой версии 3.2.0 обновлены зависимости до build 3.0.0-dev и source_gen 3.0.0-dev, а также добавлена поддержка Dart 3.8.0 и analyzer 7.5.9.
👍 Лайки: 4290, 📥 Скачиваний: 1.9М
https://pub.dev/packages/freezed

dart_style 3.1.1 - автоматический форматтер для кода на языке Dart, который помогает поддерживать единый стиль кода и делает его более читабельным.
В новой версии обновлены зависимости до последней версии анализатора и включена поддержка языковой версии 3.9.
👍 Лайки: 116, 📥 Скачиваний: 7М
https://pub.dev/packages/dart_style

awesome_snackbar_content 0.1.7 - пакет, который позволяет улучшить опыт использования SnackBar или MaterialBanner в вашем приложении.
Изменения: обновление SDK до 3.8.1, применены линтеры (MISC).
👍 Лайки: 956, 📥 Скачиваний: 15.1К
https://pub.dev/packages/awesome_snackbar_content

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #purchases_flutter #appwrite #built_value #freezed #dart_style #awesome_snackbar_content
Как мы переписали мобильное приложение с React Native на Flutter 📱💻
Разработчики мобильного приложения перешли с React Native на Flutter из-за проблем с производительностью и отсутствием необходимых инструментов 🤔. Теперь они оценивают преимущества Flutter в разработке кроссплатформенных приложений 📈. Команда из 3 разработчиков переписала существующее приложение на Flutter за полгода, добившись стабильности и высокой производительности 🚀. Теперь приложение работает плавно и отзывчиво на всех платформах 📊.
Узнайте, как эти две технологии справляются с потреблением оперативной памяти и другими задачами 🤔. Перевод приложения с React Native на Flutter оказался большим, но оправданным шагом 🔄. Разработчики улучшили архитектуру, UX и получили стабильный продукт 📈. Flutter стал самым актуальным инструментом для разработки кроссплатформенных мобильных приложений в СНГ 🌟.
Читать здесь 📄
#flutter #dart #flutterpulse 🚀💻📱
Отображение оверлея
Привет, Flutter-разработчики! 👋 Сегодня мы рассмотрим интересную тему: как отобразить оверлей поверх вашего контента в приложении. 📱💻

Что такое оверлей?
Оверлей позволяет отображать контент поверх других элементов вашего приложения. Это может быть полезно для создания уведомлений, подсказок или других интерактивных элементов. 🔔💡

Как это работает?
`Overlay.of` работает под `MaterialApp` или `navigator`. Это означает, что вы можете использовать его внутри этих виджетов для отображения оверлея. 🌟

Пример кода:


overlayEntry = OverlayEntry(
opaque: false, // Определяет, перекрывает ли эта запись весь оверлей
builder: (context) => Container(...), // Что вы хотите отобразить
);
final overlay = Overlay.of(context);
if (overlay != null) {
overlay.insert(overlayEntry!);
}



В этом примере мы создаем `OverlayEntry` с нужным нам контентом и добавляем его в оверлей с помощью `Overlay.of(context).insert(overlayEntry)`. 📝👍

Оцените нашу новую рубрику! 🤔💬 Мы будем рады вашим отзывам о новых материалах. Оставляйте свои комментарии и предложения! 💬👇

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

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #programmingtips #uiux #technews
1
Обзор пакетов на тему Видео 📹

fwfh_chewie - расширение для WidgetFactory, использующее плагин chewie для воспроизведения видео. 👍 Лайки: 10, 📥 Скачиваний: 243К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/fwfh_chewie

Chewie - видеоплеер с Material или Cupertino интерфейсом, построенный на основе video_player. 👍 Лайки: 2250, 📥 Скачиваний: 789К
Последнее обновление 📅: 18 дней назад
https://pub.dev/packages/chewie

media_kit - кроссплатформенный видео- и аудиоплеер. 👍 Лайки: 759, 📥 Скачиваний: 90К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/media_kit

video_player - позволяет проигрывать видео на устройствах iOS, Android, macOS и веб-страницах. 👍 Лайки: 3580, 📥 Скачиваний: 2.8М
Последнее обновление 📅: 46 дней назад
https://pub.dev/packages/video_player

youtube_explode_dart - библиотека для извлечения метаданных видео, плейлистов и каналов YouTube. 👍 Лайки: 653, 📥 Скачиваний: 42.7К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/youtube_explode_dart

youtube_player_flutter - позволяет проигрывать или транслировать видео с YouTube прямо в вашем приложении. 👍 Лайки: 1630, 📥 Скачиваний: 155К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/youtube_player_flutter

#fwfh_chewie #chewie #media_kit #video_player #youtube_explode_dart #youtube_player_flutter #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа

flutter_chat_ui 2.8.1 - плагин для Flutter, который позволяет создавать чаты. Теперь с исправлением composer inputClearMode и возможностью использования кастомного редактора.
👍 Лайки: 1510, 📥 Скачиваний: 69.9К
https://pub.dev/packages/flutter_chat_ui

google_api_headers 2.0.0 - пакет для получения заголовков, необходимых для вызова Google API с ограниченным ключом. Теперь с совместимостью с Android Gradle Plugin 8.0 и обновленными версиями SDK.
👍 Лайки: 30, 📥 Скачиваний: 82.7К
https://pub.dev/packages/google_api_headers

jaspr 0.20.0 - современный фреймворк для построения веб-сайтов на Dart, поддерживающий как клиентскую, так и серверную отрисовку. В новой версии удалены устаревшие параметры и методы, добавлены новые html-методы и улучшена обработка ошибок.
👍 Лайки: 533, 📥 Скачиваний: 15.9К
https://pub.dev/packages/jaspr

background_downloader 9.2.3 - пакет для скачивания и загрузки файлов в фоновом режиме на платформах iOS, Android, MacOS, Windows и Linux. В новой версии исправлены незначительные ошибки, улучшены разрешения на iOS и добавлена возможность использования символа $ в уведомлениях на Android.
👍 Лайки: 416, 📥 Скачиваний: 73.3К
https://pub.dev/packages/background_downloader

pdfrx 1.3.5 - быстрый и функциональный просмотрщик PDF-файлов, поддерживающий множество платформ, включая Android, iOS, Windows, macOS, Linux и Web. В новой версии улучшена поддержка прогрессивной загрузки для PdfDocumentViewBuilder, а также исправлена ошибка с прокруткой колесом мыши.
👍 Лайки: 233, 📥 Скачиваний: 178К
https://pub.dev/packages/pdfrx

Tostore 2.2.2 - единственный распределенный векторный базовый движок хранения в экосистеме Dart/Flutter с исключительной производительностью. В новой версии удалено автоматическое управление кэшем запросов, оптимизирована плавность и отзывчивость интерфейса для крупномасштабных операций с данными, улучшена производительность для limit, сортировки и постраничного вывода.
👍 Лайки: 31, 📥 Скачиваний: 131К
https://pub.dev/packages/tostore

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #flutter_chat_ui #google_api_headers #jaspr #background_downloader #pdfrx #Tostore
Как использовать Isolates во Flutter

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

Зачем нужны Isolates?

Isolates помогают избежать зависания интерфейса пользователя при выполнении сложных операций, таких как обработка больших объемов данных или сложные вычисления. Они позволяют распределить нагрузку между несколькими потоками, обеспечивая плавную работу приложения. 💻

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

Давайте рассмотрим пример, как отправлять и получать данные из Isolates. В этом примере мы создадим Isolate и организуем двустороннюю связь между основным потоком и Isolate.



static void _update(String data) async {
// создаем канал ответа для основного потока
var _toIsolate = ReceivePort();
// отправляем этот канал ответа
data.sendPort.send(_toIsolate.sendPort);
// слушаем данные, отправленные из основного потока, чтобы их обработать
_toIsolate.listen((message) {
// выполняем тяжелую работу здесь
data.sendPort.send("Мой потрясающий результат...");
});
}





Isolate? isolate;
StreamController<String>? _streamController;
Stream<String>? _stream;

void runIsolate() {
// создаем канал связи для ответов Isolate
var fromIsolate = ReceivePort();
// контроллер потока для отправки данных и отображения их в UI
_streamController = StreamController<String>();
// первый канал ответа — это канал связи, по которому мы можем снова отправлять данные
fromIsolate.listen((data) {
if (data is SendPort) {
_toIsolate = data;
}
// обработанные данные (здесь это String, но можно использовать и другие типы
// или классы с базовыми типами)
if (data is String) {
_streamController!.sink.add(data);
}
});
// запускаем Isolate
Isolate.spawn(_update, initialData).then((value) => isolate = value);
// используем этот поток, чтобы слушать данные из нашего UI или откуда угодно еще
_stream = _streamController!.stream.asBroadcastStream();
// не забудьте закрыть его, когда закончите
}



В этом примере мы создаем Isolate и организуем двустороннюю связь между основным потоком и Isolate. Это позволяет выполнять тяжелые задачи в фоновом режиме и получать результаты в основном потоке. 🔄

Не забудьте остановить Isolate, когда закончите работу с ним, чтобы избежать утечек памяти. 💡

Оцените новую рубрику и напишите в комментариях, какие темы вам интересны! 👇

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

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #performanceoptimization #isolates #concurrency #multithreading
👍3