es
Feedback
Flutter Pulse

Flutter Pulse

Ir al canal en Telegram

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

Mostrar más
1 021
Suscriptores
Sin datos24 horas
+17 días
Sin datos30 días
Archivo de publicaciones
Самые лучшие обновлённые пакеты за последние 24 часа firebase_messaging 15.2.1 Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995). 👍 Лайки: 3690, 📥 Скачиваний: 1.1M https://pub.dev/packages/firebase_messaging slang 4.12.1 Пакет slang - это решение для международализации (i18n) на основе JSON, YAML, CSV или ARB-файлов, обеспечивающее типобезопасность и минимум настройки. В новой версии добавлены возможности форматирования базового локализованного файла при запуске команды `slang normalize`, а также форматирования YAML-файлов, как в Weblate. Пакет имеет более 104 000 скачиваний и 735 лайков. https://pub.dev/packages/slang qlevar_router 1.12.1 Этот пакет помогает управлять маршрутизацией и навигацией в проектах Flutter. В новой версии улучшен QRouterDelegate с декодированием конфигурации для обработки глубоких ссылок. Пакет имеет 163 лайка и 1260 скачиваний. https://pub.dev/packages/qlevar_router material_symbols_icons 4.39.0 Этот пакет используется для интеграции официальных Material Symbols Icons в приложения Flutter. В новой версии добавлена поддержка переменных шрифтов Material Symbols Icons версии 4.39 для стилей outline, rounded и sharp. Пакет имеет более 4177 иконок, поддержку языков с правым направлением письма и автоматическое зеркалирование иконок. Кроме того, доступна метаданные иконок, включая категории, теги и информацию о популярности. Пакет имеет более 143 000 скачиваний и 282 лайка! https://pub.dev/packages/material_symbols_icons phone_numbers_parser 9.0.19 Пакет phone_numbers_parser, используемый для парсинга телефонных номеров, обновлён до версии 9.0.19. В этом обновлении обновлены метаданные. Пакет имеет 265 лайков и более 158 000 скачиваний. https://pub.dev/packages/phone_numbers_parser Tostore 3.0.2 Tostore - высокопроизводительный движок хранилища для распределенных баз данных векторных данных в экосистеме Dart/Flutter. Он обеспечивает бесшовную поддержку всех платформ, нейронно-подобную распределенную архитектуру и параллельную обработку. В новой версии добавлена поддержка внешних ключей, атомарные операции обновления выражений, поддержка шифрования AES и многое другое. Лайков: 116 Скачиваний: 465 000 https://pub.dev/packages/tostore pretty_qr_code 3.6.0 Этот пакет позволяет создавать высоко настраиваемые QR-коды в приложениях Flutter. В новой версии добавлена возможность настройки границ для форм QR-кодов, оптимизировано отображение простых форм и добавлена поддержка пользовательских клипперов для встроенных изображений. Пакет имеет более 95 700 скачиваний и 551 лайк на pub.dev. https://pub.dev/packages/pretty_qr_code FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #slang #qlevar_router #material_symbols_icons #phone_numbers_parser #Tostore #pretty_qr_code

photo content

Обзор пакетов на тему Drawing, Painting & Signature Syncfusion Flutter SignaturePad 32.1.25 Syncfusion Flutter SignaturePad — это мощная библиотека, которая позволяет легко захватить гладкие, реалистичные подписи с помощью сенсорного, перового или мышиного ввода. Подписи можно сохранять как изображения и синхронизировать их на устройствах и документах. 👍 Лайки: 303, 📥 Скачиваний: 158K 📅 Обновлено: 4 дня назад https://pub.dev/packages/syncfusion_flutter_signaturepad Flutter Painter v2.1.0+1 Flutter Painter — это пакет для рисования в Flutter, который позволяет создавать свои собственные рисунки, добавлять текст, формы и изображения. 👍 Лайки: 76, 📥 Скачиваний: 470 📅 Обновлено: 12 месяцев назад https://pub.dev/packages/flutter_painter_v2 Flutter Drawing Board 1.0.1+2 Flutter Drawing Board — это мощный и настраиваемый пакет для Flutter, который позволяет создавать интерактивные доски для рисования с продвинутыми функциями. 👍 Лайки: 0, 📥 Скачиваний: 8.4K 📅 Обновлено: 11 дней назад https://pub.dev/packages/flutter_drawing_board perfect_freehand 2.5.2+1 perfect_freehand — это пакет для Flutter, который позволяет рисовать идеальные линии с учетом давления. 👍 Лайки: 183, 📥 Скачиваний: 10.8K 📅 Обновлено: 4 дня назад https://pub.dev/packages/perfect_freehand signature 6.3.0 signature — это пакет для Flutter, который предоставляет высокопроизводительный canvas для подписей с настройками стиля, границ и начального состояния. 👍 Лайки: 650, 📥 Скачиваний: 151K 📅 Обновлено: 7 месяцев назад https://pub.dev/packages/signature hand_signature 3.1.0+2 hand_signature — это плагин для Flutter, который предоставляет Signature Pad для рисования гладких подписей. 👍 Лайки: 300, 📥 Скачиваний: 10.2K 📅 Обновлено: 6 месяцев назад https://pub.dev/packages/hand_signature FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #SyncfusionFlutterSignaturePad #FlutterPainter #FlutterDrawingBoard #perfectfreehand #signature #hand_signature

Gradle Made Simple: Основы Gradle для Flutter-разработчиков Вы устали от ошибок и непонятных логов при сборке Android-приложений на Flutter? Давайте разберемся с Gradle вместе! В этой статье вы узнаете, что такое Gradle, как он работает и какие основы должен знать каждый Flutter-разработчик. Автор статьи простым языком объясняет сложные концепции, делится своим опытом и рассказывает, как настроить Gradle для вашего проекта. Вы узнаете о двух build.gradle файлах, их назначении и ключевых полях, таких как compileSdkVersion, minSdkVersion и applicationId. 🇷🇺 Читать статью на русском 🇬🇧 Read the article in English 🌐 Читать оригинал Напишите в комментариях, понравилась ли вам эта рубрика! FlutterPulse — канал о мире Flutter! #FlutterPulseMedium ✨ #flutter #dart #gradle #android #FlutterPulse #FlutterDev #MobileDev #DevTips

Самые лучшие обновлённые пакеты за последние 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 💻📱🎉