fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Flutter Pulse

Flutter Pulse

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

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

نمایش بیشتر
1 002
مشترکین
-124 ساعت
-77 روز
-430 روز
آرشیو پست ها
photo content

Обзор пакетов на тему Command Line (CLI) или Console 📊 Новости из мира Dart и Flutter: args 👍 410 лайков, 📥 8 950 000 скачиваний! Пакет args позволяет легко парсить аргументы командной строки в Dart. Поддерживает стиль опций GNU и POSIX. Обновлено 6 месяцев назад. https://pub.dev/packages/args 📅 Mason CLI 👍 391 лайк, 📥 25 000 скачиваний! Позволяет разработчикам создавать и использовать повторно используемые шаблоны для ускорения разработки. Обновлено 10 месяцев назад. https://pub.dev/packages/mason_cli 📅 completion 👍 51 лайк, 📥 4 059 999 скачиваний! Добавляет автодополнение команд в консольные приложения Dart. Обновлено 2 месяца назад. https://pub.dev/packages/completion 📅 DCli 👍 214 лайков, 📥 1.37M скачиваний! API и инструменты для создания кроссплатформенных командных приложений и скриптов на языке Dart. Обновлено 5 дней назад. https://pub.dev/packages/dcli 📅 cli_util 👍 84 лайка, 📥 4.49 млн скачиваний! Пакет для создания консольных приложений на Dart. Обновлён 11 месяцев назад. https://pub.dev/packages/cli_util 📅 Very Good CLI 👍 696 лайков, 📥 89 500 скачиваний! Инструмент для разработчиков на Dart и Flutter. Обновлено 41 день назад. https://pub.dev/packages/very_good_cli 📅 #args #mason_cli #completion #dcli #cli_util #very_good_cli #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages 🚀💻👍

Flutter-дайджест сентября 🌐 Сентябрь выдался ярким месяцем для Flutter-разработчиков: статьи на Хабре, новые пакеты и мощные обновления, разборы на YouTube и полезные советы для прокачки проектов 🚀 В дайджесте вы найдёте: 🎓 статьи с Хабра (RenderObject, CI/CD, хитрости релиза в сторы); 🎥 лучшие видео (FFI + Rust, Talker, сборка бинарников); 📦 топовые пакеты месяца (flutter_slidable, go_router, drift, flutter_map, Firebase и др.); 🆕 новые пакеты недели (bodychart_heatmap, fquery, isar_plus, loader_pro, cupertino_native); 💡 #FlutterPulseTips (кастомные переходы страниц, точный таймер, лайфхаки с формами). Полный обзор читайте 👉 здесь Давайте вместе вспомним что произошло за прошедший месяц #Flutter #Dart #FlutterPulse #PubDev #Хабр #MobileDev

Supabase: Привязка анонимного пользователя к аутентифицированному Анонимный пользователь - это действительно здорово. Вы автоматически создаете нового пользователя в своей базе данных каждый раз, когда кто-то впервые запускает ваше приложение. Затем вы можете позволить ему подписаться, начать работать с вашим приложением, не беспокоя его просьбой ввести email... А затем, когда он действительно вовлечется в процесс, вы можете привязать его учетную запись.


@override
Future<Credentials> signup(String email, String password) async {
  if (client.auth.currentUser?.isAnonymous == true) {
    // Обновляем анонимного пользователя с помощью email и password
    final res = await client.auth.updateUser(UserAttributes(email: email, password: password));
    if (res.user != null) {
      return Credentials(id: res.user!.id);
    } else {
      throw 'Ошибка при обновлении пользователя';
    }
  }
  return client.auth
      .signUp(email: email, password: password)
      .then(
        (value) => Credentials(id: value.user!.id),
        onError: (error) {
          Logger().e("Ошибка при регистрации: $error");
          throw SignupException();
        },
      );
}

Оцените новую рубрику и напишите свое мнение! 👍💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips #flutter #dart #flutterpulse #FlutterPulseTips #Supabase #MobileDev #AppDev #CodingTips #DevTips

Сегодня я хочу рассказать вам о пакете dart_frog, который упрощает создание роутингов для вашего бэкенда 🌐. Этот пакет автоматически генерирует код, что делает работу с запросами намного проще 🐸. Чтобы начать работу с dart_frog, вам нужно установить зависимость и использовать команды пакета 📦. Например, чтобы создать проект, используйте команду dart_frog build 🌟. Это создаст структуру проекта, включая DockerFile 📁. Основная логика обработки запросов в Dart Frog строится на маршрутах (routes) 🗺. Каждый маршрут соответствует определенному пути и методу HTTP, и чтобы его добавить, необходимо создать файл-обработчик в директории routes/ 📂. Вы также можете использовать middleware 🤖, чтобы добавить дополнительную логику к вашим маршрутам. Middleware реализуется как функция, которая оборачивает обработчик маршрута и возвращает новый обработчик с дополнительной логикой 🔄. Чтобы узнать больше о dart_frog и как его использовать, читайте полную статью по ссылке: https://t.me/flutterfriendly/233 📄. Не забудьте подписаться на канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter и Dart! 📣 #flutter #dart #flutterpulse 🚀💻👍

Самые лучшие обновлённые пакеты за последние 24 часа Firebase Messaging Plugin for Flutter 15.2.1 Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995). 👍 Лайки: 3690, 📥 Скачиваний: 1.1M https://pub.dev/packages/firebase_messaging Vania 1.1.0 Теперь с поддержкой валидации форм, вспомогательными методами для запросов и проверкой здоровья базы данных. Установите последнюю версию: https://pub.dev/packages/vania Лайков: 162, Скачиваний: 166 👍 shadcn_ui 0.33.0 Теперь вы можете расширять ShadTextTheme и ShadColorScheme с помощью пользовательских стилей и цветов. Узнайте больше: https://pub.dev/packages/shadcn_ui Лайков: 742, Скачиваний: 16.1К 📈 dart_pubspec_licenses 3.0.14 Этот пакет помогает собирать и собирать информацию о лицензиях OSS, используя pubspec.lock. В новой версии исправлена ошибка PathNotFoundException при обработке предварительных версий Flutter. Лайков: 2, Скачиваний: 238К https://pub.dev/packages/dart_pubspec_licenses 📊 adapty_flutter 3.11.2 Этот пакет используется для простой интеграции покупок внутри приложения в Flutter. Теперь с поддержкой Adapty Android SDK 3.11.1 и исправлением различных ошибок. Уже 7290 скачиваний и 107 лайков! https://pub.dev/packages/adapty_flutter 🛍️ build 4.0.1 В этом обновлении были внесены улучшения в dartdoc. Пакет build используется для написания кода генераторов, которые запускаются с помощью build_runner. Уже 4.7М скачиваний и 95 лайков! https://pub.dev/packages/build 📈 rive_native 0.0.12 Этот пакет используется для интеграции с ядром Rive C++ runtime и предоставляет более интуитивный API для работы с графикой Rive в Flutter. В обновлении исправлены ошибки, улучшена производительность и память, а также добавлены новые функции, такие как addAdvanceRequestListener. Лайков: 51 Скачиваний: 25.7К https://pub.dev/packages/rive_native 📊 #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #vania #shadcn_ui #dart_pubspec_licenses #adapty_flutter #build #rive_native

photo content

Сегодня мы поговорим об одном из самых популярных плагинов для Flutter-приложений - cached_network_image 📸. Этот плагин позволяет не только загружать и отображать изображения из сети, но и кэшировать их на устройстве 📁. Очень полезная функция, которая может улучшить производительность вашего приложения! 🚀 Как использовать cached_network_image? 🤔 Для начала, вам нужно добавить в верстку виджет CachedNetworkImage и передать ему ссылку на изображение в поле imageUrl 📝. Затем, вы можете настроить индикатор загрузки с помощью placeholder или progressIndicatorBuilder 📊. Также, не забудьте обработать ошибки с помощью errorWidget и errorListener 🚨. Управление кэшем 📁 - еще одна важная функция cached_network_image. Вы можете использовать cacheManager для очистки кэша, удаления или извлечения файлов из кэша 📝. И, если вам нужно больше контроля над кэшем, вы можете создать свой кастомный менеджер кэша 🤔. Хотите узнать больше? 🤔 Тогда перейдите по ссылке и прочитайте полную статью 📄. И, не забудьте подписаться на наш канал flutterpulse 📣, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 🚀 #flutter #dart #flutterpulse ❤️

Обзор пакетов на тему Dropdown 📦 Пакет DropDownSearchField (1.2.2) позволяет создавать автозаполняемые поля поиска с подсказками, которые отображаются по мере ввода текста. 👍 Лайки: 70, 📥 Скачиваний: 42.2К Последнее обновление 📅 22 дня назад https://pub.dev/packages/drop_down_search_field Пакет drop_down_list (2.0.0) предлагает удобный и настраиваемый виджет выпадающего списка для Flutter. 👍 Лайки: 337, 📥 Скачиваний: 3.6К Последнее обновление 📅 8 месяцев назад https://pub.dev/packages/drop_down_list Пакет MultiDropdown (3.0.1) позволяет легко управлять и искать несколько элементов в выпадающем списке. 👍 Лайки: 362, 📥 Скачиваний: 33.2К Последнее обновление 📅 13 месяцев назад https://pub.dev/packages/multi_dropdown Пакет cool_dropdown (2.1.1) предлагает кастомизируемый и анимированный дропдаун для ваших Flutter-приложений. 👍 Лайки: 206, 📥 Скачиваний: 2.4К Последнее обновление 📅 13 месяцев назад https://pub.dev/packages/cool_dropdown Пакет DropdownSearch (6.0.2) позволяет легко создавать реактивные выпадающие списки с функцией поиска. 👍 Лайки: 1930, 📥 Скачиваний: 239К Последнее обновление 📅 8 месяцев назад https://pub.dev/packages/dropdown_search Пакет Search Choices (2.3.1) - это высоконстраиваемый виджет для поиска в списках в диалоговых окнах или меню. 👍 Лайки: 6190, 📥 Скачиваний: 27.6К Последнее обновление 📅 9 месяцев назад https://pub.dev/packages/search_choices #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #dropdownsearchfield #drop_down_list #MultiDropdown #cool_dropdown #DropdownSearch #SearchChoices

Как задать высоту строки внутри колонки Привет, Flutter-разработчики! 👋 Сегодня мы рассмотрим интересную задачу: как правильно задать высоту строки (Row) внутри колонки (Column). Эта проблема часто возникает при создании адаптивных интерфейсов, и мы разберем, как ее решить с помощью виджета IntrinsicHeight. 📐 Проблема: 🤔 Когда вы пытаетесь разместить Row внутри Column и хотите, чтобы высота Row определялась максимальным размером дочерних элементов, вы можете столкнуться с ошибкой. Flutter требует, чтобы размеры виджетов были ограничены, а Row по умолчанию не имеет ограничений по высоте. Решение: 💡 Используйте виджет IntrinsicHeight в качестве родителя для Row. Этот виджет устанавливает высоту Row равной максимальному размеру его дочерних элементов.


@override
Widget build(BuildContext context) {
  return Scaffold(
    body: SafeArea(
      child: Column(
        children: [
          IntrinsicHeight( // Оберните Row в IntrinsicHeight
            child: Row(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.stretch,
              mainAxisSize: MainAxisSize.min,
              children: [
                Expanded(
                  flex: 2,
                  child: Container(
                    color: Colors.red,
                    padding: const EdgeInsets.all(32.0),
                    child: const Center(child: Text('Flex 2')),
                  ),
                ),
                Expanded(
                  flex: 1,
                  child: Container(
                    color: Colors.green,
                    padding: const EdgeInsets.all(32.0),
                    child: const Center(child: Text('Flex 1')),
                  ),
                ),
              ],
            ),
          ),
          Container(
            height: 100,
            color: Colors.blue,
            child: const Center(child: Text('Контейнер с фиксированной высотой')),
          ),
        ],
      ),
    ),
  );
}

Почему это работает? 🔍 - IntrinsicHeight определяет максимальную внутреннюю высоту дочерних элементов Row и применяет ее ко всем детям. - CrossAxisAlignment.stretch растягивает дочерние элементы на всю доступную высоту. - mainAxisSize: MainAxisSize.min устанавливает размер Row по основной оси в минимально необходимый. Вывод: 🎉 Использование IntrinsicHeight позволяет легко управлять размером Row внутри Column, делая ваш интерфейс гибким и адаптивным. Оцените эту рубрику и оставляйте свои комментарии! 💬 Все подобные советы вы можете найти по хэштегу #FlutterPulseTips. 👉 Оцените новую рубрику и подпишитесь на наш канал! 👍 #flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #FlutterTips #AppDevelopment #CodingTips

Привет, программисты! 🤩 Ты когда-нибудь сталкивался с конфликтами библиотек при разработке кроссплатформенных приложений? 🤔 Например, когда ты пытаешься использовать dart:io в веб-приложении или dart:web на мобильном устройстве? 📱👀 Это может привести к ошибкам и проблемам с компиляцией! 💣 Но не волнуйся, у нас есть решение! 🎉 Ты можешь использовать сторонние кроссплатформенные библиотеки, такие как cross_file, или делать условные импорты, чтобы подключать разные реализации под разные платформы. 📈 Например, с помощью cross_file ты можешь создать файловый пикер, который работает на всех платформах! 📁 Или, используя условные импорты, ты можешь подключать разные реализации для grpc в зависимости от платформы! 📊 Хочешь узнать больше? 🤔 Тогда перейди по ссылке и прочитай полную статью! 📚 И не забудь подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter и Dart! 📱💻 #flutter #dart #flutterpulse 🚀💥

Полный гайд по golden-тестам во Flutter: зачем нужны и как настроить 📚💻 Знакомьтесь с golden-тестами: автоматизируйте визуальное тестирование интерфейсов и ускорьте разработку 🚀! Golden-тесты - это инструмент для проверки внешнего вида ваших приложений и поддержания визуальной целостности 📊. Они особенно полезны для библиотек UI-компонентов, приложений со своей дизайн-системой и Backend Driven UI 📈. Но когда не стоит использовать golden-тесты? 🤔 Это UI с высокой изменчивостью, «сложные» компоненты и компоненты с анимациями или интерактивными переходами 🔄. Для решения проблемы платформозависимости в golden-тестировании можно использовать пакет alchemist 🧙‍♂️. Он улучшает процесс тестирования и позволяет писать эффективные golden-тесты для своих компонентов 📝. Кстати, golden_toolkit больше не поддерживается, поэтому переходите на alchemist для написания golden-тестов! 🚫 Узнайте, как писать golden-тесты для кнопок в Flutter с помощью Alchemist 📚, и как создавать golden-тесты для компонентов с разными темами и направлениями текста 🌈. Также, настройте CI для тестирования Flutter-приложений с помощью GitHub Actions 🚀. Golden-тесты - это мощный инструмент для автоматизации визуального тестирования и поддержания качества UI 💻. Итак, не забудьте прочитать статью по ссылке читать здесь, и узнайте, как настроить и использовать golden-тесты для обеспечения стабильности UI и защиты от регрессий 📊. #flutter #dart #flutterpulse #goldentests #alchemist #flutterpulse

Самые лучшие обновлённые пакеты за последние 24 часа flutter_riverpod 3.0.1 Плагин для реактивного кэширования и привязки данных, теперь ChangeNotifierProviderFamily доступен в legacy.dart, а также добавлена поддержка Dart 3.7.0. 👍 Лайки: 2750, 📥 Скачиваний: 2.7M https://pub.dev/packages/flutter_riverpod dart_frog 1.2.4 Быстрый и минималистичный фреймворк для создания бэкенда на Dart, теперь ещё быстрее благодаря оптимизации Request.read. 👍 Лайки: 814, 📥 Скачиваний: 26.3К https://pub.dev/packages/dart_frog hooks_riverpod 3.0.1 Теперь ChangeNotifierProviderFamily доступен в flutter_riverpod/legacy.dart, а также добавлена поддержка Dart 3.7.0. 👍 Лайки: 910, 📥 Скачиваний: 269К https://pub.dev/packages/hooks_riverpod Riverpod 3.0.1 Реактивный фреймворк для кэширования и привязки данных, облегчающий работу с асинхронным кодом, теперь поддерживает Dart 3.7.0 и async 2.12.0. 👍 Лайки: 3780, 📥 Скачиваний: 2.8M https://pub.dev/packages/riverpod riverpod_annotation 3.0.1 Пакет используется для аннотаций в riverpod_generator, теперь поддерживает Dart 3.7.0. 👍 Лайки: 160, 📥 Скачиваний: 830К https://pub.dev/packages/riverpod_annotation awesome_dialog 3.3.0 Пакет для создания простых и крутых диалогов в Flutter, в новой версии обновлены зависимости rive до версии 0.14.0-dev.8. 👍 Лайки: 1450, 📥 Скачиваний: 18.7К https://pub.dev/packages/awesome_dialog #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_riverpod #dart_frog #hooks_riverpod #Riverpod #riverpod_annotation #awesome_dialog

photo content

Привет, друзья! 👋 Сегодня мы поговорим об адаптивной верстке в мобильных приложениях 📱. Это очень важная тема, поскольку устройства пользователей могут быть абсолютно разными 🤯. Чтобы верстка не ломалась и не падала в ошибку, можно использовать 5 самых полезных и универсальных виджетов 🤩: 1. MediaQuery 📊 - для получения данных об устройстве. 2. OrientationBuilder 🔄 - для отслеживания ориентации экрана. 3. LayoutBuilder 📈 - для отслеживания изменений размеров родительского виджета. 4. AspectRatio 📐 - для задания соотношения сторон дочернему виджету. 5. ConstrainedBox 📦 - для ограничения размеров дочерних виджетов. И, конечно же, не забываем про базовые flex-виджеты - Flexible и Expanded 🤝. Хотите узнать больше? 🤔 Полная новость здесь, а все главные новости и обновлений из мира Flutter и Dart, конечно же на нашем канале flutterpulse 📣 💻 #flutter #dart #flutterpulse 💬 Делитесь своими советами по адаптивной верстке в комментариях! 💬

Обзор пакетов на тему IoT, Special Hardware & Chips 📢 Пакет easy_onvif (v3.1.3) позволяет интегрировать ONVIF-совместимые устройства в ваши приложения. Возможности: управление PTZ, пресетами, потоком видео и аудио, доступ к информации о устройстве и многое другое! 👍 37 лайков, 761 скачиваний. Обновлено 3 месяца назад. https://pub.dev/packages/easy_onvif 📈 #easy_onvif #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages ROHD: Новый фреймворк для разработки и верификации аппаратного обеспечения на Dart! Преимущества: мощный язык Dart, упрощает разработку и отладку валидационных тестов, легко интегрировать IP-компоненты и многое другое! 📈 18 лайков, 5530 скачиваний. https://pub.dev/packages/rohd 📅 #ROHD #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages nordic_dfu обновлен до версии 7.0.0! Теперь пакет поддерживает параллельное обновление прошивки на нескольких устройствах nrf51/nrf52 от Nordic Semiconductor. 👍 44 лайка, 2960 скачиваний. Обновлено 9 месяцев назад. https://pub.dev/packages/nordic_dfu 👍 #nordic_dfu #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages esp_smartconfig 3.0.0 - Dart-реализация EspTouch для настройки Wi-Fi устройств. 👍 45 | 📦 656 | 4 месяца назад https://pub.dev/packages/esp_smartconfig 📡 #esp_smartconfig #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages Flutter Hue 2.3.0: Управляйте Philips Hue из своего Flutter-приложения! Возможности: обнаружение мостов Hue, управление светильниками, работа с группами и многое другое! 👍 27 лайков, 319 скачиваний. Обновлено 6 месяцев назад. https://pub.dev/packages/flutter_hue 🚀 #FlutterHue #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages dart_periphery 0.9.19 - Dart-ported c-periphery для доступа к периферийным устройствам Linux! 🔌 GPIO, LED, PWM, SPI, I2C, MMIO и Serial. 📈 70 лайков, 6080 скачиваний. Обновлено 2 дня назад. https://pub.dev/packages/dart_periphery 📚 #dart_periphery #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages

Single execution Future Builder FutureBuilder с единственным выполнением FutureBuilder будет выполнять наше будущее при каждой пересборке. Если это будущее выполняет вызов API, это может быть дорогостоящим и перегружать наш бэкэнд. Мы предоставляем Future функцию, которая предотвращает повторное выполнение Future при каждой пересборке страницы.


typedef AsyncFutureBuilder<T> = Future<T> Function();

class SingleExecFutureBuilder<T> extends StatefulWidget {
  final AsyncFutureBuilder<T> future;
  final Widget Function(BuildContext context, T data) builder;

  const SingleExecFutureBuilder({
    super.key,
    required this.future,
    required this.builder,
  });

  @override
  State<SingleExecFutureBuilder<T>> createState() => _SingleExecFutureBuilderState<T>();
}

class _SingleExecFutureBuilderState<T> extends State<SingleExecFutureBuilder<T>> {
  T? _futureRes;
  late FutureState _futureState;

  @override
  void initState() {
    super.initState();
    _futureState = FutureState.pending;
  }

  Future<T?> executeFuture() async {
    if (_futureState == FutureState.pending) {
      try {
        _futureRes = await widget.future();
        _futureState = FutureState.done;
        return _futureRes;
      } catch (e) {
        _futureState = FutureState.error;
        rethrow;
      }
    }
    return _futureRes;
  }

  @override
  Widget build(BuildContext context) {
    return FutureBuilder<T>(
      future: executeFuture(),
      builder: (context, snapshot) {
        if (snapshot.connectionState != ConnectionState.done) {
          return const SizedBox.shrink();
        }
        return widget.builder(context, snapshot.data as T);
      },
    );
  }
}

enum FutureState { pending, done, error }

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


@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Padding(
      padding: const EdgeInsets.all(16),
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: [
          Text('Count: $count'),
          const SizedBox(height: 16),
          SingleExecFutureBuilder<String>(
            future: () async {
              print("Getting future once");
              await Future.delayed(const Duration(milliseconds: 1100));
              return "Hello";
            },
            builder: (context, data) => Text(data),
          ),
          const SizedBox(height: 16),
          ElevatedButton(
            onPressed: () {
              setState(() {
                count++;
              });
            },
            child: const Text('+'),
          ),
        ],
      ),
    ),
  );
}

Выполните этот код, и вы увидите "Getting future once" только один раз, вместо того, чтобы видеть это каждый раз, когда вы нажимаете кнопку "+". Оцените новую рубрику по Flutter советам! 👍💬 Нам важно ваше мнение, чтобы мы могли улучшать контент для вас! 😊👍 Все подобные новости можно найти по хэштегу #FlutterPulseTips #flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FutureBuilder #FlutterTips #CodingTips #AppDevelopment

Самые лучшие обновлённые пакеты за последние 24 часа nfc_manager 4.1.1 Плагин для Flutter, который предоставляет доступ к функциям NFC на Android и iOS. В обновлении исправлена проблема с ограничениями версии iOS SDK, вызванная добавлением NFCReaderError.Code. 👍 Лайки: 503, 📥 Скачиваний: 37.6К https://pub.dev/packages/nfc_manager injectable_generator 2.9.0 Плагин для генерации кода внедрения зависимостей в приложениях Dart и Flutter. Теперь с обновленными зависимостями и поддержкой Dart 3.8.0. 👍 Лайки: 126, 📥 Скачиваний: 577К https://pub.dev/packages/injectable_generator purchases_flutter 9.7.0 Клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter. В новой версии добавлена возможность установки ID пользователя PostHog, обновлены зависимости и исправлены некоторые ошибки. 👍 Лайки: 843, 📥 Скачиваний: 173К https://pub.dev/packages/purchases_flutter video_player_android 2.8.14 Плагин для воспроизведения видео на Android-устройствах. В новой версии переработана внутренняя логика создания и отслеживания плеера. 👍 Лайки: 30, 📥 Скачиваний: 3.04М https://pub.dev/packages/video_player_android injectable 2.5.2 Популярный пакет для внедрения зависимостей в приложениях Dart и Flutter. В новой версии обновлены ограничения для Dart до ">=3.8.0 <4.0.0". 👍 Лайки: 1400, 📥 Скачиваний: 643К https://pub.dev/packages/injectable #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #nfc_manager #injectable_generator #purchases_flutter #video_player_android #injectable

photo content

🎨 Vibe coding. Приложение для скрипинга с нуля. Часть 2 Продолжаем наше погружение в увлекательный мир vibe coding! 🚀 В этом выпуске Руслан берет нашу заготовку с рисованием линий и превращает ее в нечто по-настоящему волшебное. Хотели ли вы, чтобы ваш простой скетч превратился в полноценную, стилизованную картинку? Теперь это реальность! ✨ В этом выпуске вы увидите: 🔹 Как добавить кнопку «Сгенерировать» и реализовать логику захвата текущего рисунка 🔹 Работу с RepaintBoundary для преобразования canvas в изображение 🔹 Самое интересное — интеграцию с мощным AI Gemini от Google через REST API для генерации картинок! 🔹 Практические примеры: как простой набросок котика 🐱 превращается в крутой арт Это не просто теория — наш подписчик Руслан Цицер проходит каждый шаг, от настройки Dart defines для безопасного хранения API-ключа до обработки ответов от нейросети и отображения результата прямо в приложении. Хотите узнать, как опубликовать такое приложение или есть идеи для улучшения? Обязательно напишите об этом в комментариях! 💬 Смотрите видео здесь 👉 Vibe coding. Приложение для скетчей с нуля. Часть 2 Ищите другие полезные видео по хэштегу #FlutterPulseYoutube! #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #Refactoring #CleanCode #FlutterArchitecture #StatefulWidget #ComponentBasedUI #fluttertutorial #ffi #rust