Flutter Pulse
1.02K subscribers
676 photos
1 file
1.88K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Обзор пакетов на тему Table


horizontal_data_table 4.3.4
Пакет horizontal_data_table позволяет создавать горизонтальные таблицы с фиксированной первой колонкой. У него уже 409 лайков и 9.9K скачиваний!
👍 Лайки: 409, 📥 Скачиваний: 9.9K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/horizontal_data_table


pluto_grid 8.1.0
Этот пакет позволяет создавать таблицы данных, которые можно управлять с помощью клавиатуры. Он разрабатывается с приоритетом на веб и десктоп, но улучшения для мобильных устройств также планируются.
👍 Лайки: 1070, 📥 Скачиваний: 24.4K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/pluto_grid


trina_grid 2.2.2
Этот мощный инструмент для работы с таблицами в Flutter имеет более 18.1K скачиваний и 133 лайка.
👍 Лайки: 133, 📥 Скачиваний: 18.1K
📅 Обновлено: 13 дней назад
https://pub.dev/packages/trina_grid


material_table_view 5.5.2
Этот пакет предоставляет всестороннее решение для создания таблиц с данными в приложениях Flutter. Он предлагает множество функций, включая настраиваемые столбцы, поддержку горизонтального и вертикального скроллинга, анимацию расширения и сжатия строк, и многое другое.
👍 Лайки: 253, 📥 Скачиваний: 8.1K
📅 Обновлено: 9 месяцев назад
https://pub.dev/packages/material_table_view


syncfusion_flutter_datagrid 33.2.8
Этот пакет используется для отображения и манипуляции данными в табличном виде, с поддержкой редактирования, сортировки, группировки и экспорта в Excel и PDF.
👍 Лайки: 869, 📥 Скачиваний: 76.7K
📅 Обновлено: 47 часов назад
https://pub.dev/packages/syncfusion_flutter_datagrid


data_table_2 2.7.2
Этот пакет предоставляет улучшенные виджеты DataTable и PaginatedDataTable с фиксированными заголовками и левыми столбцами.
👍 Лайки: 974, 📥 Скачиваний: 174K
📅 Обновлено: 6 месяцев назад
https://pub.dev/packages/data_table_2


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

#flutter #dart #pubdev #flutterpulse #horizontal_data_table #pluto_grid #trina_grid #material_table_view #syncfusion_flutter_datagrid #data_table_2
Самые лучшие обновлённые пакеты за последние 24 часа

launchdarkly_dart_common 1.8.1 - пакет, содержащий код, подходящий как для клиентской, так и для серверной части Dart SDK. В новой версии исправлена ошибка, связанная с контекстом "multi". 👍 Лайки: 1, 📥 Скачиваний: 105К
https://pub.dev/packages/launchdarkly_dart_common

compdfkit_flutter 2.6.8 - PDF SDK для Flutter, который позволяет разработчикам создавать мобильные приложения с функциями просмотра, аннотации, редактирования и подписания PDF-документов. В новой версии добавлена поддержка ComPDFKit PDF SDK для iOS и Android, а также оптимизирована работа скроллбара и прогресс-бара. 👍 Лайки: 51, 📥 Скачиваний: 194
https://pub.dev/packages/compdfkit_flutter

saver_gallery 5.0.3 - пакет, который позволяет сохранять изображения и другие медиафайлы напрямую в галерею Android и iOS. В новой версии исправлена ошибка, связанная с параллельными запросами на сохранение файлов на iOS. 👍 Лайки: 75, 📥 Скачиваний: 42.6К
https://pub.dev/packages/saver_gallery

vector_graphics_compiler 1.2.4 - пакет, используемый для компиляции SVG-файлов в формат, который может быть отображен runtime vector_graphics. В новой версии исправлены крахи из-за круговых ссылок, а также добавлена защита от атак типа "Billion Laughs" и повышен минимум поддерживаемой версии SDK до Flutter 3.38/Dart 3.10. 👍 Лайки: 122, 📥 Скачиваний: 3.9М
https://pub.dev/packages/vector_graphics_compiler

fCheck 1.3.1 - пакет, используемый для быстрого анализа качества Flutter и Dart проектов, предоставляя оценку соответствия стандартам от 0 до 100%. В новой версии улучшен анализ зависимостей и отображение графиков. 👍 Лайки: 14, 📥 Скачиваний: 504
https://pub.dev/packages/fcheck

Polar 7.10.1 - плагин-обертка для Polar SDK, позволяющий разработчикам подключать устройства Polar к своим приложениям. В новой версии обновлены зависимости. 👍 Лайки: 22, 📥 Скачиваний: 833
https://pub.dev/packages/polar

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #launchdarkly_dart_common #compdfkit_flutter #saver_gallery #vector_graphics_compiler #fCheck #Polar
Причины возникновения утечек памяти и как их избежать 🤔
Когда мы работаем с Flutter, кажется, что сборщик мусора все сделает сам, но на практике утечки памяти случаются регулярно 📈. Экран закрыт, а какие-то объекты продолжают висеть в памяти, что приводит к тормозам и даже вылетам приложения на слабых устройствах 📊.

Откуда берутся утечки? 🤔
Чаще всего проблема в том, что объект создается, но не освобождается. Экран ушел, а контроллеры, подписки, таймеры или слушатели продолжают жить, держа ссылки на другие объекты и не отдавая память системе 📝.

Контроллеры и dispose: 📝
TextEditingController, ScrollController, AnimationController, FocusNode - все это нужно уничтожать в dispose(). Если этого не делать, каждый открытый экран будет оставлять после себя мусор 🚮. Правило простое: создал в initState - удали в dispose.

Подписки на Stream и слушатели: 📊
StreamSubscription, addListener у ChangeNotifier и ValueNotifier - это классические источники утечек. Если подписался, но не отписался, поток будет слать события в уже мертвый экран, удерживая его в памяти 📝. Решение: сохранять подписку и отменять ее в dispose.

BLoC и другие сущности с жизненным циклом: 📈
Если BLoC создается прямо внутри State, нужно не забыть вызвать close(). Удобнее использовать BlocProvider, который сам управляет жизненным циклом 📊. Главное правило: кто создал, тот и закрывает.

Таймеры: 🕒
Timer.periodic запускает повторяющиеся задачи. Если не отменить таймер при уходе с экрана, он будет продолжать тикать, вызывать setState и держать экран в памяти 📝. Всегда сохраняйте ссылку на таймер и вызывайте cancel() в dispose.

Сохраненный BuildContext: 📝
BuildContext нельзя хранить в сервисах, синглтонах или долгоживущих объектах. Он привязан к дереву виджетов, и хранение его надолго может привести к утечкам памяти 📊. Лучший способ - передавать контекст только в момент вызова, не сохраняя его.

Кэши без ограничений: 📈
Кэш - это тоже утечка, если он растет бесконтрольно. Изображения, модели, результаты запросов - все это копится в памяти, если вовремя не чистить 📝. Простое решение: ограничить размер кэша или очищать его при выходе пользователя.

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter #mobiledevelopment #programming
Обзор пакетов на тему ChatGPT, LLM & Generative AI


mcp_dart 2.2.0
Этот пакет позволяет создавать серверы и клиенты Model Context Protocol (MCP) для Dart и Flutter. Пакет предназначен для упрощения взаимодействия между компонентами приложения.
👍 Лайки: 62, 📥 Скачиваний: 69.1K
📅 Обновлено: 33 часа назад
https://pub.dev/packages/mcp_dart


dart_mcp 0.5.1
Этот пакет для Dart позволяет создавать MCP-серверы и клиенты. Он обеспечивает эффективное взаимодействие между компонентами приложения.
👍 Лайки: 81, 📥 Скачиваний: 152K
📅 Обновлено: 30 дней назад
https://pub.dev/packages/dart_mcp


LangChain.dart 0.8.1
LangChain.dart - это неофициальный порт популярного Python-фреймворка LangChain, который позволяет создавать приложения с поддержкой крупномасштабных языковых моделей (LLM). Пакет имеет модульную структуру и включает в себя готовые компоненты для работы с языковыми моделями.
👍 Лайки: 297, 📥 Скачиваний: 2.3K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/langchain


firebase_ai 3.12.1
Пакет Firebase AI Logic Flutter обеспечивает доступ к последним генеративным моделям AI, таким как Gemini и Imagen. Это позволяет разработчикам создавать инновационные приложения с использованием передовых технологий искусственного интеллекта.
👍 Лайки: 115, 📥 Скачиваний: 68.2K
📅 Обновлено: 15 дней назад
https://pub.dev/packages/firebase_ai


dart_openai 6.1.1
Этот пакет позволяет легко интегрировать модели AI от OpenAI в приложения Dart/Flutter. Он обеспечивает простой и эффективный способ использования возможностей искусственного интеллекта в своих проектах.
👍 Лайки: 574, 📥 Скачиваний: 21.8K
📅 Обновлено: 6 месяцев назад
https://pub.dev/packages/dart_openai


flutter_gemma 0.16.1
Этот пакет позволяет интегрировать в свои приложения на Flutter модели языка Gemma и другие локальные модели LLM, обеспечивая работу без подключения к внешним серверам. Пакет поддерживает мультимодальное взаимодействие и несколько платформ.
👍 Лайки: 370, 📥 Скачиваний: 14.9K
📅 Обновлено: 6 дней назад
https://pub.dev/packages/flutter_gemma


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


#flutter #dart #pubdev #flutterpulse #mcp_dart #dart_mcp #LangChain #firebase_ai #dart_openai #flutter_gemma
Самые лучшие обновлённые пакеты за последние 24 часа

chat_bubbles 1.10.0
Плагин для создания виджетов чат-пузырей в приложениях Flutter, аналогичных тем, что используются в WhatsApp и других мессенджерах.
В новой версии добавлены новые функции, такие как MessageBarStyle, позволяющий настраивать внешний вид и поведение панели сообщений, и возможность заменить стандартную кнопку отправки на любую пользовательскую.
👍 Лайки: 570, 📥 Скачиваний: 13.8К
https://pub.dev/packages/chat_bubbles

flutter_gen_ai_chat_ui 2.14.0
Плагин для создания современных и высокопроизводительных интерфейсов чата в приложениях Flutter, с поддержкой потоковых анимаций текста, markdown, вложений файлов и обширных возможностей настройки.
В новой версии добавлена возможность центрирования приветственного сообщения по вертикали, изменено стилизование заблокированного кода и добавлены новые тесты.
👍 Лайки: 93, 📥 Скачиваний: 2.2К
https://pub.dev/packages/flutter_gen_ai_chat_ui

flutter_reorderable_grid_view 5.7.0
Плагин для добавления функциональности перетаскивания и анимаций в GridView.
Теперь он поддерживает кривые анимации и имеет новые параметры для настройки анимаций.
👍 Лайки: 244, 📥 Скачиваний: 27.5К
https://pub.dev/packages/flutter_reorderable_grid_view

ultralytics_yolo 0.4.1
Плагин для запуска моделей YOLO в приложениях Flutter на iOS и Android.
В новой версии 0.4.1 исправлены ошибки и добавлены улучшения, включая поддержку Android edge-to-edge handling и обновление примера приложения для совместимости с Android 15+.
👍 Лайки: 73, 📥 Скачиваний: 2.6К
https://pub.dev/packages/ultralytics_yolo

shared_preference_app_group 2.1.0
Плагин для хранения общих настроек в приложениях для iOS и macOS, используя App Groups.
В новой версии добавлена поддержка macOS, а также поддержка обоих Swift Package Manager и CocoaPods.
👍 Лайки: 22, 📥 Скачиваний: 23.9К
https://pub.dev/packages/shared_preference_app_group

code_forge 10.3.0
Мощный редактор кода для Flutter, поддерживающий более 180 языков программирования и имеющий функции, такие как подсветка синтаксиса, сворачивание кода и интеграция с Language Server Protocol.
Исправлена проблема с размещением иконки лампочки для действий с кодом.
👍 Лайки: 56, 📥 Скачиваний: 15.4К
https://pub.dev/packages/code_forge

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

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #chat_bubbles #flutter_gen_ai_chat_ui #flutter_reorderable_grid_view #ultralytics_yolo #shared_preference_app_group #code_forge
Самые лучшие обновлённые пакеты за последние 24 часа

phone_numbers_parser 9.0.23 - плагин для парсинга и валидации телефонных номеров, поддерживая все платформы и форматы номеров. В новой версии обновлены метаданные. 👍 Лайки: 270, 📥 Скачиваний: 217К
https://pub.dev/packages/phone_numbers_parser

flutter_tree_pro 0.0.15 - плагин для создания виджета выбора дерева в Flutter. Теперь поддерживается перетаскивание листовых узлов для перестановки иерархии дерева, а также возможность добавления в качестве дочернего элемента или вставки как следующего брата. 👍 Лайки: 28, 📥 Скачиваний: 76
https://pub.dev/packages/flutter_tree_pro

executorch_flutter 0.4.1 - плагин для ускорения вычислений на macOS. В новой версии добавлен Metal backend для macOS, заменивший устаревший MPS backend. 👍 Лайки: 9, 📥 Скачиваний: 90
https://pub.dev/packages/executorch_flutter

koolbase_flutter 6.0.0 - SDK для Backend as a Service, предназначенный для мобильных разработчиков. В новой версии внесены значительные изменения, включая изменения в реальном времени, хранилище и добавлены новые исключения. 👍 Лайки: 8, 📥 Скачиваний: 858
https://pub.dev/packages/koolbase_flutter

internet_connection_checker_plus 3.0.1 - плагин для проверки наличия интернет-соединения в приложениях Dart и Flutter. В новой версии улучшена производительность и добавлена поддержка иммутабельности. 👍 Лайки: 514, 📥 Скачиваний: 117К
https://pub.dev/packages/internet_connection_checker_plus

flutter_soloud 4.0.7 - низкоуровневый аудио-плагин для Flutter, предназначенный для игр и иммерсивных приложений. В новой версии исправлены ошибки, добавлен лимитер и исправлена индексация DSP. 👍 Лайки: 577, 📥 Скачиваний: 52.5К
https://pub.dev/packages/flutter_soloud

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #phone_numbers_parser #flutter_tree_pro #executorch_flutter #koolbase_flutter #internet_connection_checker_plus #flutter_soloud
Forwarded from Gubin_dev
Йоу!

В поисках стажёра к себе в команду в Яндексе.

Мы занимаемся мобильной разработкой в области электромобильности. Если по-человечески: делаем штуки, которые помогают управлять электромобилем и заряжать его через сервисы Яндекса.

Есть два больших направления:

🔹 UMO — удалённое управление электромобилем
Зарядка, климат, безопасность, уведомления, первый запуск и вся магия “машина где-то там, а управляю я ей из приложения”.

🔹 EV-зарядки
Зарядные станции в Заправках, Go, Про, Картах и других сервисах. Выбрать станцию, выбрать коннектор, запустить зарядку, следить за процессом, завершить заказ, получить чек — вот это всё.

Что будет делать стажёр:

- писать фичи на Flutter;
- работать с реальными пользовательскими сценариями;
- трогать карты, поиск, фильтры, скидки;
- погружаться в архитектуру;
- улучшать DI, управление состоянием и структуру модулей;
- помогать выносить бизнес-логику из UI, потому что UI не должен страдать.

Кого хочется найти:

- человека, которому интересен Flutter и мобильная разработка;
- кто уже что-то писал на Dart/Flutter;
- кто готов разбираться, ошибаться, спрашивать и расти;
- pet-проекты, GitHub, учебные приложения — большой плюс.

Важный момент: хочется найти человека, который уже прошёл этапы отбора на стажировку в Яндекс или проходит их прямо сейчас / пройдёт накануне. Так будет проще и быстрее смэтчиться по команде.

Взамен: реальные задачи, сильная команда, продуктовая разработка, электромобили, зарядки и шанс нормально прокачаться во Flutter.

Если интересно — пишите в личку @webmadness
Если у вас есть знакомый джун/студент, которому это может зайти — перешлите пост.

Всем добра
🔥1💩1
Новые пакеты за неделю


in_app_gallery 1.0.0
Пакет in_app_gallery - это высоко настраиваемый и красивый пакет для выбора изображений и видео из галереи устройства. Он предоставляет отполированный интерфейс, сжатие медиа и надежную обработку медиа с помощью Bloc и photo_manager.
👍 Лайков: 1, 📥 Скачиваний: 125
Подробнее

unilitix 1.0.0
Трекинг сессий, экранов, событий и крахов с одной строкой кода.
👍 Лайков: 1, 📥 Скачиваний: 415
Подробнее

mypaint_ffi 1.0.0
Этот плагин позволяет рисовать кистевые мазки MyPaint на поверхности пикселей на Android-устройствах.
👍 Лайков: 1, 📥 Скачиваний: 0
Подробнее

mtflute 1.0.0
Пакет mtflute позволяет создавать Telegram-ботов и работать с Telegram API без использования Bot API. Он поддерживает авторизацию, отправку и редактирование сообщений, работу с файлами и многое другое.
👍 Лайков: 1, 📥 Скачиваний: 0
Подробнее

tsdtech_client_sdk 1.0.0
Этот пакет предназначен для интеграции платежей, сервисов и UI в приложениях Flutter и Dart.
👍 Лайков: 2, 📥 Скачиваний: 176
Подробнее

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #in_app_gallery #unilitix #mypaint_ffi #mtflute #tsdtech_client_sdk
Самые лучшие обновлённые пакеты за последние 24 часа

ffmpeg_kit_flutter_new 4.2.0!
Теперь пакет поддерживает Windows (x86_64) с полной версией FFmpeg 8.0 и включенными компонентами GPL.
Пакет включает в себя обновленные биндинги для Android и macOS, а также поддержку последних версий Flutter.
Пакет ffmpeg_kit_flutter_new используется для обработки видео и аудио в приложениях Flutter.
👍 Лайки: 186, 📥 Скачиваний: 26.4К
https://pub.dev/packages/ffmpeg_kit_flutter_new

re_editor 0.9.0!
Этот пакет представляет собой мощный и лёгкий виджет текстового и кодового редактора, который можно использовать как простую текстовую область или для разработки кодового редактора с сложными функциями.
В новой версии исправлены ошибки, добавлена поддержка новых функций и улучшена производительность.
👍 Лайки: 134, 📥 Скачиваний: 19.7К
https://pub.dev/packages/re_editor

rive_animated_icon 2.1.0!
Теперь пакет поддерживает databinding и включает новые иконки.
Более 50 иконок доступны для кастомизации.
👍 Лайки: 240, 📥 Скачиваний: 1.1К
https://pub.dev/packages/rive_animated_icon

nylo_framework 7.1.23!
Теперь с обновленными зависимостями nylo_support и patrol.
Уже 111 лайков и 4.7К скачиваний!
https://pub.dev/packages/nylo_framework

posthog_flutter 5.25.2!
Исправлена ошибка с отображением ссылок в опросах на Android.
Пакет имеет 86 лайков и более 175К скачиваний.
https://pub.dev/packages/posthog_flutter

propertylistserialization 1.5.0!
Теперь с обновленными зависимостями в pubspec.yaml.
Этот пакет используется для сериализации и десериализации plist-файлов в форматах XML и бинарном.
👍 Лайки: 6, 📥 Скачиваний: 43.3К
https://pub.dev/packages/propertylistserialization

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

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #ffmpeg_kit_flutter_new #re_editor #rive_animated_icon #nylo_framework #posthog_flutter #propertylistserialization
1
Полезный сниппет для анимации в Flutter! 🚀💻
Привет, друзья! 🤗 Сегодня мы создадим сниппет с настройкой для анимации через Animated Controller - animStful. Это будет полезный инструмент для ваших проектов на Flutter! 📈

Вот пример кода:

class $NAME$ extends StatefulWidget {
const $NAME$(super.key);

@override
State<$NAME$> createState() => _$NAME$State();
}

class _$NAME$State extends State<$NAME$> with SingleTickerProviderMixin {
late final AnimationController _controller;
late final Animation<double> _animation;

@override
void initState() {
super.initState();

_controller = AnimationController(
vsync: this,
duration: Duration(milliseconds: $DURATION$),
);
_controller.addListener(() => setState(() {}));

_animation = Tween<double>(begin: 0, end: 1).animate(_controller);
}

@override
Widget build(BuildContext context) {
return Container();
}

@override
void dispose() {
_controller.dispose();
super.dispose();
}
}

Вы можете копировать этот код в свой IDE и использовать его для создания своих собственных анимаций! 🎉

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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #flutter_amiga 💻📱
👍1
👉 Разбор внутренней механики жестов во Flutter получился настолько объёмным, что пришлось разделить материал на две части, сегодня делимся первой. Всё начинается на уровне платформы: когда ты касаешься экрана, операционная система собирает координаты, упаковывает их в пакеты и передаёт во фреймворк для запуска hit-test.
⬆️ В первой части Артём, Flutter-разработчик в Сёрф, подробно разобрал начало этого пути: обработку физического тапа и отправку событий в Dart.
💙 Полную новость читайте здесь.

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

#flutter #dart #FlutterPulse #FlutterPulseNews #surf_flutter
Самые лучшие обновлённые пакеты за последние 24 часа

flutter_plugin_android_lifecycle 2.0.35
Плагин для Flutter, который позволяет другим плагинам получить доступ к объектам жизненного цикла Android. Теперь поддерживается минимальная версия SDK Flutter 3.38/Dart 3.10.
👍 Лайки: 118, 📥 Скачиваний: 4.4М
https://pub.dev/packages/flutter_plugin_android_lifecycle

fvp 0.37.2
Плагин для поддержки всех настольных и мобильных платформ в официальном Flutter Video Player, с аппаратным ускорением декодирования и оптимальным рендерингом. В новой версии добавлена возможность создания динамического фреймворка с помощью SPM.
👍 Лайки: 170, 📥 Скачиваний: 13.1К
https://pub.dev/packages/fvp

shared_preferences_android 2.4.25
Плагин для хранения данных в приложениях Android с помощью SharedPreferences. Теперь минимальная поддерживаемая версия SDK обновлена до Flutter 3.38/Dart 3.10.
👍 Лайки: 20, 📥 Скачиваний: 4.9М
https://pub.dev/packages/shared_preferences_android

url_launcher_android 6.3.32
Плагин для запуска ссылок в приложениях на Android. В новой версии обновлены зависимости androidx.
👍 Лайки: 22, 📥 Скачиваний: 5.2М
https://pub.dev/packages/url_launcher_android

interactive_media_ads 0.3.0+16
Плагин для интеграции мультимедийной рекламы в приложения и сайты. Теперь с обновлением androidx группы в 10 директориях и 1 обновлением.
👍 Лайки: 101, 📥 Скачиваний: 200
https://pub.dev/packages/interactive_media_ads

go_router 17.3.0
Плагин для декларативного маршрутизации в Flutter, обеспечивая удобный, основанный на URL, API для навигации между разными экранами. В обновлении увеличена минимальная поддерживаемая версия SDK до Flutter 3.38/Dart 3.10 и добавлен параметр hasOverriddenOnExit для кастомных колбэков onExit.
👍 Лайки: 5730, 📥 Скачиваний: 2.9М
https://pub.dev/packages/go_router

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

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

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_plugin_android_lifecycle #fvp #shared_preferences_android #url_launcher_android #interactive_media_ads #go_router
Диплинки во Flutter: настройка для Android и iOS 🚀
Вы знали, что диплинки позволяют открывать приложение по ссылке и сразу попадать на нужный экран? 🤔 Это очень удобно для пользователей, и сегодня мы поговорим о том, как настроить диплинки во Flutter для Android и iOS. 📱

Для начала нам нужно добавить пакет app_links в наш проект. Это можно сделать с помощью команды:

flutter pub add app_links

Или добавить следующую строку в блок dependencies в файле pubspec.yaml:

app_links: ^7.1.1


Далее нам нужно настроить диплинки для Android и iOS отдельно. 📝

Настройка для Android:
В файле android/app/src/main/AndroidManifest.xml внутри <activity> нужно добавить intent-filter. Это правило, которое говорит системе, что нужно обрабатывать ссылки такого вида.

<intent-filter>
<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="your-domain.com" />
</intent-filter>


Настройка для iOS:
Добавьте схему в Xcode: откройте Info.plist как исходный код и добавьте:

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>myapp</string>
</array>
</dict>
</array>


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

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

#flutter #dart #FlutterPulse #FlutterPulseNews #hardworkerFlutter
Обновление экрана после асинхронной операции в Flutter: проблемы и решения
📱💻

Когда мы работаем с асинхронными операциями в Flutter, часто возникает проблема обновления экрана после выполнения этих операций. Основная сложность заключается в том, что состояние приложения может измениться во время выполнения асинхронной операции, что может привести к ошибкам или устаревшим данным 🤔. Чтобы решить эту проблему, необходимо проверить, подключен ли еще виджет к дереву, перед обновлением интерфейса. Для виджетов с State это можно сделать с помощью свойства mounted, а для объектов Cubit - с помощью свойства isClosed 📝.

Одним из ключевых моментов является проверка актуальности объекта, который должен обновлять интерфейс, перед обновлением 📊. Это позволяет избежать ошибок и устаревших данных, и обеспечивает правильное обновление интерфейса после асинхронной операции 🔄. Кроме того, если пользователь отправляет несколько запросов подряд, ответы могут прийти в неправильном порядке 📣. Чтобы решить эту проблему, можно использовать один из следующих подходов: счетчик или "номер запроса", отмена на стороне клиента или задержка запроса при поиске 🕒.

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


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

#flutter #dart #flutterpulse #flutterpulsehabr #асинхронныеОперации #обновлениеэкрана
Разработка полноценной RPG с детерминированными механиками и языковой моделью
🎮 В последнее время наблюдается растущий интерес к разработке игр с использованием языковых моделей. Одна из таких игр - полноценная RPG с детерминированными механиками, инвентарём, картой-графом и пермадезом, созданная на основе языковой модели (LLM). Однако разработчики столкнулись с проблемой сохранения контекста и состояния игры, что приводило к ошибкам и несоответствиям.

🤔 Чтобы решить эту проблему, авторы предложили использовать авторитарный бэкенд как единственный источник истины, который валидирует и фильтрует все изменения, предложенные LLM. Это позволило обеспечить детерминированность игровых механик и предотвратить ошибки. Кроме того, разработчики использовали JSON-контракт для описания логики игрового мира и систему защиты от галлюцинаций и Prompt Injection.

📈 Для оптимизации контекста и юнит-экономики авторы использовали кэширование промптов и векторную память для сохранения персистентности игрового мира. Это позволило снизить затраты на запросы к LLM и обеспечить эффективную работу игры. Кроме того, разработчики реализовали двухфазный RAG (Retrieval-Augmented Generator) с векторным поиском, который позволяет ИИ помнить события 50 ходов назад.

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


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

#flutter #dart #flutterpulse #flutterpulsehabr #gamedev #LLM #RPG #gamedevelopment