en
Feedback
Flutter Pulse

Flutter Pulse

Open in Telegram

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

Show more
1 021
Subscribers
No data24 hours
No data7 days
-130 days
Posts Archive
🏗 Системы сборки и зависимости во Flutter: Гайд для собеседования Хотите блеснуть знаниями на интервью? Разбираем 8 ключевых вопросов по билдам, pubspec.yaml и оптимизации! 💼 🔹 1. Три режима сборки:Debug — hot reload, JIT, ассерты (для разработки) ✅ Profile — AOT + трассировка (для профилирования) ✅ Release — полная оптимизация, обфускация (для продакшена) 🔹 2. Зависимости в pubspec.yaml: 🔸 dependencies — входят в релиз (http, provider) 🔸 dev_dependencies — только для разработки (build_runner, test) 🔸 Версии фиксируются в pubspec.lock для консистентности 🔹 3. Билд-флейворы (Flavors): Создавайте dev/staging/prod версии из одного кода! flutter run --flavor dev --dart-define=ENV=dev 🔹 4. build_runner: Генерирует код автоматически: • JSON-сериализация (json_serializable) • DI (injectable) • Иммутабельные модели (freezed) • Роутинг (auto_route) Команда: flutter pub run build_runner build 🔹 5. Оптимизация сборки: ⚡️ Включите parallel builds и caching в gradle.properties ⚡️ Модуляризируйте проект на пакеты ⚡️ Минимизируйте плагины с нативным кодом ⚡️ Не делайте flutter clean без нужды 🔹 6. Конфликты зависимостей: Решения: 1. flutter pub upgrade 2. Проверка совместимости на pub.dev 3. dependency_overrides (крайний случай!) 4. Форк пакета с фиксом 🔹 7. pub get vs pub upgrade: 🟢 pub get — уважает lock-файл (для CI/CD) 🟡 pub upgrade — обновляет до макс. версий (для апдейтов) 🔹 8. Ассеты: • Declared в pubspec.yaml • Resolution-aware изображения (1.0x, 2.0x, 3.0x) • Загрузка через Image.asset() и rootBundle 🎯 Главный совет: Всегда коммитьте pubspec.lock в git для одинаковых сборок у всей команды! 🔗 Ссылки на материалы: Читать на русском языке Read in English Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium

Flutter GenUI: когда ИИ-агент собирает ваш интерфейс // Демо-занятие курса «Flutter-разработчик» Представьте себе мир, где UI больше не пишут – его генерируют 🤯. Это не фантастика, а реальность, которая уже наступает! 🚀 В 2026 году Flutter получил GenUI SDK – инструмент, позволяющий ИИ-агентам генерировать интерактивный UI в рантайме из каталога ваших виджетов. 📈 Разберём архитектуру A2UI-протокола, построим рабочее демо и обсудим, где это меняет правила игры. Что будет рассмотрено: • Архитектура GenUI SDK и A2UI-протокол: как LLM компонует интерфейс без генерации кода, оставаясь в рамках доверенного каталога виджетов 📚 • Практика: собираем приложение, в котором AI-агент создаёт формы, карточки и навигацию на лету – от схемы CatalogItem до streaming-рендеринга ⚡️ • Границы применимости: security model, latency, стоимость токенов и честный разговор о том, когда GenUI - оверинжиниринг 🔍 Кому будет интересно: • Flutter-разработчикам, которые хотят понять следующий эволюционный шаг фреймворка из официального роадмапа 2026 🚀 • Мобильным и фронтенд-инженерам, изучающим интеграцию LLM-агентов в пользовательские интерфейсы 🤖 • Тимлидам и архитекторам, оценивающим server-driven UI нового поколения для своих продуктов 📊 Смотрите видео на YouTube или VKVideo. 👉 Подпишитесь на наш канал и следите за новыми видео по хэштегу #FlutterPulseYoutube! 👉 #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube

Самые лучшие обновлённые пакеты за последние 24 часа Cue 0.1.5 - это пакет для создания физических анимаций в Flutter с помощью комposable и timeline-driven API. Он позволяет создавать полированные переходы, выразительные движения UI и многоразовые системы анимации без необходимости подключать императивные контроллеры к дереву виджетов. В новой версии добавлен CueFlexibleSpaceBar - анимированный обертка для FlexibleSpaceBar с движениями Cue. 👍 Лайки: 116, 📥 Скачиваний: 1.2К. https://pub.dev/packages/cue openai_dart 4.3.0 - это пакет, который позволяет использовать API OpenAI в приложениях на Dart и Flutter, включая генерацию текста, изображений, видео и аудио. В новой версии добавлена поддержка GPT Image 2, расширены возможности генерации изображений и добавлены новые константы для моделей изображений. Пакет имеет более 16 000 скачиваний и 126 лайков. https://pub.dev/packages/openai_dart shorebird_code_push 2.0.6 - это пакет, который позволяет мгновенно обновлять приложения Flutter без длительных циклов проверки в магазине приложений. В новой версии исправлены ошибки в методах checkForUpdate и update, а также добавлено предупреждение о потенциальных задержках при вызове этих методов. Пакет уже скачали более 127 000 раз и получил 475 лайков! https://pub.dev/packages/shorebird_code_push webview_flutter_wkwebview 3.24.4 - это плагин, который предотвращает вызовы сообщений при завершении работы приложения. Пакет имеет более 2,5 млн скачиваний и 49 лайков. https://pub.dev/packages/webview_flutter_wkwebview Forui 0.21.2 - это библиотека UI для Flutter, предоставляющая набор красиво оформленных и минималистичных виджетов. В новой версии исправлена ошибка с отображением лишней границы в FSelectMenuTile при использовании внутри FTileGroup. Пакет Forui имеет 377 лайков и 8170 скачиваний. https://pub.dev/packages/forui live_activities 2.4.9 - это пакет, используемый для создания динамических уведомлений и реализации функции Dynamic Island на iPhone. В этом обновлении улучшена логика инициализации. Пакет live_activities позволяет показывать динамические уведомления и реализовывать функцию Dynamic Island на устройствах iOS 16.1+ и Android API 24+. Он использует API ActivityKit для iOS и RemoteViews для Android. Подробнее о пакете: https://pub.dev/packages/live_activities. Статистика: 622 лайка, 30200 скачиваний. FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #Cue #openai_dart #shorebird_code_push #webview_flutter_wkwebview #Forui #live_activities

photo content

👣 Flutter: выносим бизнес-логику из BLoC в use-cases 🚀 При разработке Flutter-приложений паттерн BLoC часто становится всемогущим объектом, впитывающим всю бизнес-логику. Но что если мы можем вынести бизнес-логику в отдельные классы - use-cases? 🤔 Вместо того чтобы вызывать сервисы прямо внутри хендлеров BLoC, вся логика конкретного сценария (например загрузки товаров) выносится в отдельный класс. Use-case зависит от абстракций репозиториев и сервисов, но ничего не знает про UI. Он вызывает нужные зависимости, обрабатывает ошибки, выполняет side-эффекты и только после этого отправляет событие в BLoC. Сам BLoC превращается в тонкую прослойку: принимает события, обновляет состояние и больше ничего не делает. 📈 Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #cleanarchitecture #flutterdevelopment

👣 Flutter: выносим бизнес-логику из BLoC в use-cases 🚀 При разработке Flutter-приложений паттерн BLoC часто становится всемогущим объектом, впитывающим всю бизнес-логику. Но что если мы можем вынести бизнес-логику в отдельные классы - use-cases? 🤔 Вместо того чтобы вызывать сервисы прямо внутри хендлеров BLoC, вся логика конкретного сценария (например загрузки товаров) выносится в отдельный класс. Use-case зависит от абстракций репозиториев и сервисов, но ничего не знает про UI. Он вызывает нужные зависимости, обрабатывает ошибки, выполняет side-эффекты и только после этого отправляет событие в BLoC. Сам BLoC превращается в тонкую прослойку: принимает события, обновляет состояние и больше ничего не делает. 📈 Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #cleanarchitecture #flutterdevelopment

Обзор пакетов на тему Cache & Temporary Storage Cached 1.8.1 Этот пакет упрощает создание механизмов кэширования для классов Dart, используя алгоритм LRU. Он полезен для ограничения использования памяти и кэширования часто используемых данных или вызовов API. 👍 Лайки: 91, 📥 Скачиваний: 2.9K 📅 Обновлено: 5 месяцев назад https://pub.dev/packages/cached media_cache_manager 0.3.1 Пакет media_cache_manager для кэширования и шифрования медиафайлов теперь доступен. Этот пакет позволяет кэшировать файлы на определенный срок или навсегда, а также шифровать их с помощью AES. 👍 Лайки: 84, 📥 Скачиваний: 364 📅 Обновлено: 7 месяцев назад https://pub.dev/packages/media_cache_manager firestore_cache 2.19.0 Пакет firestore_cache для Flutter теперь доступен. Этот плагин позволяет читать документы из кэша, прежде чем обращаться к серверу Firestore. 👍 Лайки: 107, 📥 Скачиваний: 1.2K 📅 Обновлено: 2 дня назад https://pub.dev/packages/firestore_cache Cached Query 3.5.1 Пакет Cached Query обновлен до версии 3.5.1. Этот пакет позволяет кэшировать ответы асинхронных функций, обычно внешних запросов API, для быстрого и отзывчивого пользовательского опыта. 👍 Лайки: 97, 📥 Скачиваний: 9.3K 📅 Обновлено: 45 дней назад https://pub.dev/packages/cached_query http_cache_hive_store 5.1.0 Новая версия пакета http_cache_hive_store доступна. Этот пакет используется для реализации кэша Hive для dio и http. 👍 Лайки: 6, 📥 Скачиваний: 24K 📅 Обновлено: 31 день назад https://pub.dev/packages/http_cache_hive_store Neat Cache 2.0.5 Пакет Neat Cache - абстракции для кэшей в памяти, таких как Redis, с таймаутами и автоматическим переподключением. Используется для упрощения работы с кэшами. 👍 Лайки: 28, 📥 Скачиваний: 11.4K 📅 Обновлено: 6 месяцев назад https://pub.dev/packages/neat_cache FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #Cached #media_cache_manager #firestore_cache #CachedQuery #http_cache_hive_store #NeatCache

Обфускация кода в Flutter: как защитить свой проект от реверс-инжиниринга 🚀💻 Привет, друзья! Сегодня мы поговорим о том, как защитить свой код от любопытных глаз и сделать реверс-инжиниринг практически невозможным, используя обфускацию 🤫. Обфускация - это процесс преобразования кода, чтобы он перестал быть понятным для человека, но его работоспособность не изменилась 🔄. Как обфусцировать сборку? 🤔 Делать это необходимо при сборке для публикации. Например, мы собираем Android App Bundle:

flutter build appbundle --obfuscate --split-debug-info=/symbols
Параметр obfuscate запускает саму обфускацию, а уже split-debug-info выдает специальные файлы, которые помогут расшифровать информацию 📝. Как расшифровать Stack Trace? 📊 Для расшифровки также существует команда, в которую нужно будет передать файл Stack Trace и файл для расшифровки 📁:

flutter symbolize \
  -i <stack-trace-file> \
  -d <obfuscated-symbols-file>
Сам файл расшифровки нужен для нужной нам архитектуры 📈. Например, для Android на arm64 нужен будет файл app.android-arm64.symbols 📁. Добавляем файл в Crashlytics 🚀 Если мы используем Firebase Crashlytics или любую подобную систему, то и там мы будем видеть нерасшифрованный Stack Trace 📊. Чтобы этого не случалось, нужно выполнить команду для загрузки символов 📈:

firebase crashlytics:symbols:upload --app=<firebase-app-id> <path-to-symbols>/symbols
Учтите, что Firebase App ID должен еще и соответствовать платформе - отдельно для Android, отдельно для iOS 📈. Полную новость читайте здесь. FlutterPulse — канал о мире Flutter! #flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga #обфускация #реверсинжиниринг #безопасность

🔄 Скроллинг во Flutter: 4 типа прокрутки, которые должен знать каждый Скроллинг — это не просто «вверх-вниз». Flutter предлагает 4 мощных поведения прокрутки для разных задач. Разберём каждое! 👇 🔹 1. Базовый скроллинг (Рабочая лошадка) ✅ Простые списки, сетки, статичный контент ✅ Виджеты: ListView, GridView, SingleChildScrollView ✅ Используйте, когда контент предсказуем и анимации не нужны 🔹 2. Бесконечный скроллинг (Load As You Go) ✅ Ленты соцсетей, каталоги товаров, чаты ✅ Загружает данные при приближении к концу списка ✅ Экономит память и улучшает UX
// Пример с ScrollController
_controller.addListener(() {
  if (_controller.position.pixels >=
      _controller.position.maxScrollExtent - 200) {
    loadMoreItems();
  }
});
🔹 3. Продвинутый скроллинг (Slivers & Effects) ✨ ✅ Схлопывающиеся AppBar, параллакс, анимации по скроллу ✅ Работает на CustomScrollView + slivers ✅ Идеально для премиального UI и визуального сторителлинга
SliverAppBar(
  expandedHeight: 200,
  pinned: true,
  flexibleSpace: FlexibleSpaceBar(...),
)
🔹 4. Вложенный скроллинг (Scroll Inside Scroll) ✅ Табы со списками, дашборды, сложные макеты ✅ Используйте NestedScrollView для координации ✅ Хедер и тело прокручиваются согласованно 🎯 Главный вопрос перед разработкой: «Мне нужно просто… бесконечно… красиво… или вложенно?» Правильный выбор типа скролла влияет на: ✅ Производительность приложения ✅ Пользовательский опыт ✅ Воспринимаемое качество 💡 Про-совет: Не используйте slivers «просто так» — они мощные, но требуют понимания архитектуры. Начинайте с простого и усложняйте по мере необходимости. 🔗 Ссылки на материалы: Читать на русском языке Read in English Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium

Самые лучшие обновлённые пакеты за последние 24 часа camera_android_camerax 0.7.2 - Плагин для реализации камеры в Android-приложениях с помощью библиотеки CameraX. Обновлена версия camerax_version с 1.5.3 до 1.6.0. 👍 Лайки: 81, 📥 Скачиваний: 377К https://pub.dev/packages/camera_android_camerax shelf_easy 5.1.1 - Легковесный фреймворк, который включает в себя модули для генерации данных, работы с базами данных, веб-сервисов, веб-сокетов, логирования и локализации. Добавлено свойство const color к классу EasyCoder. 👍 Лайки: 6, 📥 Скачиваний: 2.0К https://pub.dev/packages/shelf_easy flutter_dotenv 6.0.1 - Пакет для загрузки конфигурации в приложения Flutter из файла .env или строки. Исправлены ошибки в методе isEveryDefined(), заменены assert на explicit if/throw в getInt(), getDouble() и getBool(), добавлены сообщения об ошибках с именами переменных для упрощения отладки. 👍 Лайки: 2210, 📥 Скачиваний: 628К https://pub.dev/packages/flutter_dotenv smooth_sheets 1.0.1 - Пакет для создания модальных и постоянных листов в приложениях Flutter. Исправлена проблема с нарушением ограничений и сообщением о переполнении макета в SheetContentScaffold. 👍 Лайки: 601, 📥 Скачиваний: 40.1К https://pub.dev/packages/smooth_sheets due_date 3.2.0 - Пакет для работы с повторяющимися шаблонами DateTime. Добавлены новые фабричные конструкторы для упрощения создания экземпляров классов DateValidator, Every, EveryAdapter, EveryModifier и EveryWrapper. 👍 Лайки: 12, 📥 Скачиваний: 87 https://pub.dev/packages/due_date solidpod 0.6.4 - Пакет для поддержки доступа к вашему Data Vault на сервере Solid. Теперь он поддерживает шифрование крупных файлов. 👍 Лайки: 5, 📥 Скачиваний: 2.6К https://pub.dev/packages/solidpod FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #camera_android_camerax #shelf_easy #flutter_dotenv #smooth_sheets #due_date #solidpod

photo content

Создание строительного калькулятора "Мастерок" на Flutter и Next.js Автор статьи рассказывает о своем опыте создания строительного калькулятора "Мастерок" на Flutter для RuStore 📈. Приложение получило высокую оценку пользователей, но автор понял, что многие люди ищут информацию в браузере, а не в магазине приложений 🤔. Поэтому он создал веб-версию калькулятора на Next.js 15, которая стала дополнением к приложению 📊. Автор отмечает, что сайт и приложение должны быть единым целым, и пользователь имеет право ожидать, что на двух поверхностях цифры совпадут 📊. Он также рассказывает о проблемах, которые он встретил при создании веб-версии, и о том, как он их решил 🤔. Кроме того, автор делится своим опытом использования различных технологий, таких как Next.js, Tailwind, three.js и других 📚. Автор статьи описывает свой подход к разработке калькулятора для строительных материалов 📈. Он использует единый источник истины в формате JSON, который содержит все необходимые коэффициенты и формулы для расчета 📊. Этот источник используется как в веб-версии калькулятора, так и в мобильном приложении 📱. Читать здесь: ссылка FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #flutterpulsehabr #nextjs #javascript #webdevelopment

Новые пакеты за неделю sd_utils 1.0.0 - пакет для Flutter разработчиков, объединяющий компоненты интерфейса пользователя, форматтеры и расширения для работы с текстом и датами. 👍 Лайки: 2, 📥 Скачиваний: 0 https://pub.dev/packages/sd_utils arc_gauge 1.0.0 - пакет для создания настраиваемых полукруговых индикаторов для отображения различных метрик. 👍 Лайки: 1, 📥 Скачиваний: 0 https://pub.dev/packages/arc_gauge flutter_davoice 1.0.0 - пакет для создания голосовых интерфейсов в приложениях Flutter, поддерживающий распознавание речи, синтез речи и обнаружение активности голоса. 👍 Лайки: 1, 📥 Скачиваний: 0 https://pub.dev/packages/flutter_davoice fonika_translate 1.0.0 - пакет для перевода текста, синтеза речи и распознавания речи для более 100 языков. 👍 Лайки: 1, 📥 Скачиваний: 43 https://pub.dev/packages/fonika_translate telegram_login 1.0.0 - пакет для авторизации через Telegram в приложениях Flutter, использующий официальные SDK Telegram. 👍 Лайки: 2, 📥 Скачиваний: 0 https://pub.dev/packages/telegram_login customized_country_phone_picker 1.0.0 - пакет для создания настраиваемых полей ввода телефонных номеров с выбором страны. 👍 Лайки: 4, 📥 Скачиваний: 181 https://pub.dev/packages/customized_country_phone_picker FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #sd_utils #arc_gauge #flutter_davoice #fonika_translate #telegram_login #customized_country_phone_picker

photo content

Обзор пакетов на тему Generic Picker flutter_pickers 2.2.0 Этот пакет включает в себя различные выборщики, такие как дата и время, адрес, одиночный и множественный выбор. Пакет имеет 62 лайка и 1.2K скачиваний. 👍 Лайки: 62, 📥 Скачиваний: 1.2K 📅 Обновлено: 3 месяца назад https://pub.dev/packages/flutter_pickers flutter_picker_plus 1.5.6 Этот мощный и настраиваемый виджет-пикер поддерживает множество типов пикеров, включая число, дату и время, массивы и пользовательские данные. Поддерживает более 20 языков, включая русский. 👍 Лайки: 60, 📥 Скачиваний: 7.7K 📅 Обновлено: 4 месяца назад https://pub.dev/packages/flutter_picker_plus bottom_picker 4.1.1 Этот пакет позволяет добавлять красивые нижние селекторы во все ваши приложения Flutter. Он предлагает широкий спектр функций, включая поддержку различных форматов времени, фильтрацию дат и настройку внешнего вида. 👍 Лайки: 364, 📥 Скачиваний: 9.4K 📅 Обновлено: 8 месяцев назад https://pub.dev/packages/bottom_picker numeric_selector 0.0.4 Позволяет создавать горизонтальные и вертикальные селекторы чисел с плавной прокруткой и опциональной вибрационной обратной связью. 👍 Лайки: 8, 📥 Скачиваний: 109 📅 Обновлено: 2 месяца назад https://pub.dev/packages/numeric_selector day_month_picker 1.0.3 Позволяет пользователям выбирать день и месяц из диалогового интерфейса. 👍 Лайки: 30, 📥 Скачиваний: 124 📅 Обновлено: 5 месяцев назад https://pub.dev/packages/day_month_picker numberpicker_dynamic 0.5.1 Позволяет выбирать большие числа и десятичные дроби. Поддерживает темный режим, различные размеры экранов и устройства. 👍 Лайки: 0, 📥 Скачиваний: 12 📅 Обновлено: 8 месяцев назад https://pub.dev/packages/numberpicker_dynamic FlutterPulse — канал о мире Flutter! #flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #flutter_pickers #flutter_picker_plus #bottom_picker #numeric_selector #day_month_picker #numberpicker_dynamic

💔 Duit — всё. История, которая зацепила многих Иногда новости в разработке — это не только релизы и апдейты. Иногда это честные и очень личные истории. Один из проектов, о котором мы рассказывали ранее (тут, тут и тут) — Duit (BDUI-фреймворк для Flutter) — официально уходит в заморозку. Автор потратил на него больше двух лет: архитектура, DSL, десятки виджетов, эксперименты с производительностью и попытки переосмыслить UI-подходы во Flutter. Это был не просто pet-проект — это была настоящая инженерная одержимость. Но в какой-то момент пришло важное осознание: 👉 проект перестал приносить радость 👉 усилия перестали окупаться (даже не деньгами — вниманием и откликом) 👉 а сам подход BDUI оказался… спорным тупиком с точки зрения архитектуры И, пожалуй, самая сильная мысль из всей истории: «Open source не про новые идеи. Он про решение реальных проблем» 📌 Что будет дальше: — проект остаётся на GitHub — пакеты останутся доступными — автор может консультировать и отвечать на вопросы — но активной разработки больше не будет 📌 Чего не будет: — новых фич — активной поддержки — развития экосистемы ⚡️ Почему это важно для нас? Такие истории — это реальность разработки, о которой редко говорят: — не каждый крутой проект становится востребованным — не каждая идея «выстреливает» — и иногда самое правильное решение — остановиться И да, это не про поражение. Это про взросление как инженера. 🎂 Кстати, автор принял это решение в свой день рождения — символично закрыв одну главу и начав новую. Можете также посетить блог автора данного проекта Никиты Синявина, думаю он будет вам рад! 💬 А вы сталкивались с выгоранием на своих pet-проектах? Или наоборот — доводили до конца несмотря ни на что? #Flutter #OpenSource #Dart #Duit #FlutterPulse #FlutterPulseNews

📦 Как создать и опубликовать Dart-пакет на pub.dev Хотите поделиться своим кодом с сообществом? Показываю полный путь от dart create до публикации на pub.dev! 🚀 🔍 Пакет ≠ Плагин: 🔹 Пакет — чистый Dart-код, работает везде (валидация, утилиты, алгоритмы) 🔹 Плагин — мост к нативным API (камера, геолокация, Bluetooth) 📁 Структура пакета: lib/ — публичный API lib/src/ — внутренняя реализация (data/domain/repository) test/ — юнит-тесты example/ — демо использования ⚙️ Архитектура «на стероидах»: ✅ ApiHelper — централизация HTTP и обработки ошибок ✅ CountriesApi — выразительные эндпоинты ✅ CountryFields enum — типобезопасные запросы (никаких опечаток!) ✅ CountryModel — строго типизированные ответы ✅ Repository — валидация + маппинг данных 🎯 Чистый публичный API: RestCountries.getAllCountries(fields: [...]) Пользователь не видит ни URL, ни JSON — только методы и модели! 🚀 Публикация на pub.dev: 1️⃣ Аутентификация: войдите на pub.dev через Google 2️⃣ Проверьте pubspec.yaml: уникальное имя, описание, семантическая версия 3️⃣ Напишите информативный README.md — это ваша «витрина» 4️⃣ Заполните CHANGELOG.md — даже для первого релиза 5️⃣ Сухой запуск: dart pub publish --dry-run 6️⃣ Публикация: dart pub publish 💡 Про-совет: Dry-run покажет все проблемы до релиза — не пропускайте этот шаг! 🔗 Готовый пакет: pub.dev/packages/rest_countries_data GitHub репозиторий 🔗 Ссылки на материалы: Читать на русском языке Read in English Читать оригинал Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #FlutterPulseMedium

Создание децентрализованного мессенджера с функциями P2P-звонков и шифрования 📱💻 Автор статьи хочет создать мессенджер, который не имеет центрального сервера, шифрует сообщения end-to-end и не хранит их в открытом виде. Для этого он использует библиотеку libp2p на языке Go, которая поддерживает работу с множеством транспортов и имеет встроенную аутентификацию пиров. 📈 Для создания интерфейса пользователя автор использует Flutter, а всю сетевую логику реализует на Go. Для связи между Dart и Go используется Foreign Function Interface (FFI). Соединение между пирами может устанавливаться напрямую или через промежуточный узел - Circuit Relay v2. 📊 Автор описывает процесс сборки Go-кода в C-совместимую shared library и интеграции ее в мобильное приложение. Он также показывает, как использовать FFI для вызова Go-функций из Dart. В результате автор получает бинарник с C-функциями, которые можно вызывать из Dart, и реализует мост между Go и Dart. 🌉 Читать здесь: ссылка FlutterPulse — канал о мире Flutter! #flutter #dart #flutterpulse #flutterpulsehabr #libp2p #messenger

Самые лучшие обновлённые пакеты за последние 24 часа synchronized 3.4.0+1 - Пакет synchronized используется для предотвращения одновременного доступа к асинхронному коду и обеспечения безопасной работы с ресурсами в приложениях Dart. Теперь пакет требует Dart 3.11. Пакет имеет 651 лайков и более 2.9М скачиваний. 👍 Лайки: 651, 📥 Скачиваний: 2.9М https://pub.dev/packages/synchronized connection_notifier 4.0.1 - Пакет connection_notifier используется для уведомления пользователей о статусе соединения с интернетом и предоставляет простые инструменты для отслеживания этого статуса. В новой версии 4.0.1 добавлена подробная инструкция по миграции с версии 3.x на 4.0, а также улучшения в интерфейсе пользователя. Пакет имеет 114 лайков и 535 скачиваний. 👍 Лайки: 114, 📥 Скачиваний: 535 https://pub.dev/packages/connection_notifier intercom_flutter 9.6.4 - Пакет intercom_flutter является оберткой для Intercom Android, iOS и Web-проектов, позволяя интегрировать функционал Intercom в свои приложения. В новой версии обновлены версии Intercom Android SDK до 18.0.2 и Intercom iOS SDK до 19.5.7. Пакет имеет 151 лайков и более 108 000 скачиваний. 👍 Лайки: 151, 📥 Скачиваний: 108К https://pub.dev/packages/intercom_flutter dart_jsonwebtoken 3.4.1 - Пакет dart_jsonwebtoken используется для работы с JSON Web Token (JWT) в Dart. Он позволяет создавать, подписывать, декодировать и верифицировать JWT. В новой версии исправлена ошибка при верификации списка аудиторий (aud) и добавлены защитные механизмы для проверки claims exp, nbf и iat. Пакет имеет 357 лайков и более 786 000 скачиваний. 👍 Лайки: 357, 📥 Скачиваний: 786К https://pub.dev/packages/dart_jsonwebtoken flutter_gen_runner 5.14.0 - Пакет flutter_gen_runner используется для генерации кода для активов, шрифтов, цветов и других ресурсов в приложениях Flutter, позволяя избежать использования строковых API и снижая риск ошибок. В новой версии добавлена поддержка команды `build_runner --workspace` и `fluttergen --workspace`, что позволяет использовать пакет в workspace-окружении. Пакет имеет 315 лайков и более 370 000 скачиваний. 👍 Лайки: 315, 📥 Скачиваний: 370К https://pub.dev/packages/flutter_gen_runner flutter_gen 5.14.0 - Пакет flutter_gen - это генератор кода для Flutter, который позволяет безопасно использовать ресурсы, шрифты, цвета и другие assets в вашем приложении. В новой версии добавлена поддержка команды `build_runner --workspace` и `fluttergen --workspace`, что позволяет использовать пакет в workspace-окружении. Пакет имеет 1730 лайков и 74100 скачиваний. 👍 Лайки: 1730, 📥 Скачиваний: 74.1К https://pub.dev/packages/flutter_gen FlutterPulse — канал о мире Flutter! Поддержать канал #Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #synchronized #connection_notifier #intercom_flutter #dart_jsonwebtoken #flutter_gen_runner #flutter_gen

photo content