uk
Feedback
Flutter Pulse

Flutter Pulse

Відкрити в Telegram

На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.

Показати більше
1 020
Підписники
Немає даних24 години
+17 днів
Немає даних30 день
Архів дописів
Обзор пакетов на тему Crop Image crop_your_image 2.0.0 Этот Flutter-плагин предоставляет виджет Crop для обрезки изображений. Он гибкий, настраиваемый и может быть размещен везде в вашем приложении. 👍 Лайки: 575, 📥 Скачиваний: 76.3K 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/crop_your_image custom_image_crop 0.1.1 CustomImageCrop - пакет для Flutter, который позволяет легко и flexibly обрезать изображения. 👍 Лайки: 88, 📥 Скачиваний: 8.2K 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/custom_image_crop crop_image 1.0.17 Этот пакет позволяет легко реализовать функционал обрезки изображений в ваших Flutter-приложениях. Он работает на всех платформах, поддерживаемых Flutter: мобильные, веб и десктоп. 👍 Лайки: 243, 📥 Скачиваний: 2.4M 📅 Обновлено: 2 месяца назад https://pub.dev/packages/crop_image image_cropping 0.0.16 Пакет image_cropping позволяет кроппить и поворачивать изображения для веб и мобильных платформ. 👍 Лайки: 93, 📥 Скачиваний: 724 📅 Обновлено: 2 месяца назад https://pub.dev/packages/image_cropping croppy 1.4.1 Croppy - мощный и настраиваемый кроппер изображений для Flutter. 👍 Лайки: 142, 📥 Скачиваний: 5.4K 📅 Обновлено: 4 месяца назад https://pub.dev/packages/croppy image_cropper 11.0.0 Image Cropper - пакет для Flutter, который позволяет обрезать изображения на Android, iOS и Web. 👍 Лайки: 2430, 📥 Скачиваний: 330K 📅 Обновлено: 5 месяцев назад https://pub.dev/packages/image_cropper FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #crop_your_image #custom_image_crop #crop_image #image_cropping #croppy #image_cropper

Почему экраны-заставки Flutter такие странные? Вы когда-нибудь строили приложение на Flutter и задавались вопросом: "Почему мой экран-заставка выглядит так странно?" 🤔 В этой статье автор простым и понятным языком объясняет, почему экраны-заставки в Flutter ведут себя так, как они себя ведут. Вы узнаете о основных причинах странного поведения экранов-заставок, таких как: 👉 Flutter не контролирует экран-заставку, это делает операционная система ✅ Android и iOS ведут себя по-разному: Android непредсказуем, а iOS слишком строг ⚙️ Проблема "двойной заставки" возникает из-за того, что ОС заканчивает показывать заставку, а Flutter ещё не готов 📌 Первая отрисовка кадра занимает время, и если ваша домашняя страница тяжелая, это может вызвать задержку Автор также дает советы, как исправить ситуацию: 🔹 Используйте пакет flutter_native_splash правильно ✅ Перенесите тяжелую работу из функции main() в другое место 👉 Добавьте внутренний экран-заставку, чтобы скрыть недостатки ⚙️ Избегайте тяжелых первых экранов и используйте оптимизированные изображения 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #mobiledev #appdev #splashscreen #optimization

Самые лучшие обновлённые пакеты за последние 24 часа shadcn_ui 0.50.1 - пакет содержит множество настраиваемых UI-компонентов для Flutter. Теперь ShadDatePicker игнорирует null значения selected и selectedRange, а все поля формы стали публичными для легкого создания GlobalKey. Лайков: 867, Скачиваний: 32.8К. Подробнее: https://pub.dev/packages/shadcn_ui 👍 wechat_assets_picker - пакет используется для выбора изображений, видео и аудио в приложениях Flutter, с интерфейсом, вдохновлённым WeChat. Версия: Unreleased. Лайков: 858, Скачиваний: 42.5К. Подробнее: https://pub.dev/packages/wechat_assets_picker 📸 photo_manager - пакет используется для управления медиафайлами в приложениях Flutter на Android, iOS, macOS и OpenHarmony. Версия: Unreleased. Пакет набрал 765 лайков и 171000 скачиваний. Подробнее: https://pub.dev/packages/photo_manager 📁 purchases_flutter 9.13.0 - пакет имеет 883 лайка и более 209000 скачиваний. Теперь доступна поддержка PurchaseLogic в PaywallView и другие улучшения. Узнайте больше: https://pub.dev/packages/purchases_flutter 🛍️ build_web_compilers 4.4.15 - пакет используется для компиляции кода Dart в JavaScript и WebAssembly для запуска в браузере. В новой версии исправлена проблема с нормализацией URI в DDC на Windows. Лайков: 42 Скачиваний: 187000 Подробности: https://pub.dev/packages/build_web_compilers 💻 Serverpod 3.4.0 - теперь доступны долгожданные функции: общие модели между сервером и клиентом, кэширование любых типов объектов в локальном/Redis кэше, а также новые провайдеры идентификации (Facebook и Microsoft). Лайков: 713, Скачиваний: 28.2К Подробности: https://pub.dev/packages/serverpod 👥 FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #shadcn_ui #wechat_assets_picker #photo_manager #purchases_flutter #build_web_compilers #Serverpod

photo content

2. Курс Dart и Flutter вместе: списки, условные конструкции, виджеты Column, Row, Container, Text В этом видео мы продолжаем изучение Dart и Flutter. Мы обсуждаем списки, условные конструкции и различные виджеты, такие как Column, Row, Container и Text. Содержание: ✦ Списки в Dart: List, Set, Map ✦ Условные конструкции: if/else, switch/case ✦ Виджеты в Flutter: Column, Row, Container, Text Основные темы: • Списки: List, Set, Map - их свойства и предназначение • Условные конструкции: if/else и switch/case - их использование в Dart • Виджеты: Column, Row, Container, Text - их применение в Flutter Преимущества: ✔️ Понимание работы со списками в Dart ✔️ Умение использовать условные конструкции ✔️ Знание основных виджетов в Flutter 📺 Смотрите видео по ссылке #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube

⭐ Раскрываем секреты BuildContext в Flutter! 🤔 Привет, друзья! Сегодня мы поговорим о чем-то действительно важном в Flutter — BuildContext. 📚 Это специальный объект, который представляет собой ссылку на конкретное место виджета в дереве элементов. По сути, это идентификатор позиции виджета в иерархии приложения. 🗺️ Каждый виджет при построении получает свой уникальный BuildContext. Именно через него виджет может взаимодействовать с другими частями дерева: получать доступ к родительским виджетам, темам, навигации и многому другому. 🌐 Давайте посмотрим, как это работает на практике:

@override
Widget build(BuildContext context) {
  return Container(
    child: Text('Привет'),
  );
}
Этот context и есть BuildContext. Он связывает наш виджет с конкретным элементом в дереве. Через него Flutter понимает, где именно находится виджет и как с ним работать. 📈 Но почему BuildContext так важен? 🤔 Возьмем простой пример — доступ к теме приложения:

final theme = Theme.of(context);
Метод Theme.of(context) использует BuildContext, чтобы подняться вверх по дереву виджетов и найти ближайший ThemeData. Без context это было бы невозможно — Flutter просто не знал бы, откуда начинать поиск. 🔍 То же самое происходит с навигацией:

Navigator.of(context).push(
  MaterialPageRoute(builder: (context) => NextScreen()),
);
Navigator ищет ближайший Navigator в дереве, используя переданный BuildContext как отправную точку. 📍 Но есть одна распространенная ошибка, которую стоит избегать: использование BuildContext до того, как виджет добавили в дерево, или после того, как его удалили. 🚫 Например:

@override
Widget build(BuildContext context) {
  Future.delayed(Duration(seconds: 2), () {
    // Опасно! Context может быть уже невалидным
    showDialog(context: context, builder: (_) => AlertDialog());
  });
  return Container();
}
Если виджет удалят из дерева за эти две секунды, использование context приведет к ошибке. Для таких случаев стоит проверять mounted в StatefulWidget или использовать более безопасные подходы. 🚨 BuildContext играет особую роль при работе с InheritedWidget. Именно через context виджеты подписываются на изменения:

final data = MyInheritedWidget.of(context);
При таком вызове Flutter регистрирует зависимость текущего виджета от MyInheritedWidget через BuildContext. Когда InheritedWidget обновится, все зависимые от него виджеты будут автоматически перестроены. 🔄 Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly #BuildContext #InheritedWidget

Обзор пакетов на тему Light Mode, Dark Mode & Themes FlexSeedScheme 4.0.1 FlexSeedScheme - это пакет, который расширяет возможности ColorScheme.fromSeed, позволяя создавать более настраиваемые цветовые схемы для вашего Flutter-приложения. Он предлагает гибкие настройки для создания уникальных тем. 👍 Лайки: 104, 📥 Скачиваний: 323K 📅 Обновлено: 3 месяца назад https://pub.dev/packages/flex_seed_scheme FlexColorScheme 8.4.0 FlexColorScheme - это пакет, который помогает создавать красивые и настраиваемые темы Material Design для ваших Flutter-приложений. Он предлагает широкий выбор готовых цветовых схем и полный контроль над настройками темы. 👍 Лайки: 3190, 📥 Скачиваний: 57.5K 📅 Обновлено: 3 месяца назад https://pub.dev/packages/flex_color_scheme Adaptive Theme 3.7.2 Adaptive Theme упрощает добавление поддержки светлой и темной темы в ваш Flutter-приложение, сохраняя режим темы между перезапусками приложения. 👍 Лайки: 944, 📥 Скачиваний: 16.9K 📅 Обновлено: 4 месяца назад https://pub.dev/packages/adaptive_theme Dynamic Color 1.8.1 Dynamic Color - это пакет для создания цветовых схем Material Design, основанных на динамических цветах платформы, поддерживающий Android, Linux, macOS и Windows. 👍 Лайки: 625, 📥 Скачиваний: 96.5K 📅 Обновлено: 7 месяцев назад https://pub.dev/packages/dynamic_color Theme Tailor 3.1.2 Theme Tailor упрощает работу с темами в Flutter 3.0+, автоматически генерируя код для расширений темы `ThemeData` и минимизируя boilerplate код. 👍 Лайки: 218, 📥 Скачиваний: 40K 📅 Обновлено: 2 месяца назад https://pub.dev/packages/theme_tailor stacked_themes 0.3.15 stacked_themes упрощает работу с несколькими темами или функциональностью светлой/темной темы в вашем Flutter-приложении, предоставляя управление темами и легкое интегрирование. 👍 Лайки: 112, 📥 Скачиваний: 1.2K 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/stacked_themes FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #FlexSeedScheme #FlexColorScheme #AdaptiveTheme #DynamicColor #ThemeTailor #stacked_themes

Создание тем оформления в приложениях Flutter: полное руководство При разработке приложений на платформе Flutter, дизайн играет решающую роль в формировании пользовательского опыта 📱. Создание тем оформления является важным аспектом этого процесса, поскольку оно позволяет выразить фирменный стиль, обеспечить единообразное расположение элементов и типографику, поддерживать темный режим и отделять стилизацию от бизнес-логики 🌃. В этой статье мы рассмотрим основные концепции и лучшие практики создания тем оформления в приложениях Flutter, включая использование ThemeData, ColorScheme и других инструментов 🛠. Одним из ключевых аспектов создания тем оформления является определение единого языка дизайна, который включает в себя выбор цветовой схемы, типографики и системы компоновки 🎨. Для этого можно использовать объект ThemeData, который позволяет определить внешний вид и функциональность приложения 📊. Кроме того, важно учитывать такие факторы, как доступность, производительность и удобство сопровождения пользовательского интерфейса 🚀. Для создания гибких и настраиваемых систем тем можно использовать такие инструменты, как Material Design и Flutter 🌈. В частности, Material Design предоставляет мощные инструменты для создания тем, включая ColorScheme, который позволяет определить цветовую схему приложения 🎭. Кроме того, Flutter предоставляет такие инструменты, как Theme и AnimatedTheme, которые позволяют создавать анимированные переходы между темами и обеспечивать плавные визуальные эффекты 🌟. Читать здесь: ссылка FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #flutterpulsehabr #theming #materialdesign

Прекратите ломать свой UI: изучите LayoutBuilder как настоящий Flutter-про Вы когда-нибудь создавали идеальный интерфейс, который затем ломался на устройствах с разными размерами экранов? Тогда вы знаете, как важно понимать, сколько места на самом деле доступно для ваших виджетов. В этой статье вы узнаете о мощном инструменте Flutter — LayoutBuilder, который помогает создавать адаптивные интерфейсы. Вы поймёте, как использовать LayoutBuilder, чтобы получать точные ограничения вашего виджета и создавать гибкие макеты. 🔹 LayoutBuilder помогает избежать распространённых ошибок, таких как "RenderBox was not laid out" и "BoxConstraints forces an infinite width/height". 🔹 Вы узнаете, как правильно использовать minWidth и minHeight, чтобы понять, насколько строги родительские виджеты в отношении размеров. 🔹 Статья также расскажет, где именно в дереве виджетов следует использовать LayoutBuilder, чтобы получить максимальную пользу. ✅ Не меняйте состояние внутри LayoutBuilder, чтобы не вызвать бесконечный цикл рендеринга. ✅ Не ожидайте, что LayoutBuilder исправит проблемы с родительскими виджетами, имеющими неограниченные размеры. ✅ Не выполняйте тяжёлые вычисления внутри LayoutBuilder, так как он пересоздаётся при изменении ограничений. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #LayoutBuilder #адаптивный_дизайн #Flutter_разработка

🤖 AI во Flutter: вайб-кодинг, агенты и будущее разработки — честный разговор в FL Dev Podcast Привет, Flutter-сообщество! 👋 Недавно вышел потрясающий подкаст, который стоит послушать каждому разработчику, следящему за трендами. Марк Абраменко, Стас Ильин и Евгений Сатуров обсуждают то, о чём сейчас говорят все: искусственный интеллект в нашей работе, вайб-кодинг и то, как это меняет правила игры. 🔹 О чём этот выпуск: 🚀 Вайб-кодинг: миф или реальность? • Что такое vibe coding на практике: не «пяткой по клавиатуре», а осознанное использование агентов • Реальный кейс: как Марк перевёл разработку своего стартапа на AI-инструменты • Почему во Flutter это работает иначе, чем в веб- или бэкенд-разработке 🧠 Агенты, MCP и обратная связь • Как нейросети учатся планировать свои действия и исправлять ошибки • Почему MCP (Model Context Protocol) — это пока «сырой», но перспективный протокол • Тесты, линтеры, сборка: как дать агенту обратную связь для улучшения кода 🎨 UI, анимации и «человеческий фактор» • Почему сложную вёрстку и анимации пока трудно доверить ИИ • Скриншот-тесты, девайс-специфичные баги и нетворкинг: что остаётся за разработчиком • Как Figma + MCP могут ускорить вёрстку, но не заменить понимание архитектуры 💼 Стартапы vs корпорации: разный подход к AI • Почему в стартапах вайб-кодинг приживается быстрее: скорость важнее идеального кода • Как в энтерпрайзе понятие «качества» диктует другие правила работы с агентами • Баланс между «сделать быстро» и «сделать правильно»: как найти золотую середину 🔧 Инструменты: Cursor, Claude Code, Copilot • Сравнение UX, лимитов и стоимости подписок • Почему важно не «прикипать» к одному инструменту и следить за рынком • Лайфхаки: как писать промты, чтобы получать рабочий код с первого раза 💡 Почему это видео стоит вашего времени:Честный разговор без хайпа и страха: разработчики делятся реальным опытом • Практические инсайты по внедрению AI в ежедневный workflow • Прогнозы и тренды — куда движется индустрия и как подготовиться • Мотивация без токсичности: AI не заменит вас, но изменит вашу работу 🎯 Кому будет особенно полезно: • Flutter-разработчикам, которые хотят эффективнее использовать AI-инструменты • Тем, кто сомневается: «А стоит ли вообще в это ввязываться?» • Стартаперам и тимлидам, ищущим способы ускорить разработку без потери качества • Всем, кто хочет понять: что реально работает сегодня, а что — просто шум 👉 Не откладывайте — переходите по ссылке, слушайте и делайте заметки! Этот выпуск может стать точкой опоры для вашего следующего профессионального рывка. 🚀✨ ▶️ Смотреть выпуск на YouTube 🔔 Подписывайтесь на @FlutterPulse, чтобы не пропустить обзоры полезных подкастов, уроков и интервью! 🔍 Ищите больше видео по тегу #FlutterPulseYoutube #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube

Самые лучшие обновлённые пакеты за последние 24 часа syncfusion_flutter_pdf 32.2.8 - пакет для работы с PDF в приложениях Flutter, включая создание, чтение, редактирование и защиту документов. В новой версии исправлена ошибка при доступе к закладкам PDF с пустым назначением. 👍 Лайки: 779, 📥 Скачиваний: 220К. https://pub.dev/packages/syncfusion_flutter_pdf csv 7.2.0 - библиотека для работы с CSV-файлами в Dart. В новой версии добавлена документация для доступа к полям CsvRow как к картам, а также добавлена функция decodeWithHeaders() для упрощения декодирования CSV-данных с заголовками. 👍 Лайки: 396, 📥 Скачиваний: 639К. https://pub.dev/packages/csv syncfusion_flutter_datepicker 32.2.8 - пакет для создания легких виджетов для выбора дат. Несмотря на то, что в этой версии нет изменений, пакет остается популярным: 1620 лайков и 188000 скачиваний! https://pub.dev/packages/syncfusion_flutter_datepicker syncfusion_flutter_charts 32.2.8 - пакет для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии нет изменений, но пакет по-прежнему остается популярным: 3610 лайков и 191000 скачиваний! https://pub.dev/packages/syncfusion_flutter_charts syncfusion_flutter_calendar 32.2.8 - пакет для создания календарей с различными представлениями. Лайков: 1560, Скачиваний: 55100. https://pub.dev/packages/syncfusion_flutter_calendar camera_android_camerax 0.7.1 - пакет для реализации камеры в Android-приложениях с помощью библиотеки CameraX. В этом обновлении удалены устаревшие ограничения против одновременного использования камеры в разных случаях. Пакет имеет 81 лайк и более 356 000 скачиваний. https://pub.dev/packages/camera_android_camerax FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_pdf #csv #syncfusion_flutter_datepicker #syncfusion_flutter_charts #syncfusion_flutter_calendar #camera_android_camerax

photo content

1. Курс Dart и Flutter вместе: переменные и их типы, поток, зоны видимости, папки и виджеты flutter В этом видео для Telegram-канала Flutter Pulse мы разберем основы Dart и Flutter, включая переменные и их типы, поток, зоны видимости, папки и виджеты. ✨ В первой части видео мы узнаем о переменных и их типах в Dart, а также о том, как они используются в Flutter. Мы рассмотрим различные типы переменных, такие как строки, числа, булевы значения и другие. 📚 Далее мы обсудим понятие потока в Dart и его роль в выполнении кода. Мы узнаем, как поток анализирует код и выполняет его поочерёдно. 💻 После этого мы перейдем к понятию зоны видимости в Dart и узнаем, как они влияют на доступность переменных в разных частях программы. 📁 Мы также рассмотрим структуру проекта Flutter и узнаем о различных папках и файлах, которые используются в нём. 🎨 Наконец, мы поговорим о виджетах в Flutter и узнаем, как они используются для создания пользовательского интерфейса. Смотреть видео 👉 Если вы хотите узнать больше о Dart и Flutter, то это видео для вас! Подпишитесь на наш канал и смотрите другие видео по #FlutterPulseYoutube! #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube

Обзор пакетов на тему Sensors sensors_plus 1.2.1 Пакет sensors_plus позволяет получить доступ к данным с акселерометра, гироскопа, магнитометра и барометра на устройствах Android, iOS, Web, macOS, Linux и Windows. Он поддерживает различные платформы и предоставляет удобный API для работы с датчиками. 👍 Лайки: 1000, 📥 Скачиваний: 331K 📅 Обновлено: 5 месяцев назад https://pub.dev/packages/sensors_plus ir_sensor_plugin 0.3.1 Пакет ir_sensor_plugin позволяет Flutter-приложениям использовать инфракрасный датчик на Android. Он поддерживает проверку наличия инфракрасного излучателя, получение поддерживаемых частот, установку частоты излучения и передачу инфракрасного сигнала по шаблону. 👍 Лайки: 34, 📥 Скачиваний: 406 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/ir_sensor_plugin carp_mobile_sensing 0.18.0 Пакет carp_mobile_sensing - это кроссплатформенный фреймворк для сбора данных с мобильных устройств на Flutter. Он позволяет собирать данные о шагах, освещении, событиях экрана, заряде батареи и многом другом. 👍 Лайки: 23, 📥 Скачиваний: 2.4M 📅 Обновлено: 2 месяца назад https://pub.dev/packages/carp_mobile_sensing light 5.0.0 Пакет light позволяет получать данные о свете окружающей среды на Android и iOS. Он использует Environment Sensors API на Android и SensorKit на iOS, и предоставляет удобный API для подписки на поток данных о свете. 👍 Лайки: 24, 📥 Скачиваний: 5.5K 📅 Обновлено: 7 дней назад https://pub.dev/packages/light flutter_compass 0.8.1 Пакет flutter_compass - плагин для создания компаса в ваших Flutter-приложениях для Android. Он позволяет получать направление от 0 до 360 градусов, где 0 - север. 👍 Лайки: 190, 📥 Скачиваний: 53.4K 📅 Обновлено: 15 месяцев назад https://pub.dev/packages/flutter_compass native_device_orientation 2.1.0 Пакет native_device_orientation позволяет получить реальную ориентацию устройства, а не просто ширину и высоту экрана. Это особенно полезно, когда вам нужно отличать ландшафт влево от ландшафта вправо. 👍 Лайки: 146, 📥 Скачиваний: 102K 📅 Обновлено: 2 месяца назад https://pub.dev/packages/native_device_orientation FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #sensors_plus #ir_sensor_plugin #carp_mobile_sensing #light #flutter_compass #native_device_orientation

Управление памятью и утечки памяти в Flutter: как избежать проблем Flutter-разработчики, вы когда-нибудь задумывались, как работает управление памятью в вашем приложении? Утечки памяти могут стать настоящей проблемой, если не понимать, как они возникают и как их предотвратить. В этой статье мы разберем основы управления памятью, расскажем о различиях между Stack и Heap памятью, а также о том, как возникают утечки памяти. Вы узнаете, как Dart Virtual Machine (VM) управляет памятью, и какие объекты могут стать причиной утечек. ✅ Основные темы статьи: 👉 Что такое управление памятью и как оно работает в Android и iOS ⚙️ Типы памяти: Stack и Heap 📌 Как возникают утечки памяти и как их предотвратить ✅ Примеры утечек памяти в Flutter, связанные с BuildContext и контроллерами 👉 Как использовать Flutter DevTools для обнаружения утечек памяти В статье вы найдете практические советы и примеры, которые помогут вам написать более эффективный и безопасный код. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #memoryleak #memorymanagement #performanceoptimization

Самые лучшие обновлённые пакеты за последние 24 часа syncfusion_flutter_charts 32.2.8 - пакет для создания красивых и анимированных графиков в приложениях Flutter. В новой версии нет изменений, но пакет по-прежнему остается популярным: 3610 лайков и 195000 скачиваний! 👍📈 https://pub.dev/packages/syncfusion_flutter_charts cloud_firestore 6.1.3 - пакет для работы с облачной базой данных Firebase Firestore. Исправлены проблемы с линтером. Пакет имеет 3760 лайков и более 848000 скачиваний. 👍📈 https://pub.dev/packages/cloud_firestore firebase_messaging 16.1.2 - пакет для интеграции Firebase Cloud Messaging в приложения Flutter. Теперь с обновленной зависимостью. Уже 3900 лайков и 1 630 000 скачиваний! 📱👍 https://pub.dev/packages/firebase_messaging firebase_analytics 12.1.3 - пакет для сбора аналитических данных в приложениях Flutter. Исправлена ошибка с обработкой hashedPhoneNumber на iOS. Пакет имеет 1290 лайков и более 1 370 000 скачиваний. 📊👍 https://pub.dev/packages/firebase_analytics firebase_messaging_web 4.1.3 - пакет для реализации Firebase Cloud Messaging в веб-приложениях. Теперь с обновленной зависимостью. Лайков: 28, Скачиваний: 1 620 000. 📱👍 https://pub.dev/packages/firebase_messaging_web Rive 0.14.4 - runtime-библиотека для создания интерактивных дизайнов в приложениях Flutter. В новой версии обновлен C++ runtime и рендерер, добавлена поддержка Linux и исправлены различные ошибки. Пакет имеет 1920 лайков и более 351 000 скачиваний. 🎨👍 https://pub.dev/packages/rive FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_charts #cloud_firestore #firebase_messaging #firebase_analytics #firebase_messaging_web #Rive

photo content

💭 Понимание параметра dirty в Flutter 🤔 Привет, друзья! Сегодня мы поговорим о параметре dirty у элемента во Flutter. 📱 Согласно официальной документации Flutter, виджет представляет собой конфигурацию, которая описывает, как именно должен выглядеть интерфейс. А вот элемент представляет конкретный виджет в определенном положении в дереве и отвечает за его жизненный цикл и состояние. 🌟 А dirty представляет собой индикатор состояния элемента. Он явно говорит — тут требуется перестроение. 🔄 По умолчанию dirty всегда false. Изменение значения флага наглядно можно увидеть на примере StatefulWidgeta. Допустим, нам надо обновить его состояние, и мы вызываем метод setState(). Посмотрим, что он делает под капотом.

@protected
void setState(VoidCallback fn) {
   ...
   _element!.markNeedsBuild();
}
После ряда проверок выполняется вызов метода markNeedsBuild(). Внутри него выполняется проверка: помечался ли ранее элемент для ребилда. Если не был, то он помечается и помещается в список dirty элементов.

void markNeedsBuild() {
  ...  
  if (dirty) {
    return;
  }
  _dirty = true;
  owner!.scheduleBuildFor(this);
}
И здесь очень хорошо видно — на самом деле setState() не запускает моментальное перестроение виджета. Он лишь ставит элемент в очередь. А уже в следующем кадре Flutter обработает список dirty-элементов и перестроит их точечно. 📈 Со Stateful-виджетами в целом понятно, а что с Stateless? Тут тоже ничего сложного. Хотя у виджета и нет своего состояния, но он все же может быть перестроен по ряду причин. Например, если обновился непосредственный родитель: его метод build() выполнится заново и создаст новые конфигурации дочерних виджетов. Если конфигурация Stateless-виджета изменилась, его элемент будет обновлен и отмечен, как требующий перестроения. Другой вариант — если виджет зависит от InheritedWidget, который обновился. В этом случае соответствующий элемент также будет помечен как dirty и перестроен. Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly 💻📊👍

Новые пакеты за неделю material_segmented_list 1.0.0 Плагин для Flutter, который позволяет легко создавать сегментированные списки в стиле Material Design. Уже 6 лайков и 189 скачиваний! 👍 Лайки: 6, 📥 Скачиваний: 189 https://pub.dev/packages/material_segmented_list persistencestore 1.0.1 Пакет для создания приложений с устойчивостью к сетевым сбоям, обеспечивая кэширование, дедупликацию запросов и реактивные потоки. Уже 7 лайков и 94 скачивания! 👍 Лайки: 7, 📥 Скачиваний: 94 https://pub.dev/packages/persistencestore om_data_grid 1.0.2 Плагин для Flutter, который является высокопроизводительным и настраиваемым DataGrid для работы с большими наборами данных. Он включает в себя такие функции, как продвинутая фильтрация, группировка и визуализация данных. Лайков: 4 Скачиваний: 522 https://pub.dev/packages/om_data_grid tgbot 1.0.3 Пакет для создания Telegram-ботов, которые могут взаимодействовать с пользователями и использовать возможности искусственного интеллекта. Он поддерживает несколько провайдеров AI. Уже 384 скачивания и 1 лайк! 👍 Лайки: 1, 📥 Скачиваний: 384 https://pub.dev/packages/tgbot team_guard 1.0.4 Помогает командам обеспечивать соблюдение правил UI, блокируя определенные виджеты и классы и предлагая утвержденные замены. Уже 6 лайков и 210 скачиваний! 👍 Лайки: 6, 📥 Скачиваний: 210 https://pub.dev/packages/team_guard callbundle 1.0.5 Пакет для Flutter: родной интерфейс входящих и исходящих звонков. Поддерживает CallKit на iOS и TelecomManager + адаптивные уведомления на Android. Уже 363 скачивания и 2 лайка! 👍 Лайки: 2, 📥 Скачиваний: 363 https://pub.dev/packages/callbundle FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #material_segmented_list #persistencestore #om_data_grid #tgbot #team_guard #callbundle

photo content