Flutter Pulse
1.02K subscribers
633 photos
1 file
1.77K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
📍 Как интегрировать Google Maps в Flutter-приложение и отобразить текущее местоположение

В этой статье мы шаг за шагом интегрируем Google Maps в Flutter и отобразим реальное текущее местоположение. Это руководство идеально подходит для начинающих и часто используется в приложениях доставки, заказа такси, трекинга и навигации.

🔹 Что мы будем строить:
Отображать Google Map внутри Flutter-приложения
Запрашивать разрешение на доступ к местоположению
Получать текущее GPS-местоположение пользователя
Отображать маркер на текущем местоположении
Перемещать камеру к местоположению пользователя

Для начала необходимо:
1️⃣ Создать ключ API Google Maps
2️⃣ Добавить необходимые зависимости в pubspec.yaml
3️⃣ Настроить Android и iOS

В статье приведен полный рабочий пример Flutter-кода для отображения Google Map с текущим местоположением.

Geolocator используется для получения GPS-местоположения
GoogleMap отображает карту
Marker показывает текущее местоположение
CameraUpdate перемещает камеру к пользователю

🎯 Интеграция Google Maps во Flutter проста, если настройка выполнена правильно. Следуя нескольким шагам, вы можете отображать реальное местоположение пользователя и создавать мощные функции на основе местоположения.

💙 Если вы Flutter-разработчик, это обязательный навык!

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium
FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium
👍2
Обзор пакетов на тему Code Generator & Serialization (JSON)


FlutterGen 1.0.0
FlutterGen генерирует безопасный и удобный код для ваших ресурсов, шрифтов, цветов и других элементов. Это экономит время и уменьшает количество ошибок.
👍 Лайки: 1720, 📥 Скачиваний: 114K
📅 Обновлено: 9 дней назад
https://pub.dev/packages/flutter_gen


Freezed 3.2.5
Freezed - это генератор кода для данных классов в Dart, который автоматически генерирует код для конструкторов, методов и сериализации/десериализации. Это упрощает работу с данными и уменьшает количество ошибок.
👍 Лайки: 4460, 📥 Скачиваний: 1.8M
📅 Обновлено: 43 дня назад
https://pub.dev/packages/freezed


json_serializable 6.13.0
Пакет `json_serializable` генерирует код для сериализации и десериализации объектов в JSON, что упрощает работу с JSON в Dart. Он поддерживает различные типы и позволяет настраивать сериализацию.
👍 Лайки: 3910, 📥 Скачиваний: 2.6M
📅 Обновлено: 27 дней назад
https://pub.dev/packages/json_serializable


freezed_annotation 3.1.0
Этот пакет необходим для работы с **freezed** и позволяет генерировать код для immutability, сериализации и других полезных функций.
👍 Лайки: 549, 📥 Скачиваний: 2.7M
📅 Обновлено: 8 месяцев назад
https://pub.dev/packages/freezed_annotation


source_gen 4.2.1
**source_gen** - это пакет для автоматического генерирования кода Dart, который предоставляет фреймворк для написания генераторов кода и конвенции для совместимости кода.
👍 Лайки: 189, 📥 Скачиваний: 4.1M
📅 Обновлено: 5 дней назад
https://pub.dev/packages/source_gen


json_annotation 4.11.0
**json_annotation** - пакет для автоматического генерирования кода для сериализации и десериализации JSON в Dart.
👍 Лайки: 1300, 📥 Скачиваний: 7.1M
📅 Обновлено: 27 дней назад
https://pub.dev/packages/json_annotation


FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #FlutterGen #Freezed #json_serializable #freezed_annotation #source_gen #json_annotation
1👍1
Самые лучшие обновлённые пакеты за последние 24 часа

braze_plugin 18.0.0 - Пакет для интеграции Braze SDK в приложения Flutter. В новой версии упрощена интеграция на iOS, добавлена поддержка отложенной инициализации SDK и исправлены ошибки.
👍 Лайки: 33, 📥 Скачиваний: 165К
https://pub.dev/packages/braze_plugin

functional_status_codes 3.2.0 - Пакет для безопасного и функционального обработки кодов состояния HTTP в Dart.
В обновлении добавлен новый метод isError для проверки ошибок, исправлены ошибки в методах maybeMapStatusCode и StatusCode.random(), а также улучшена документация.
Пакет имеет 10 лайков и 323 скачивания.
https://pub.dev/packages/functional_status_codes

flutter_contacts 2.0.1 - Пакет позволяет работать с контактами на устройствах Android, iOS и macOS, включая создание, обновление и удаление контактов, а также поддержку групп, аккаунтов и импорта/экспорта vCard.
Лайков: 478, Скачиваний: 27.1К
https://pub.dev/packages/flutter_contacts

fl_pip 3.2.2 - Пакет позволяет реализовать режим "картинка в картинке" для приложений Flutter на iOS и Android.
В новой версии исправлены некоторые проблемы и добавлены новые функции.
Лайков: 57, Скачиваний: 1.1К
https://pub.dev/packages/fl_pip

flutter_widgetz 15.1.1 - Теперь CustomTextField обновляется только при необходимости, снижая количество ненужных операций записи в контроллер.
Пример также обновлен.
Пакет набрал 15 лайков и 1820 скачиваний.
https://pub.dev/packages/flutter_widgetz

mason_logger 0.3.5 - Пакет используется для создания повторно используемого логгера в Mason CLI. В новой версии исправлена ошибка, связанная с использованием native assets на Windows.
Лайков: 47
Скачиваний: 542К
https://pub.dev/packages/mason_logger

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #braze_plugin #functional_status_codes #flutter_contacts #fl_pip #flutter_widgetz #mason_logger
👍1
Продвинутая адаптивность во Flutter с advanced_responsive

Вы когда-нибудь сталкивались с проблемой создания адаптивного дизайна во Flutter, который бы работал на множестве устройств — от смартфонов до телевизоров? Теперь это стало проще с пакетом advanced_responsive!

🔹 Пакет не требует сложной настройки и работает из коробки.
🔹 Основан на Material Design 3, используя стандартные breakpoints.
🔹 Включает встроенную систему отступов, которая автоматически масштабируется.
🔹 Предоставляет удобные context extensions для упрощения работы.

Пакет поддерживает плавные переходы между breakpoints.
Автоматически обрабатывает изменения ориентации экрана.
Учитывает настройки доступности системы, такие как масштаб текста.

👉 Миграция на advanced_responsive может быть постепенной, один экран за раз.
👉 Пакет добавляет всего ~50KB к размеру вашего приложения.

В roadmap пакета входят такие интересные функции, как:
⚙️ Анимированные переходы между breakpoints
⚙️ Debug overlay для визуализации текущего breakpoint
⚙️ Поддержка кастомных breakpoints

Оставьте свои отзывы и предложения — автор пакета, Sayed Moataz, открыт к диалогу! 💬

#flutter #dart #flutterpulse #FlutterPulseMedium

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium
FlutterPulse — канал о мире Flutter!
👍3
Обзор пакетов на тему Keyboard


FocusableControlBuilder 1.1.0
FocusableControlBuilder упрощает создание контролов с поддержкой перехода по клавише Tab, состояний фокуса и наведения, изменения курсора мыши, клавиатурных сокращений. Пакет позволяет создавать кастомные контролы, которые будут работать корректно на всех платформах и устройствах ввода.
👍 Лайки: 52, 📥 Скачиваний: 1.9K
📅 Обновлено: 9 месяцев назад
https://pub.dev/packages/focusable_control_builder


keyboard_actions 4.2.1
keyboard_actions позволяет легко добавлять функциональность к стандартной клавиатуре Android и iOS, включая добавление кнопки "Готово" к клавиатуре, переход между полями ввода, настройку внешнего вида панели клавиатуры и добавление пользовательского видажета под панелью клавиатуры.
👍 Лайки: 1180, 📥 Скачиваний: 146K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/keyboard_actions


math_keyboard 0.3.3
math_keyboard позволяет редактировать математические выражения в Flutter с помощью специального виртуального клавиатуры и поля ввода, поддерживая ввод с физической клавиатуры, режимы ввода чисел и выражений, расширенные операторы и тригонометрические функции.
👍 Лайки: 147, 📥 Скачиваний: 4.9K
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/math_keyboard


keyboard_height_plugin 0.2.0
keyboard_height_plugin предоставляет размер клавиатуры до ее анимации, позволяя точно позиционировать виджеты, такие как TextField, над клавиатурой, и решает проблему лагов при появлении клавиатуры в Flutter-приложениях.
👍 Лайки: 29, 📥 Скачиваний: 15.8K
📅 Обновлено: 2 месяца назад
https://pub.dev/packages/keyboard_height_plugin


keyboard_service 2.0.4
keyboard_service позволяет автоматически скрывать клавиатуру при нажатии вне поля ввода, без использования плагинов, и имеет более 1340 скачиваний и 43 лайка.
👍 Лайки: 43, 📥 Скачиваний: 1.3K
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/keyboard_service


keyboard_detection 0.8.1
keyboard_detection позволяет легко определять видимость клавиатуры в Flutter-приложении, используя изменение нижнего отступа для определения видимости клавиатуры и обеспечивая native Flutter-опыт.
👍 Лайки: 29, 📥 Скачиваний: 15.8K
📅 Обновлено: 6 месяцев назад
https://pub.dev/packages/keyboard_detection


FlutterPulse — канал о мире Flutter!


#flutter #dart #pubdev #flutterpulse #FocusableControlBuilder #keyboard_actions #math_keyboard #keyboard_height_plugin #keyboard_service #keyboard_detection
Добавляем биометрическую аутентификацию в наше Flutter-приложение с помощью плагина local_auth 🚀

Привет, друзья! 👋 Сегодня мы поговорим о том, как добавить аутентификацию по биометрии в наше Flutter-приложение. Для этого мы будем использовать плагин local_auth. Этот плагин позволяет проводить локальную аутентификацию с помощью настроек, которые есть на устройстве, таких как пин-код, сканирование отпечатка пальца или идентификация по лицу (FaceID) 📊.

Плагин работает очень просто: он не проверяет код или лицо и отпечаток пальца самостоятельно, а обращается в систему, запрашивает проверку, и возвращает в приложение простое булево значение. Давайте разберем методы плагина подробнее ⬇️.

Для начала нужно создать экземпляр класса LocalAuthentication. Через него будут выполняться все операции.

final localAuth = LocalAuthentication();


Метод isDeviceSupported() проверит наличие любого способа аутентификации на устройстве. А canCheckBiometrics() ответит, доступна ли аутентификация именно по биометрии.

final isDeviceSupported = await localAuth.isDeviceSupported();
final canAuthenticate = await localAuth.canCheckBiometrics;


Еще можно получить список всех доступных на устройстве способов аутентификации по биометрии. Если на устройстве не настроен вход по отпечатку пальца или по лицу, то список придет пустым.

final list = await localAuth.getAvailableBiometrics();


А здесь внимательно: getAvailableBiometrics вернет список только тех биометрических функций, которые настроены пользователем на устройстве. А флаг canAuthenticate просто покажет их наличие.

Дальше самое интересное — проверка. Она выполняется с помощью метода authenticate(). В него можно добавить строку с описанием причины запроса аутентификации. Этот текст пользователь увидит на экране. Также можно задавать ограничения. Например, установить true флаг biometricOnly. Тогда ввод системного пин-кода не будет запрашиваться.

final successAuth = await localAuth.authenticate(
  localizedReason: 'ВОЙДИТЕ',
  biometricOnly: true,
);


Когда будете интегрировать этот плагин в проект, уделите особое внимание обработке разных сценариев. Потому что смартфонов на рынке много, и важно, чтобы у каждого пользователя был доступ.

Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly #биометрическаяаутентификация #local_auth
Самые лучшие обновлённые пакеты за последние 24 часа

cloudflare 10.0.0 - это SDK для работы с API Cloudflare, позволяющий использовать REST-запросы и протокол tus для загрузки файлов.
В новой версии добавлен полный API для работы с объектным хранилищем Cloudflare R2, совместимым с S3, аутентифицированным с помощью AWS Signature Version 4.
👍 Лайки: 38, 📥 Скачиваний: 567
https://pub.dev/packages/cloudflare

golden_screenshot 11.0.1 - используется для легкого создания скриншотов Flutter-приложений для различных магазинов приложений, включая App Store, Play Store, F-Droid и Flathub.
В новой версии исправлена ошибка с шрифтом заголовка при использовании темы из пакета Yaru.
👍 Лайки: 21, 📥 Скачиваний: 25К
https://pub.dev/packages/golden_screenshot

dio_cache_interceptor 4.0.6 - используется для кэширования HTTP-запросов в приложениях, написанных на Dart, и поддерживает множество хранилищ, включая файловую систему, базы данных и оперативную память.
В новой версии исправлена ошибка с обновлением заголовка Age при повторной проверке ответа 304, а также повышен минимальный требуемый SDK до 3.6.0.
👍 Лайки: 427, 📥 Скачиваний: 167К
https://pub.dev/packages/dio_cache_interceptor

source_helper 1.3.11 - предоставляет утилиты для генерации кода на Dart. Теперь требует analyzer версии 9.0.0 или выше, но ниже 13.0.0.
👍 Лайки: 19, 📥 Скачиваний: 2.67М
https://pub.dev/packages/source_helper

flutter_decorated_text 2.1.0 - позволяет стилизовать и взаимодействовать с разными частями текстовой строки на основе предопределенных правил.
В новой версии улучшена производительность и оптимизирована работа с текстом.
👍 Лайки: 59, 📥 Скачиваний: 371
https://pub.dev/packages/flutter_decorated_text

json_serializable 6.13.1 - используется для генерации кода для сериализации и десериализации JSON в Dart.
В новой версии улучшено сообщение об ошибке при генерации кода для типов Record с неподдерживаемыми полями.
👍 Лайки: 3910, 📥 Скачиваний: 2.59М
https://pub.dev/packages/json_serializable

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #cloudflare #golden_screenshot #dio_cache_interceptor #source_helper #flutter_decorated_text #json_serializable
1
🚀 Flutter Add-to-App: Полное руководство по архитектуре
Интегрируете Flutter в существующее приложение? Не переписывайте всё с нуля! 🎯
Делимся глубоким разбором Add-to-App — стратегии постепенной миграции, которую используют Google Pay, Alibaba и BMW.
📌 Зачем это нужно?
🔹 Переписывание 500K+ строк кода = 12–24 месяца простоя
🔹 Потеря знаний: годы оптимизаций уходят в никуда
🔹 Add-to-App позволяет мигрировать экраны по одному, сохраняя стабильность
⚙️ FlutterEngine: что внутри?
🔹 Dart VM (JIT/AOT)
🔹 Isolate — однопоточный event loop
🔹 Platform Channels — мост к нативному коду
🔹 Skia/Impeller — рендеринг на GPU
Ключевая фишка: FlutterEngineGroup
Несколько движков делят ресурсы:
GPU-контекст и шейдеры
Кэш шрифтов
Снимок кода изолятов
→ Экономия памяти до 80%!
🔗 Типы платформенных каналов
👉 MethodChannel: запрос/ответ (~3 мс задержка)
👉 EventChannel: стримы данных (сенсоры, локация)
👉 BasicMessageChannel: кастомные протоколы
⚠️ Важно про производительность
При 60fps бюджет кадра — 16.67 мс:
🔸 1 вызов канала = ~3 мс (18% бюджета)
🔸 5+ вызовов = высокий риск jank
💡 Решение: пакетируйте вызовы, используйте изоляты
🧠 Лучшие практики
🔹 Предварительный прогрев движка при запуске приложения
🔹 Кэширование FlutterEngine для часто используемых экранов
🔹 Всегда вызывайте destroy() при очистке
🔹 Обрабатывайте разрешения на нативной стороне
🔧 Пример: PlatformBridge во Flutter
class PlatformBridge {
static const _channel = MethodChannel('com.app/integration');
Future<Map<String, dynamic>?> getNativeData() async {
return await _channel.invokeMethod('getNativeData');
}
}


🎯 Что мониторить в продакшене?
🔹 Время инициализации движка (цель: <150 мс)
🔹 Задержка каналов (<5 мс)
🔹 Процент «битых» кадров (<1%)
🔹 Потребление памяти на движок
💡 Итог
Add-to-App — это не костыль, а прагматичная архитектура. Вы получаете скорость разработки Flutter, сохраняя инвестиции в нативный код.
Мост построен. Готовы перейти? 🚀

🔗 Ссылки на материалы:

Читать на русском языке
Read in English
Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium
FlutterPulse — канал о мире Flutter!
Обзор пакетов на тему Desktop (Windows, Linux & macOS)


msix 3.16.13
Этот пакет позволяет легко создавать MSIX-инсталляторы для ваших Flutter-приложений, что упрощает публикацию в Microsoft Store или размещение на сайте. Пакет упрощает процесс создания инсталляторов для Windows.
👍 Лайки: 973, 📥 Скачиваний: 108K
📅 Обновлено: 57 дней назад
https://pub.dev/packages/msix


flutter_local_notifications 21.0.0
Пакет для отображения локальных уведомлений на всех платформах, включая Android, iOS, macOS, Linux и Windows. Он поддерживает расписание уведомлений, периодические уведомления и кастомизацию звуков и иконок.
👍 Лайки: 7260, 📥 Скачиваний: 1.6M
📅 Обновлено: 16 дней назад
https://pub.dev/packages/flutter_local_notifications


window_manager 0.5.1
Пакет window_manager предоставляет полный контроль над размером, позицией, внешним видом, поведением при закрытии и событиями окна Flutter-приложений на десктопе. Это упрощает управление окнами в приложениях.
👍 Лайки: 1100, 📥 Скачиваний: 331K
📅 Обновлено: 8 месяцев назад
https://pub.dev/packages/window_manager


dbus 0.7.12
Этот пакет предоставляет нативную реализацию D-Bus на Dart, позволяя доступ к удаленным объектам и экспортировать локальные объекты. Он также поддерживает использование объектов D-Bus напрямую.
👍 Лайки: 74, 📥 Скачиваний: 3.8M
📅 Обновлено: 44 дня назад
https://pub.dev/packages/dbus


posix 6.5.0
Пакет для доступа к POSIX API в Dart для macOS и Linux, предоставляющий функции для работы с файловой системой, процессами и сетью.
👍 Лайки: 10, 📥 Скачиваний: 3.7M
📅 Обновлено: 27 дней назад
https://pub.dev/packages/posix


win32 6.0.0
Пакет win32 позволяет Dart-разработчикам напрямую работать с Win32 и COM API, открывая доступ к функциям, недоступным через dart:io, Flutter-плагины или каналы платформы.
👍 Лайки: 935, 📥 Скачиваний: 4.5M
📅 Обновлено: 27 дней назад
https://pub.dev/packages/win32


FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #msix #flutter_local_notifications #window_manager #dbus #posix #win32
1🔥1
Самые лучшие обновлённые пакеты за последние 24 часа

pro_image_editor 12.0.9 - виджет Flutter для редактирования изображений внутри вашего приложения. В новой версии исправлена ошибка в текстовом редакторе, которая влияла на размер текста при изменении системного масштаба текста. 👍 Лайки: 560, 📥 Скачиваний: 32.8К
https://pub.dev/packages/pro_image_editor

Squadron 7.4.2 - пакет для работы с многопоточностью и пуле работников в Dart. В новой версии исправлены некоторые проблемы и добавлены оптимизации. 👍 Лайки: 210, 📥 Скачиваний: 28.1К
https://pub.dev/packages/squadron

mpv_audio_kit 0.0.3+2 - мощный аудио-инжин для Flutter и Dart. В новой версии исправлены незначительные ошибки. 👍 Лайки: 24, 📥 Скачиваний: 58
https://pub.dev/packages/mpv_audio_kit

sherpa_onnx 1.12.32 - пакет для распознавания речи, синтеза речи, разделения источников звука и других задач обработки аудио. В новой версии добавлена поддержка статической ссылки для пакета Rust. 👍 Лайки: 94, 📥 Скачиваний: 9.3К
https://pub.dev/packages/sherpa_onnx

kosher_dart 2.0.19 - пакет для расчета еврейских дат, праздников и времени молитв. В новой версии исправлены правила переноса праздников и добавлена поддержка обратного хода еврейских месяцев. 👍 Лайки: 23, 📥 Скачиваний: 653
https://pub.dev/packages/kosher_dart

flutter_test_goldens 0.0.8 - пакет для тестирования виджетов Flutter. В новой версии исправлена утечка состояния виджетов между скриншотами. 👍 Лайки: 10, 📥 Скачиваний: 19.8К
https://pub.dev/packages/flutter_test_goldens

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #pro_image_editor #Squadron #mpv_audio_kit #sherpa_onnx #kosher_dart #flutter_test_goldens
🧊 Freezed: меньше кода, больше типобезопасности
Устали от ручного парсинга JSON и бойлерплейта в моделях? 🤯
Пакет freezed решает это за вас:
🔹 Неизменяемые классы по умолчанию
🔹 Авто-сериализация JSON (fromJson/toJson)
🔹 copyWith для удобного копирования
🔹 Union-типы с pattern matching (when, map)
🔹 Сравнение по значению из коробки
⚙️ Быстрый старт:
1️⃣ Добавьте freezed и build_runner в pubspec.yaml
2️⃣ Разметьте класс аннотацией @freezed
3️⃣ Запустите dart run build_runner build

💡 Freezed убирает рутину, оставляя чистую и надёжную архитектуру.
Пробовали freezed? Делитесь опытом 👇

🔗 Ссылки на материалы:

Читать на русском языке
Read in English
Читать оригинал


Все подобные новости ищите по хэштегу #FlutterPulseMedium

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium
Обзор пакетов на тему Network Connectivity Status


Connection Notifier 3.0.0
Connection Notifier - простой пакет, который позволяет уведомлять пользователей о статусе соединения с интернетом. Он легко интегрируется в существующие приложения и поддерживает все современные платформы.
👍 Лайки: 690, 📥 Скачиваний: 2.4M
📅 Обновлено: 37 дней назад
https://pub.dev/packages/connection_notifier


Connectivity Wrapper 1.2.8
Connectivity Wrapper - пакет для Flutter, который позволяет отображать пользователю уведомления о состоянии подключения к интернету. Он прост в использовании и поддерживает кастомизацию.
👍 Лайки: 157, 📥 Скачиваний: 1.5K
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/connectivity_wrapper


internet_connection_checker_plus 2.9.1+2
internet_connection_checker_plus - мощный пакет для проверки реального интернет-соединения, а не только Wi-Fi. Он поддерживает реальное время мониторинга и кастомизацию.
👍 Лайки: 503, 📥 Скачиваний: 125K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/internet_connection_checker_plus


Flutter Offline 6.0.0
Flutter Offline - пакет для работы с подключением к интернету в Flutter. Он позволяет легко отслеживать состояние подключения и реагировать на его изменение.
👍 Лайки: 678, 📥 Скачиваний: 4.4K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/flutter_offline


Connectivity Plus 7.0.0
Connectivity Plus - пакет для Flutter, позволяющий определять тип подключения к сети. Он имеет большое количество скачиваний и лайков.
👍 Лайки: 4019, 📥 Скачиваний: 2.29M
📅 Обновлено: 6 месяцев назад
https://pub.dev/packages/connectivity_plus


at_server_status 1.1.1
at_server_status - пакет для проверки статуса atRoot сервера и atServer для конкретного atSign. Он имеет удобный API для интеграции в приложения.
👍 Лайки: 9, 📥 Скачиваний: 9.8K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/at_server_status


FlutterPulse — канал о мире Flutter!

#flutter #dart #pubdev #flutterpulse #ConnectionNotifier #ConnectivityWrapper #internet_connection_checker_plus #FlutterOffline #ConnectivityPlus #at_server_status
🔥1
Самые лучшие обновлённые пакеты за последние 24 часа

terminate_restart 1.1.0 - пакет для легкой реализации функций завершения и перезапуска приложения с обширными возможностями настройки. Подходит для динамических обновлений, очистки состояния приложения или обновления интерфейса. В новой версии добавлена поддержка платформы Web, исправлены ошибки на iOS и Android, а также улучшена производительность. 👍 Лайки: 60, 📥 Скачиваний: 21.9К
https://pub.dev/packages/terminate_restart

Drift 2.32.1 - реактивная библиотека персистенции для Flutter и Dart, построенная на основе SQLite. Теперь в расширении DevTools можно выделить и скопировать сообщения об ошибках. Уже 2360 лайков и 659К скачиваний! 👍 Лайки: 2360, 📥 Скачиваний: 659К
https://pub.dev/packages/drift

persistent_bottom_nav_bar_v2 6.3.2 - пакет для создания настраиваемой нижней навигационной панели в Flutter. В новой версии исправлена ошибка, связанная с скрытием навигационной панели при возврате с отрицательным смещением прокрутки. Лайков: 432, Скачиваний: 12.2К
https://pub.dev/packages/persistent_bottom_nav_bar_v2

remixicon 4.9.2 - набор открытых нейтральных системных символов для дизайнеров и разработчиков, содержащий более 3000 иконок. В новой версии добавлены недостающие иконки. Лайков: 81, Скачиваний: 5.06К
https://pub.dev/packages/remixicon

stringr 1.2.2 - всесторонняя библиотека для манипуляции строками в Dart и Flutter. В новой версии исправлены ошибки в функциях `capitalize()` и `camelCase()`, а также добавлены тесты для проверки корректности работы с верхним и смешанным регистром. Пакет stringr уже получил 20 лайков и был скачан более 23.5К раз!
https://pub.dev/packages/stringr

drift_dev 2.32.1 - пакет для разработки с Drift. Теперь поддерживаются представления столбцов с псевдонимами и исправлено парсирование ссылок. Лайков: 67, Скачиваний: 451К
https://pub.dev/packages/drift_dev

FlutterPulse — канал о мире Flutter!

Поддержать канал

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #terminate_restart #Drift #persistent_bottom_nav_bar_v2 #remixicon #stringr #drift_dev
👣 Flutter и нативный код: как работают MethodChannel и EventChannel 🤔

Вы знали, что Flutter позволяет использовать нативный код для расширения функциональности ваших приложений? 🤓 Это достигается с помощью платформенных каналов, которые обеспечивают обмен сообщениями между Dart и нативным кодом. 📱

MethodChannel - это как вызов функции на удаленной стороне. Вы вызываете метод с именем, передаете параметры и ждете ответа. Все это происходит асинхронно, чтобы не зависало ваше приложение. 🕒

EventChannel используется, когда данные приходят не по запросу, а сами. Например, акселерометр или датчик движения отправляют показатели постоянно, пока подписка активна. 📈

Полную новость читайте здесь.


FlutterPulse — канал о мире Flutter!

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #мобильнаяразработка #нативныйкод
🔗 Глубокие ссылки во Flutter: Полный гайд по app_links
Кликаете на ссылку в письме — и приложение открывается сразу на нужном экране? Это deep linking, и пользователи замечают его только когда он не работает.
Делимся проверенным руководством по миграции с uni_links на app_links — официально рекомендованное решение от Flutter.
📌 Почему app_links?
🔹 Активно поддерживается командой Flutter
🔹 Надёжная работа при холодном старте
🔹 Поддержка Android App Links и iOS Universal Links
🔹 Стабильная обработка ссылок в фоне
⚠️ uni_links официально устарел — нет обновлений, баги на новых Android.
🧭 Как это работает?
1️⃣ Пользователь кликает https://yourapp.com/profile
2️⃣ Android проверяет, какое приложение может обработать URL
3️⃣ Ваше приложение доказывает владение доменом через assetlinks.json
4️⃣ Если всё ок — открывается ваше приложение, а не браузер
5️⃣ Flutter получает URL и переходит на нужный экран
🔑 Ключевой момент: assetlinks.json
Файл должен быть доступен строго по адресу:
https://yourdomain.com/.well-known/assetlinks.json
Пример содержимого:
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.yourapp",
"sha256_cert_fingerprints": ["ВАШ_ОТПЕЧАТОК"]
}
}
]


🔧 Как получить SHA-256?
cd android
./gradlew signingReport

⚠️ Копируйте отпечаток из секции release, а не debug! Иначе ссылки будут работать только в разработке.
Проверка конфигурации
Используйте официальный инструмент Google:
🔗 Digital Asset Links Verification Tool
Что проверить:
🔹 Файл доступен по правильному HTTPS-URL
🔹 Package name совпадает точно
🔹 SHA-256 корректен
🔹 Статус: «Success»
⚙️ Настройка intent filter в AndroidManifest
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="yourdomain.com" />
</intent-filter>


🚀 Код на Flutter: обработчик ссылок
class AppLinksHandler {
static final _appLinks = AppLinks();

static Future<void> init(BuildContext context) async {
final link = await _appLinks.getInitialLink();
if (link != null) _handle(link, context);

_appLinks.uriLinkStream.listen(
(uri) => _handle(uri, context),
);
}

static void _handle(Uri uri, BuildContext context) {
if (uri.path == '/profile') {
Navigator.pushNamed(context, '/profile');
}
// ... другие маршруты
}
}


💡 Важные нюансы
🔹 Инициализируйте обработчик через addPostFrameCallback — после построения виджетов
🔹 Обрабатывайте и getInitialLink() (холодный старт), и uriLinkStream (активное приложение)
🔹 Всегда тестируйте на реальном устройстве — эмуляторы врут про DNS и сертификаты
🎯 Чек-лист перед релизом
assetlinks.json доступен по правильному HTTPS-URL
SHA-256 взят из release-конфигурации
Проверка в инструменте Google показывает «Success»
Протестировано на реальном Android-устройстве
Обработаны все состояния: холодный старт, фон, активный режим
Итог
Глубокие ссылки — не магия, а набор чётких шагов. С app_links и правильной настройкой Digital Asset Links вы получите надёжную навигацию, которая работает всегда.
Ваши пользователи даже не заметят, насколько это круто — пока однажды ссылка просто не откроется там, где нужно. 🎯

🔗 Ссылки на материалы:


Читать на русском языке
Read in English
Читать оригинал


Все подобные новости ищите по хэштегу #FlutterPulseMedium
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium
👍31
Обзор пакетов на тему JSON


json_path 0.9.0
Этот пакет реализует спецификацию RFC 9535 для запросов к JSON-данным в Dart. Он позволяет легко извлекать и манипулировать значениями в JSON-структурах.
👍 Лайки: 125, 📥 Скачиваний: 199K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/json_path


xml2json 6.2.7
Этот пакет позволяет парсить строки XML и преобразовывать их в различные форматы JSON. Он идеально подходит для работы с XML-данными в ваших Flutter/Dart проектах.
👍 Лайки: 126, 📥 Скачиваний: 92.6K
📅 Обновлено: 11 месяцев назад
https://pub.dev/packages/xml2json


yet_another_json_isolate 2.1.0
Этот пакет позволяет парсить JSON с использованием изолятов в Dart. Он прост в использовании и имеет высокую производительность.
👍 Лайки: 15, 📥 Скачиваний: 391K
📅 Обновлено: 10 месяцев назад
https://pub.dev/packages/yet_another_json_isolate


rfc_6901 0.2.1
Этот пакет реализует стандарт JSON Pointer (RFC 6901) для Dart. Он позволяет читать, записывать и удалять значения по JSON Pointer.
👍 Лайки: 30, 📥 Скачиваний: 541K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/rfc_6901


json_schema 5.2.2
Этот пакет позволяет валидировать JSON по схемам JSON Schema. Он поддерживает несколько версий, включая Draft 7.
👍 Лайки: 45, 📥 Скачиваний: 254K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/json_schema


json_repair_flutter 2.0.2
Этот пакет позволяет исправлять поврежденный JSON в ваших Flutter/Dart приложениях. Он надежно исправляет пропущенные скобки, запятые и кавычки, некорректные кавычки и многое другое.
👍 Лайки: 12, 📥 Скачиваний: 296
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/json_repair_flutter


FlutterPulse — канал о мире Flutter!


#flutter #dart #pubdev #flutterpulse #json_path #xml2json #yet_another_json_isolate #rfc_6901 #json_schema #json_repair_flutter
Widget Previewer: Революционный Инструмент для Разработки в Flutter

🌟 Вы представляете, как было бы удобно видеть, как ваши виджеты отрисовываются в реальном времени, без необходимости запуска всего приложения? 🤔 Теперь это стало возможным благодаря инструменту Widget Previewer в Flutter! 🚀 Этот инструмент похож на канвас SwiftUI или предпросмотры в Jetpack Compose и позволяет создавать предпросмотры различных состояний виджетов, таких как светлая и темная тема, разные размеры и состояния с ошибками.

📈 Widget Previewer изолирует Flutter-виджеты и отрисовывает их в реальном времени, прямо во время написания кода, что ускоряет процесс создания и проверки UI. Этот инструмент особенно полезен для тестирования UI на разных экранах, с разным масштабом текста и в разных темах, без необходимости перезапуска приложения. Для использования Widget Previewer необходимо импортировать пакет widget_previews и пометить функцию, возвращающую виджет, аннотацией @Preview.

🔍 В статье обсуждается функция Flutter Widget Previewer, которая позволяет разработчикам предварительно просматривать виджеты без необходимости запуска полного приложения. Эта функция доступна в среде разработки, начиная с Flutter 3.38. Previewer можно запустить тремя способами: через VS Code, Android Studio/IntelliJ или командную строку. Для создания предпросмотра виджета используется аннотация @Preview, которая регистрирует виджет для предпросмотра.

📚 Читать здесь: ссылка

👉 FlutterPulse — канал о мире Flutter!

🔥 #flutter #dart #flutterpulse #flutterpulsehabr #widgetpreviews #flutterdev