Flutter Pulse
1.02K subscribers
630 photos
1 file
1.76K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Самые лучшие обновлённые пакеты за последние 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
Новые пакеты за неделю


libtorrent_flutter 1.0.0
Плагин для Flutter, который позволяет добавлять функциональность торрент-клиента в приложения Flutter. Он использует движок libtorrent 2.0, который также используется в qBittorrent, Deluge и Transmission.
Пакет имеет следующие преимущества:
- Поддержка множества платформ (Windows, Linux, macOS, iOS, Android)
- Высокая скорость загрузки
- Возможность потокового воспроизведения
- Поддержка DHT, PEX и LSD для поиска пиров
👍 Лайки: 3, 📥 Скачиваний: 499
https://pub.dev/packages/libtorrent_flutter

add_one 1.0.0
Плагин для Flutter, который используется для инкремента целых чисел на единицу, обеспечивая безопасность и производительность.
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/add_one

dangi_doctor 1.0.0
Плагин для Flutter, который является личным врачом для вашего приложения Flutter, автоматически обнаруживая ошибки, измеряя производительность и генерируя тесты интеграции.
👍 Лайки: 4, 📥 Скачиваний: 55
https://pub.dev/packages/dangi_doctor

flutter_dev_tools_overlay 1.0.0
Плагин для Flutter, который предоставляет легковесный отладочный оверлей для приложений Flutter, включающий журнал событий, отслеживание запросов, мониторинг использования памяти, информацию о устройстве и инструменты производительности.
👍 Лайки: 2, 📥 Скачиваний: 0
https://pub.dev/packages/flutter_dev_tools_overlay

tanzania_geo_data 1.0.0
Плагин для Flutter, который позволяет легко получать и искать географические данные Танзании, включая регионы, округа, районы и улицы.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/tanzania_geo_data

applovin_admob_sdk 1.0.0
Плагин для Flutter, который позволяет переключаться между AdMob и AppLovin MAX с помощью одной строки конфигурации. Включает в себя встроенный анти-фраудовый слой безопасности, автоматическое управление баннерами и анимированные уведомления.
👍 Лайки: 1, 📥 Скачиваний: 0
https://pub.dev/packages/applovin_admob_sdk

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

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #libtorrent_flutter #add_one #dangi_doctor #flutter_dev_tools_overlay #tanzania_geo_data #applovin_admob_sdk
👍2
Самые лучшие обновлённые пакеты за последние 24 часа

syncfusion_flutter_pdf 33.1.45!
Этот пакет позволяет добавлять функции работы с PDF в приложения Flutter, включая создание, чтение, редактирование и защиту PDF-документов.
В новой версии исправлена ошибка с цифровыми подписями, теперь они правильно сливаются при сохранении PDF-файлов.
👍 Лайки: 781, 📥 Скачиваний: 235К
https://pub.dev/packages/syncfusion_flutter_pdf

syncfusion_flutter_calendar 33.1.45!
Теперь доступна настройка высоты и ширины для ResourceViewSettings.
👍 Лайки: 1560, 📥 Скачиваний: 60.2К
https://pub.dev/packages/syncfusion_flutter_calendar

flutter_webrtc
Пакет предназначенный для работы с WebRTC в приложениях Flutter, получил обновление.
Этот пакет позволяет использовать функции аудио- и видео-связи, обмена данными и другие возможности WebRTC в приложениях для мобильных устройств, настольных компьютеров и веб-приложений.
👍 Лайки: 1330, 📥 Скачиваний: 128К
https://pub.dev/packages/flutter_webrtc

syncfusion_flutter_charts 33.1.45!
Этот пакет - библиотека визуализации данных для создания красивых и высокопроизводительных графиков в приложениях Flutter.
👍 Лайки: 3620, 📥 Скачиваний: 196К
https://pub.dev/packages/syncfusion_flutter_charts

syncfusion_flutter_datepicker 33.1.45!
Исправлены проблемы с тапом и перетаскиванием в Date Range Picker.
👍 Лайки: 1630, 📥 Скачиваний: 206К
https://pub.dev/packages/syncfusion_flutter_datepicker

envied 1.3.4!
Этот пакет позволяет упростить работу с переменными окружения в Dart/Flutter.
👍 Лайки: 920, 📥 Скачиваний: 209К
https://pub.dev/packages/envied

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_pdf #syncfusion_flutter_calendar #flutter_webrtc #syncfusion_flutter_charts #syncfusion_flutter_datepicker #envied
Новая фича в Dart: части библиотеки с импортами! 👀
Еще одна спецификация фичи перешла из черновика в разряд принятых - enhanced-parts.
С ее добавлением в Dart SDK (скорей всего не раньше версии 3.14) появится возможность в каждой из частей разбиваемой средствами механизма part of библиотеки, использовать импорт библиотек (ключевое слово import), который распространяется только на тот файл, где был использован 🥳.
Другими словами - отпадет необходимость в корневом файле держать портянку импортов, которые распространяются на все его составные части 😏.
Нужна ли нам эта фича?
👍 – О, да, детка!!!
👌 – Сомнительно, но Окей
👎 – Отстой! (кайфую от текущей реализации)
Полную новость читайте здесь.

FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #madteacher_channel
👍8
⚙️ Flutter Flavors: несколько окружений без боли
Dev, staging, prod — как держать их изолированными и безопасными? 🤔
Решение: Native-First архитектура, где нативная сборка определяет flavor, а Flutter его потребует.
Преимущества:
🔹 Нулевая неоднозначность в runtime
🔹 Сборки, соответствующие платформе
🔹 Безопасные релизы в продакшен
🔧 Как работает:
1️⃣ Android: Product Flavors в Gradle → BuildConfig.FLAVOR
2️⃣ iOS: XCConfig + Schemes → суффикс bundle ID
3️⃣ Flutter: MethodChannel получает flavor → загружает нужный .env
📦 Пример кода:
enum BuildFlavors { prod, dev, stag }
class FlavorConfig {
static Future<FlavorConfig> initFromNative() async {
// Получаем flavor из натива через MethodChannel
}
}


🚀 Запуск:
flutter run --flavor dev
💡 Итог: настройте flavor один раз на нативной стороне — и получайте изолированные, предсказуемые сборки для каждого окружения.
Есть вопросы по flavors? Пишите в комментарии 👇

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

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


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


Appodeal Flutter Plugin 3.12.0
Этот официальный плагин Appodeal для Flutter позволяет легко интегрировать в ваше приложение мощную монетизацию. Плагин имеет поддержку Google CMP и TCF v2, AdMob Bidding, готовое решение для согласия пользователя и интеграцию с Firebase, Adjust, AppsFlyer и Meta.
👍 Лайки: 93, 📥 Скачиваний: 740
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/stack_appodeal_flutter


unity_ads_plugin 0.3.30
Пакет unity_ads_plugin позволяет легко интегрировать Unity Ads в мобильные приложения. Он поддерживает отображение баннеров, видеороликов с вознаграждением и интерститиальных видеороликов, имеет простую инициализацию и загрузку рекламы, а также поддержку серверных колбэков для вознаграждения.
👍 Лайки: 174, 📥 Скачиваний: 3.97K
📅 Обновлено: 6 дней назад
https://pub.dev/packages/unity_ads_plugin


google_mobile_ads 7.0.0
Пакет google_mobile_ads для монетизации Flutter-приложений с помощью Google Mobile Ads SDK. Он имеет большое количество скачиваний и лайков, что указывает на его популярность и эффективность.
👍 Лайки: 2460, 📥 Скачиваний: 576K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/google_mobile_ads


easy_ads_flutter 26.3.12
Пакет easy_ads_flutter позволяет легко интегрировать рекламу AdMob в ваш Flutter-приложение, поддерживая баннеры, интерститиальные, наградные и App Open рекламу, JIT-загрузку рекламы, простой API для загрузки и отображения рекламы, а также поддержку AdMob Mediation и GDPR.
👍 Лайки: 124, 📥 Скачиваний: 511
📅 Обновлено: 12 дней назад
https://pub.dev/packages/easy_ads_flutter


interactive_media_ads 0.3.0+12
Пакет interactive_media_ads позволяет легко интегрировать мультимедийную рекламу в ваши мобильные приложения для Android и iOS, поддерживая VAST, контроль над проигрыванием и простую интеграцию.
👍 Лайки: 0, 📥 Скачиваний: 0
📅 Обновлено: 5 дней назад
https://pub.dev/packages/interactive_media_ads


applovin_max 4.6.3
Пакет applovin_max позволяет легко интегрировать AppLovin MAX в ваши Flutter-приложения для Android и iOS, имея поддержку различных форматов рекламы и простую интеграцию.
👍 Лайки: 82, 📥 Скачиваний: 9.89K
📅 Обновлено: 9 дней назад
https://pub.dev/packages/applovin_max


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

#flutter #dart #pubdev #flutterpulse #AppodealFlutterPlugin #unity_ads_plugin #google_mobile_ads #easy_ads_flutter #interactive_media_ads #applovin_max
Оптимизация производительности Flutter-приложений: кеширование и отображение картинок 📸💻

Привет, друзья! 👋 Сегодня мы поговорим о том, как лучше всего кешировать картинки и в каком качестве их выводить на экран в ваших Flutter-приложениях. 🤔

Часто бывает так, что сервер отдает слишком большую картинку, и если их несколько на одном экране, могут возникнуть проблемы с производительностью и размером кеша. 📈 Чтобы решить эту проблему, мы можем использовать библиотеку cached_network_image и настроить максимальный размер изображения, который будет закеширован и показан на экране. 📊

Для этого есть четыре свойства:

maxHeightDiskCache: 300,
maxWidthDiskCache: 300,
memCacheHeight: 300,
memCacheWidth: 300,

Давайте разберемся с ними:

maxHeightDiskCache и maxWidthDiskCache отвечают за кеш, который хранится в постоянной памяти. Уменьшая его размер, мы уменьшаем количество данных на устройстве пользователя. 📁

memCacheHeight и memCacheWidth отвечают за изображение, которое хранится в ОЗУ и выводится пользователю. Делается это при помощи встроенного в Flutter виджета - ResizeImage. 📸

Теперь давайте рассмотрим, как их использовать. Для того, чтобы правильно подобрать размер, нам нужны: ширина и высота виджета и Device Pixel Ratio - характеристика устройства, которая показывает плотность пикселей. 📊

Если размер нам неизвестен либо высчитывается автоматически, то можно прибегнуть к получению constraints через LayoutBuilder. В итоге у нас получается такой код:

LayoutBuilder((context, constraints) {
final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
final cacheHeight = constraints.maxHeight * devicePixelRatio;
final cacheWidth = constraints.maxWidth * devicePixelRatio;
return CachedNetworkImage(

maxHeightDiskCache: cacheHeight,
maxWidthDiskCache: cacheWidth,
memCacheHeight: constraints.maxHeight,
memCacheWidth: constraints.maxWidth,

);
});


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


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

#flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga