fa
Feedback
Flutter Pulse

Flutter Pulse

رفتن به کانال در Telegram

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

نمایش بیشتر
1 019
مشترکین
-124 ساعت
+17 روز
-230 روز
آرشیو پست ها
Самые лучшие обновлённые пакеты за последние 24 часа analyzer_plugin 0.14.2 - плагин для создания плагинов для сервера анализа, теперь требует версию 10.0.2 пакета analyzer. Лайков: 45, Скачиваний: 999000. Подробнее: https://pub.dev/packages/analyzer_plugin 👍 analyzer 10.0.2 - пакет для статического анализа кода на Dart. В новой версии сделаны внутренние изменения. Лайков: 314, Скачиваний: 7 620 000. Подробнее: https://pub.dev/packages/analyzer 👍 flutter_background_geolocation 5.0.4 - плагин для отслеживания местоположения устройства в фоновом режиме. В новой версии исправлена ошибка в парсинге состояния. Лайков: 829, Скачиваний: 42 400. Подробности: https://pub.dev/packages/flutter_background_geolocation 📍 lints 6.1.0 - официальный набор правил линтера для языка Dart. В новой версии добавлены два новых правила. Лайков: 260, Скачиваний: 4 300 000. Подробнее: https://pub.dev/packages/lints 👍 record 6.2.0 - плагин для записи аудио с микрофона. В новой версии улучшена конвертация байтов в int16 и добавлена поддержка AAC/ADTS стриминга на iOS и macOS. Лайков: 858, Скачиваний: 343 000. Подробнее: https://pub.dev/packages/record 🎙️ FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #analyzer_plugin #analyzer #flutter_background_geolocation #lints #record

photo content

Разбираемся с Gradle в Flutter: полное руководство по решению проблем сборки Android Вы когда-нибудь сталкивались с ошибками сборки Android-проекта во Flutter, которые заставляли вас долго ломать голову? Gradle-related issues - одна из самых частых проблем, с которыми сталкиваются Flutter-разработчики, особенно новички. В этой статье мы подробно рассмотрим, что такое Gradle, почему возникают ошибки и, самое главное, как их исправить раз и навсегда. Вы узнаете о ключевых файлах конфигурации, таких как gradle-wrapper.properties, settings.gradle и build.gradle, и о том, как обновлять версии Gradle и Android Gradle Plugin (AGP). Кроме того, в статье будут представлены распространенные ошибки и способы их решения, а также лучшие практики для обновления и поддержки вашего проекта. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #android #gradle #agp #buildissues #mobiledevelopment #programming #softwaredevelopment

Offstage: пререндеринг без боли. 👣 Во Flutter, где каждое изменение состояния может запускать перестроение дерева виджетов, управление производительностью часто сводится к искусству скрытия. Не буквального, а архитектурного. Когда перед нами встает задача заранее подготовить сложный фрагмент интерфейса, но не показывать его немедленно, на помощь приходит неочевидный, но мощный виджет Offstage. Ключевое отличие Offstage от Visibility с флагом visible: false или условного оператора (if (condition) Widget()) - в его отношении к дереву. Когда вы оборачиваете виджет в Offstage(offstage: true), происходит следующее: 🔵 Виджет физически исключается из процесса лейаута (layout). Система его не измеряет и не размещает, как если бы его не существовало. 🔵 Виджет остается активной частью дерева виджетов. Его состояние (State), контроллеры анимаций (AnimationController), подписки (StreamSubscription, Listenable) продолжают жить и работать. 🔵 Виджет не отрисовывается (не вызывает paint). Это экономит вычислительные ресурсы GPU. Этот принцип «жить, но не мешать» создает уникальные возможности. Ключевые сценарии применения: 🔹 Пребилдинг ресурсоемких экранов и вкладок. 🔹 Сложные, готовые к показу модальные окна или меню. 🔹 Управление жизненным циклом для оптимизации. Технические нюансы и ограничения: 🔵 Размер. 🔵 Не для всего. 🔵 Альтернатива IndexedStack. Пример - быстрое переключение вкладок:

Stack(
  children: [
    Offstage(
      offstage: _currentTab != 0,
      child: SettingsScreen(), // Живое состояние
    ),
    Offstage(
      offstage: _currentTab != 1,
      child: ProfileScreen(), // Контроллеры активны
    ),
  ],
)
💡 Вывод: Offstage - это не просто скрытие виджета. Он сохраняет его состояние и ресурсы, предотвращая пересоздание. Используйте его для пребилдинга вкладок, сохранения анимаций и быстрых переходов. Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter

Прокачиваем взаимодействие с пользователем в Flutter! 🚀 Сегодня мы поговорим о некоторых классных инструментах, которые помогут вам сделать ваше приложение более удобным и интересным для пользователей 🤩. Во-первых, есть Dismissible, который позволяет легко реализовать логику swipe-to-delete 📝. Например:

Dismissible(
  key: Key(item.id),
  background: Container(color: Colors.red),
  onDismissed: (direction) => deleteItem(item.id),
  child: ListTile(
    title: Text("Swipe me to delete"),
  ),
)
Во-вторых, есть Tooltip, который показывает краткую подсказку при долгом нажатии (mobile) или наведении (web/desktop) 💡. Например:

Tooltip(
  message: "Download PDF",
  child: IconButton(
    icon: Icon(Icons.download),
    onPressed: () {},
  ),
)
В-третьих, есть Draggable, который подходит, чтобы реализовать drag-and-drop, как в Trello или корзине интернет-магазина 🛍. Например:

Draggable<Color>(
  data: Colors.blue,
  feedback: Container(
    height: 100,
    width: 100,
    color: Colors.blue.withOpacity(0.5),
  ),
  childWhenDragging: Container(
    height: 100,
    width: 100,
    color: Colors.grey,
  ),
  child: Container(
    height: 100,
    width: 100,
    color: Colors.blue,
  ),
);
И, наконец, есть ReorderableListView, который идеально подходит для настроек, плейлистов и любых кастомных списков 📝. Например:

ReorderableListView(
  onReorder: (oldIndex, newIndex) {
    setState(() {
      if (newIndex > oldIndex) newIndex -= 1;
      final item = list.removeAt(oldIndex);
      list.insert(newIndex, item);
    });
  },
  children: list
      .map(
        (item) => ListTile(
          key: ValueKey(item),
          title: Text(item.toString()),
        ),
      )
      .toList(),
);
Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga

Обзор пакетов на тему Chat Stream Chat Flutter SDK 10.0.0 Этот официальный пакет для Flutter позволяет легко интегрировать чат в ваши приложения. Он предлагает широкий спектр функций для создания полноценного чата в приложениях. 👍 Лайки: 38.3K, 📥 Скачиваний: 14.6K 📅 Обновлено: 41 час назад https://pub.dev/packages/stream_chat_flutter Stream Chat Dart Client 10.0.0 Этот официальный клиент для Dart позволяет легко интегрировать чат в ваши приложения, поддерживая Flutter, мобильные и веб-приложения. Он предлагает простой и эффективный способ добавить чат в ваши проекты. 👍 Лайки: 70, 📥 Скачиваний: 16.6K 📅 Обновлено: 41 час назад https://pub.dev/packages/stream_chat extended_text_library 12.0.1 Этот пакет для Flutter расширяет возможности стандартного текста, позволяя создавать текст с встроенными изображениями, упоминаниями и настраиваемым фоном. Он предлагает широкие возможности для кастомизации текста в ваших приложениях. 👍 Лайки: 30, 📥 Скачиваний: 242K 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/extended_text_library chat_bubbles 1.8.0 Этот пакет для Flutter позволяет легко создавать красивые пузыри чата, похожие на WhatsApp и другие мессенджеры. Он включает в себя пузыри для текста, аудио и изображений, а также другие полезные функции. 👍 Лайки: 555, 📥 Скачиваний: 10.9K 📅 Обновлено: 12 дней назад https://pub.dev/packages/chat_bubbles Flyer Chat 2.11.1 Этот открытый пакет для создания чатов в Flutter поддерживает любые бэкенды, легко настраивается и оптимизирован для производительности. Он предлагает широкий спектр функций для создания полноценного чата в приложениях. 👍 Лайки: 1600, 📥 Скачиваний: 63.7K 📅 Обновлено: 49 дней назад https://pub.dev/packages/flutter_chat_ui ChatView 3.0.0 Этот пакет для Flutter позволяет легко интегрировать в приложения настраиваемый интерфейс чата с гибкой интеграцией бэкенда. Он поддерживает списки чатов, индивидуальные и групповые чаты, реакции на сообщения и многое другое. 👍 Лайки: 640, 📥 Скачиваний: 1.2K 📅 Обновлено: 42 дня назад https://pub.dev/packages/chatview FlutterPulse — канал о мире Flutter! &nbsp;&nbsp;&nbsp;&nbsp; #flutter #dart #pubdev #flutterpulse #StreamChatFlutterSDK #StreamChatDartClient #extended_text_library #chat_bubbles #FlyerChat #ChatView

👣 Как виджеты AbsorbPointer и IgnorePointer управляют поведением интерфейса. 🤔 В арсенале Flutter-разработчика есть десятки виджетов для построения визуала, но ключевое качество современного интерфейса - не только красота, но и его предсказуемое поведение 📈. Как элегантно запретить двойное нажатие на кнопку, сделать слайдер только для чтения или временно приостановить все жесты в сложной форме? 🤷‍♂️ Для этих задач существуют специальные виджеты-контроллеры, которые оставаясь невидимыми, кардинально меняют логику взаимодействия 🔮. Сегодня разберем двух таких стражей порядка: AbsorbPointer и IgnorePointer 🚀. AbsorbPointer - полная блокировка: это стена 🚧. Когда absorbing: true, все касания останавливаются на этом виджете 🛑. События не проходят к дочерним виджетам и не ищут другие цели 🔍. Пример: кнопка отправки формы 📝. Нужно заблокировать ее во время загрузки, но оставить видимой с анимацией 🔄:

AbsorbPointer(
  absorbing: isLoading,
  child: ElevatedButton(...),
)
IgnorePointer - сквозное игнорирование: это невидимка 🔮. При ignoring: true виджет пропускает события сквозь себя 🔁. Hit-тестирование продолжается, события могут попасть в виджеты ниже 🔝. Пример: полупрозрачный баннер поверх карты 🗺. Баннер виден, но карта остается интерактивной 📍:

Stack(
  children: [
    InteractiveMap(),
    IgnorePointer(
      child: PromoBanner(),
    ),
  ],
)
Главное отличие: 🔵 AbsorbPointer: события не проходят вообще 🚫. 🔵 IgnorePointer: события проходят сквозь к виджетам позади 🔜. Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #mobiledevelopment #uxdesign

Освоение навигации назад в Flutter: почему back_button_interceptor лучше, чем PopScope Вы когда-нибудь сталкивались с проблемами при обработке кнопки "Назад" в Android при разработке Flutter-приложений? Когда приложение становится сложнее, стандартный PopScope начинает казаться ограниченным. В этой статье рассматривается пакет back_button_interceptor, который предлагает глобальный, гибкий и приоритетный контроль над поведением кнопки "Назад" во всём приложении. Вы узнаете, чем он отличается от PopScope, когда его использовать и как он может упростить навигацию в вашем приложении. Основное внимание уделяется сравнению PopScope и back_button_interceptor, а также примерам использования последнего для более сложной навигации, включая вложенные навигаторы и вкладки. Вы увидите, как back_button_interceptor позволяет добавлять несколько обработчиков с приоритетом и управлять ими динамически. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #backbutton #navigation

👣 Троян в assets: как хакеры меняют ваше Flutter-приложение без исходного кода. 🚨 Когда мы говорим о безопасности мобильных приложений, первое, что приходит в голову - защита исходного кода, обфускация, шифрование API-ключей. Но есть менее очевидный вектор атаки, который многие упускают из виду: ресурсы приложения. Те самые изображения, JSON-файлы, HTML-шаблоны и конфигурации, которые лежат в папке assets и кажутся безобидными. На самом деле они могут стать троянским конем, превращающим ваше приложение в инструмент мошенников без единого изменения в коде на Dart. Представьте стандартный процесс публикации Flutter-приложения. Вы собираете APK или AAB, подписываете его и отправляете в магазин. Но что происходит с этим APK после сборки? Любой человек может скачать ваше приложение, выполнить несколько команд:

# Извлекаем ресурсы
apktool d yourapp.apk

# Редактируем файлы в папке assets/
# ...
# Перепаковываем
apktool b yourapp -o modified.apk

# Подписываем (да, даже без вашего ключа!)
zipalign -v 4 modified.apk aligned.apk
apksigner sign --ks fake.keystore aligned.apk
И вот уже существует модифицированная версия вашего приложения, которая выглядит и работает так же, но содержит измененные ресурсы. Этот APK может распространяться через сторонние магазины, мессенджеры или фишинговые сайты. Сценарии, которые уже происходят: - WebView становится оружием: Вы используете локальный HTML-файл для отображения справки или условий использования. Кажется безопасным? Хакер заменяет ваш help.html на страницу с фишинговой формой входа, которая крадет логины и пароли пользователей. При этом адресная строка показывает file:///android_asset/help.html - выглядит доверительно. - Конфигурация как бэкдор: Приложение загружает настройки из config.json. В оригинале там безобидные цвета и тексты. После замены в конфиге появляются:

{
  "api_endpoint": "https://malicious-server.com/collect",
  "enable_debug": true,
  "disable_ssl_checks": true
}
Теперь ваше приложение отправляет все данные на сервер злоумышленника и отключает проверки безопасности. - Кража ключей, которые «никто не найдет»: Вы положили Firebase-ключ или токен Stripe в assets/secrets.json, решив, что «это же не в коде». Хакер извлекает APK, находит файл за 30 секунд и получает доступ к вашей инфраструктуре. Защита - многослойный подход: - Минимизация ущерба: Первый и главный принцип: не храните в ресурсах того, что можно не хранить. Конфигурации должны приходить с защищенного бэкенда. Ключи API - использовать через нативные хранилища или серверные прокси. Если ресурс не критичен для безопасности - проблема отпадает сама собой. - Верификация целостности: Для ресурсов, которые действительно должны быть локальными, добавьте проверку контрольных сумм:

import 'package:crypto/crypto.dart';
import 'dart:convert';

Future<bool> verifyAsset(String assetPath, String expectedHash) async {
  final data = await rootBundle.load(assetPath);
  final bytes = data.buffer.asUint8List();
  final hash = sha256.convert(bytes).toString();
  return hash == expectedHash;
}
Храните хэши в нативной части приложения или получайте их с сервера при первом запуске. - Шифрование на лету: Критичные данные в ресурсах можно хранить в зашифрованном виде. Например, конфигурационный JSON шифруется AES на этапе сборки и расшифровывается только в памяти при запуске. Ключ шифрования не должен лежать в том же APK. Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #мобильнаябезопасность #fluttersecurity

Самые лучшие обновлённые пакеты за последние 24 часа Firebase Messaging Plugin for Flutter 15.2.1 Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995). 👍 Лайки: 3690, 📥 Скачиваний: 1.1M https://pub.dev/packages/firebase_messaging Stockholm 0.1.0 Этот пакет представляет собой коллекцию виджетов и тем для создания приложений с дизайном, похожим на Mac и Windows. В обновлении была проведена незначительная очистка кода. Пакет набрал 117 лайков и 5 скачиваний. https://pub.dev/packages/stockholm build_web_compilers 4.4.9 Этот пакет используется для компиляции кода Dart в JavaScript и WebAssembly для запуска в браузере. В новой версии обновлена минимальная зависимость от build_modules до 5.1.7. Лайков: 42 Скачиваний: 142 000 https://pub.dev/packages/build_web_compilers Flet 0.80.5 Теперь с поддержкой LaTeX в ft.Markdown и исправлением утечки памяти в веб-приложениях. Лайков: 80, Скачиваний: 7420. https://pub.dev/packages/flet async_redux 26.3.3 Пакет async_redux - это оптимизированная и переработанная версия Redux, предназначенная для управления состоянием приложений. В новой версии добавлена поддержка Claude Code Skills, которая позволяет разработчикам использовать async_redux с помощью ИИ-ассистентов. Лайков: 156, Скачиваний: 7100 https://pub.dev/packages/async_redux flutter_background_geolocation 5.0.3 Этот пакет используется для отслеживания местоположения устройства в фоновом режиме с учетом движения и экономией энергии. В новой версии добавлены защитные механизмы для обработки ложных данных о местоположении. Лайков: 829 Скачиваний: 41 600 https://pub.dev/packages/flutter_background_geolocation camera_android_camerax 0.6.29 Пакет camera_android_camerax используется для реализации камеры в Android-приложениях с помощью библиотеки CameraX. В новой версии исправлена логика определения направления объектива, теперь она запрашивает значение напрямую из CameraX. Пакет имеет более 191 000 скачиваний и 80 лайков. https://pub.dev/packages/camera_android_camerax FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #stockholm #build_web_compilers #flet #async_redux #flutter_background_geolocation #camera_android_camerax

photo content

Забудьте про Shimmer Widgets: Skeletonizer - умный способ загрузки UI в Flutter Flutter-разработчики, вы устали писать повторяющийся код для создания шиммер-эффектов на каждом экране вашего приложения? Теперь есть решение! В этой статье мы расскажем о Skeletonizer - библиотеке, которая автоматически превращает ваш существующий UI в скелетные загрузчики без дополнительных усилий. Вы узнаете, как Skeletonizer решает проблему дублирования кода, как использовать его для создания скелетных плейсхолдеров, и как настроить его под свои нужды. С помощью Skeletonizer вы сможете создавать скелетные загрузчики, используя ваш реальный UI, без необходимости писать фальшивые плейсхолдеры. Библиотека предоставляет различные возможности для настройки, включая разные эффекты, такие как ShimmerEffect, SolidEffect и PulseEffect. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #uiux #loadinganimation #skeletonizer #shimmer #flutterlibrary

Обзор пакетов на тему Machine Learning, OCR & Computer Vision face_camera 0.1.4 Этот Flutter-плагин для камеры обнаруживает лицо в реальном времени. Он позволяет легко интегрировать функции обнаружения лиц в ваши мобильные приложения. 👍 Лайки: 209, 📥 Скачиваний: 2.2K 📅 Обновлено: 15 месяцев назад https://pub.dev/packages/face_camera google_mlkit_commons 0.11.0 Этот пакет предоставляет общие методы для работы с Google ML Kit в Flutter. Он позволяет легко интегрировать мощные функции машинного обучения в ваши мобильные приложения. 👍 Лайки: 36, 📥 Скачиваний: 219K 📅 Обновлено: 10 месяцев назад https://pub.dev/packages/google_mlkit_commons google_mlkit_face_detection 0.13.1 Этот пакет позволяет использовать Google's ML Kit Face Detection для обнаружения лиц в изображениях, идентификации ключевых черт лица и получения контуров обнаруженных лиц. 👍 Лайки: 305, 📥 Скачиваний: 40.8K 📅 Обновлено: 10 месяцев назад https://pub.dev/packages/google_mlkit_face_detection google_ml_kit 0.20.0 Этот пакет позволяет использовать возможности ML Kit от Google в ваших Flutter-приложениях. Он поддерживает баркодирование, распознавание лиц, текста, объектов и многое другое. 👍 Лайки: 1180, 📥 Скачиваний: 7.1K 📅 Обновлено: 10 месяцев назад https://pub.dev/packages/google_ml_kit flutter_tesseract_ocr 0.4.30 Этот плагин позволяет использовать Tesseract OCR 4 в ваших Flutter-приложениях для Android, iOS и Web. Он поддерживает несколько языков и позволяет настраивать параметры распознавания. 👍 Лайки: 209, 📥 Скачиваний: 2.5K 📅 Обновлено: 4 месяца назад https://pub.dev/packages/flutter_tesseract_ocr google_mlkit_text_recognition 0.15.0 Этот пакет позволяет использовать Google ML Kit Text Recognition для распознавания текста в изображениях на Flutter. Поддерживает китайские, деванагари, японские, корейские и латинские символы. 👍 Лайки: 381, 📥 Скачиваний: 100K 📅 Обновлено: 10 месяцев назад https://pub.dev/packages/google_mlkit_text_recognition FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #face_camera #google_mlkit_commons #google_mlkit_face_detection #google_ml_kit #flutter_tesseract_ocr #google_mlkit_text_recognition

❄️ Январский дайджест FlutterPulse | нам 1 год! Пока за окном снег, мы врываемся в 2026 с первым дайджестом года — и сегодня особенный день: сегодня нашему каналу исполняется 1 год! 🎉 За год мы: 🚀 выросли до 900+ подписчиков 📰 сделали 2000+ постов 📦 нашли сотни полезных пакетов 📚 перевели десятки статей 🎬 сделали обзор на кучу видео из ютуба ⚡️ создали кучу годного (и не только) контента Спасибо, что вы с нами! И если читаете, но ещё не звали друзей — самое время звать в лучшее Flutter-сообщество 😉 А нас сегодня можно и нужно поздравлять в комментариях 🎂. Сам дайджест можно почитать здесь! Поддержать канал

Flutter Quill: Ультимативный редактор богатого текста для ваших приложений Flutter Хотите создать редактор текста, как в Notion или Google Docs, для своего Flutter-приложения? Flutter Quill - это мощный, настраиваемый и готовый к производству редактор богатого текста, который может стать вашим лучшим выбором! В этой статье мы рассмотрим возможности Flutter Quill, от установки до продвинутой настройки, и узнаем, как он может помочь вам создать редактор текста с широкими возможностями форматирования, встраиванием изображений и видео, и многим другим. Вы узнаете о ключевых особенностях, таких как поддержка WYSIWYG, JSON-based документная модель Quill Delta, настраиваемая панель инструментов и редактор, а также о том, как использовать Flutter Quill для создания редактора текста, готового к производству. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium #richtexteditor #texteditor #quill #FlutterQuill #wysiwyg #textformatting #embedblocks

Чистый код и высокая производительность: 4 инструмента для Flutter-разработчиков 🚀💻 Сегодня мы поговорим о четырёх инструментах, которые помогут вам писать чище код, избавляться от хардкода и не жертвовать производительностью 🤩. 1. LayoutBuilder работает с реальными ограничениями родительского виджета, чтобы интерфейс получился гибким и предсказуемым на любых устройствах 📱

LayoutBuilder(
  builder: (context, constraints) {
    if (constraints.maxWidth > 700) {
      return Row(
        children: [
          Sidebar(),
          Expanded(child: Content()),
        ],
      );
    }
    return Content();
  },
);
2. AnimatedSwitcher позволяет аккуратно анимировать переходы через fade, slide или scale и сразу делает интерфейс «дороже» 💸

AnimatedSwitcher(
  duration: Duration(milliseconds: 300),
  child: Text($count, key: ValueKey(count)),
);
3. TweenAnimationBuilder закрывает до 80% простых анимаций 🎥

TweenAnimationBuilder<double>(
  tween: Tween(begin: 0, end: progress),
  duration: Duration(milliseconds: 500),
  builder: (context, value, child) {
    return LinearProgressIndicator(value: value);
  },
);
4. RepaintBoundary изолирует часть UI и не дает ей перерисовываться без необходимости 🚫

RepaintBoundary(
  child: ExpensiveWidget(),
)
Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga 💻📱🎉

Самые лучшие обновлённые пакеты за последние 24 часа flutter_background_geolocation 5.0.2 - пакет для отслеживания местоположения устройства на фоне, с учетом экономии батареи и интеллектуального обнаружения движения. В новой версии исправлены ошибки на iOS и Android. 👍 Лайки: 829, 📥 Скачиваний: 40.6К https://pub.dev/packages/flutter_background_geolocation json_annotation 4.10.0 - плагин для поддержки аннотации JsonKey для параметров конструктора и добавления возможности создания JSON-схемы. Пакет имеет 1290 лайков и более 3.64 млн скачиваний. 👍 Лайки: 1290, 📥 Скачиваний: 3.64М https://pub.dev/packages/json_annotation json_serializable 6.12.0 - пакет для генерации кода для сериализации и десериализации JSON в Dart. Теперь поддерживает аннотацию JsonKey для параметров конструктора и добавляет поддержку для JsonSerializable с созданием JSON-схемы. 👍 Лайки: 3900, 📥 Скачиваний: 1.86М https://pub.dev/packages/json_serializable stream_chat_flutter 10.0.0 - пакет для создания чат-приложений с помощью сервиса Stream Chat. В новой версии исправлены ошибки и добавлены новые функции. 👍 Лайки: 383, 📥 Скачиваний: 13.7К https://pub.dev/packages/stream_chat_flutter splashscreen 2.0.0 - пакет для создания сплэш-экранов для приложений Flutter. В новой версии добавлена поддержка Dart 3 и обновлены ограничения для SDK Flutter. 👍 Лайки: 519, 📥 Скачиваний: 193 https://pub.dev/packages/splashscreen dart_style 3.1.5 - автоматический форматтер для кода на языке Dart. В новой версии добавлена поддержка будущей версии языка Dart 3.11. 👍 Лайки: 123, 📥 Скачиваний: 5.5М https://pub.dev/packages/dart_style FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_background_geolocation #json_annotation #json_serializable #stream_chat_flutter #splashscreen #dart_style

photo content

Автоматизируйте свой Flutter-проект с Figma Puller! Хотите, чтобы ваш Flutter-проект всегда соответствовал вашему дизайну в Figma? Figma Puller - это Dart-пакет, который позволяет получать design tokens и активы напрямую из Figma-файла и генерировать чистый Dart-код для использования в вашем приложении. Figma Puller соединяет Figma API с вашим Flutter-проектом, скачивает цветовые стили, иконки и метаданные дизайна, а затем генерирует Dart-файлы и хелперы для Flutter. Это позволяет использовать design tokens в коде так же легко, как вызывать AppColors.primaryBlue или AppIconWidgets.home(). Пакет автоматически обнаруживает изменения, пропускает неизмененные файлы и организует все в логические категории. В статье подробно описано, как Figma Puller извлекает цвета и иконки из Figma, генерирует константы и виджеты, а также как использовать пакет в вашем проекте. Вы узнаете, как настроить пакет, использовать CLI и интегрировать его в ваш CI/CD-пайплайн. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, чтобы подписчики оценили рубрику. FlutterPulse — канал о мире Flutter! #flutter #dart #figma #designtokens #flutterdev #flutterdevelopment #mobiledev #figmapuller #FlutterPulse #FlutterPulseMedium

Обзор пакетов на тему Animation & Transition Flutter Animate 4.5.2 Flutter Animate - мощная библиотека для создания анимаций в Flutter, с помощью которой можно легко добавить практически любые анимированные эффекты. Она имеет простой и единый API, без необходимости работать с AnimationController и StatefulWidget. 👍 Лайки: 4110, 📥 Скачиваний: 536K 📅 Обновлено: 14 месяцев назад https://pub.dev/packages/flutter_animate Animations 2.1.1 Animations - пакет с готовыми анимациями для Flutter, предлагающий высококачественные анимации для Material Design. Он включает в себя Container Transform, Shared Axis, Fade Through и Fade. 👍 Лайки: 6770, 📥 Скачиваний: 741K 📅 Обновлено: 2 месяца назад https://pub.dev/packages/animations animate_do 4.2.0 animate_do - пакет анимаций для Flutter, вдохновленный Animate.css, с новыми возможностями, такими как отсутствие зависимостей, совместимость с Dart 3 и Null-Safety, а также кроссплатформенность. 👍 Лайки: 4870, 📥 Скачиваний: 64.2K 📅 Обновлено: 11 месяцев назад https://pub.dev/packages/animate_do page_transition 2.2.1 page_transition - пакет, предоставляющий красивые переходы между экранами с простым в использовании API, включая 10+ готовых переходов и поддержку iOS-стиля свайпа назад. 👍 Лайки: 1570, 📥 Скачиваний: 210K 📅 Обновлено: 13 месяцев назад https://pub.dev/packages/page_transition Lottie 3.3.2 Lottie - мобильная библиотека, позволяющая отображать анимации, экспортированные из Adobe After Effects в формате JSON, с возможностью легкого использования, полного контроля и настройки. 👍 Лайки: 4510, 📥 Скачиваний: 1.07M 📅 Обновлено: 4 месяца назад https://pub.dev/packages/lottie Simple Animations 5.2.0 Simple Animations - пакет, упрощающий создание красивых анимаций в Flutter, предоставляющий простые виджеты для создания кастомных анимаций и легкое создание анимаций с задержкой. 👍 Лайки: 2000, 📥 Скачиваний: 53K 📅 Обновлено: 9 месяцев назад https://pub.dev/packages/simple_animations FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #FlutterAnimate #Animations #animate_do #page_transition #Lottie #SimpleAnimations