Flutter Pulse
420 subscribers
277 photos
562 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Лучшие обновленные пакеты за последние 24 часа!

audioplayers 6.5.0
Пакет для проигрывания нескольких аудиофайлов одновременно на разных платформах.
В новой версии исправлена ошибка с миграцией на Melos v7 и Pub Workspaces, добавлена возможность настройки таймаута подготовки и поиска, а также поддержка Swift Package Manager.
👍 Лайки: 3280, 📥 Скачиваний: 434К
https://pub.dev/packages/audioplayers

smooth_sheets 0.13.0
Пакет предлагает виджеты модальных и постоянных листов для приложений Flutter.
В новой версии добавлены новые функции: SheetScrollHandlingBehavior и утилитарные функции для показа модальных листов.
👍 Лайки: 433, 📥 Скачиваний: 13.2К
https://pub.dev/packages/smooth_sheets

petitparser 7.0.0
Пакет для создания грамматик и парсеров для программных языков.
В новой версии добавлена поддержка Unicode-характеров, улучшена гибкость и консистентность API, а также удален устаревший код.
👍 Лайки: 357, 📥 Скачиваний: 5.53М
https://pub.dev/packages/petitparser

xml 6.6.0
Пакет для парсинга, обхода, запросов и преобразования XML-документов.
В новой версии добавлена поддержка Dart 3.8 и PetitParser 7.0, исправлена декодировка имен с суррогатными символами.
👍 Лайки: 421, 📥 Скачиваний: 5.78М
https://pub.dev/packages/xml

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

decimal 0.1.3
Пакет для выполнения вычислений с десятичными числами без потери точности.
В новой версии добавлены новые методы: Decimal.signum, Decimal.hasFinitePrecision, Decimal.precision и Decimal.scale.
👍 Лайки: 398, 📥 Скачиваний: 546К
https://pub.dev/packages/decimal

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #audioplayers #smooth_sheets #petitparser #xml #awesome_extensions #decimal
Автоматическое создание новой версии в Apple Store
Перестаньте тратить время на заполнение метаданных для каждого языка!

Когда это полезно?
Каждый раз, когда вы публикуете новую версию приложения в Apple Store Connect, вам приходится заполнять 2 поля для каждого языка. Но вы также можете использовать это для обновления других полей метаданных.

Шаги для автоматизации процесса:

1. Установите fastlane.
2. Инициализируйте fastlane в папке iOS вашего проекта:
fastlane init

3. Настройте учетные данные Apple Store Connect в файле Appfile:

app_identifier("app.your.app.id") # Идентификатор пакета вашего приложения
apple_id("your@email.com") # Ваша учетная запись Apple ID
team_id("TEAM_ID") # ID команды Apple Store Connect
itc_team_name("TEAM_NAME") # Имя команды в App Store Connect


4. Добавьте следующий код в файл Fastfile:

default_platform(:ios)

platform :ios do
desc "Скачать метаданные из App Store Connect"
lane :download_metadata do
# Код для скачивания метаданных
end

desc "Создать новую версию в App Store Connect"
lane :release_new_version do |options|
# Код для создания новой версии
deliver(
app_version: options[:version],
skip_binary_upload: true,
force: true,
submit_for_review: false,
automatic_release: false,
metadata_path: "fastlane/metadata",
release_notes: "fastlane/metadata/#{options[:version]}/release_notes.txt",
skip_screenshots: true
)
end
end


Использование:
1. Скачайте метаданные:
fastlane deliver download_metadata

2. Создайте новую версию с предварительно заполненными данными для всех языков:
fastlane release_new_version version:"3.12.3"


Оцените новую рубрику и напишите свое мнение! 😊👍

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppStore #Fastlane #DevTips #ProductivityTips
Обзор пакетов на тему "Украшение, эффекты и анимация текста"

SuperTooltip - пакет для отображения всплывающих подсказок на экране с большей гибкостью, чем стандартный Tooltip в Flutter. Вы можете настроить фон, направление и поведение подсказки. 👍 Лайки: 268, 📥 Скачиваний: 67.7К, Версия: 2.0.9, Последнее обновление: 7 месяцев назад. https://pub.dev/packages/super_tooltip

Animated Text Kit - пакет для Flutter, содержащий коллекцию крутых текстовых анимаций! 👍 Лайки: 5390, 📥 Скачиваний: 165К, Последняя версия: 4.2.3, Последнее обновление: 4 месяца назад. https://pub.dev/packages/animated_text_kit

Type Writer Text - пакет для создания эффекта печатной машинки в вашем приложении. Поддерживает iOS, Android, web, Windows, macOS и Linux. 👍 Лайки: 198, 📥 Скачиваний: 12.8К, Версия: 3.0.9, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/typewritertext

Flutter Animate - библиотека для создания анимаций в Flutter! С помощью этой библиотеки вы можете легко добавлять различные анимационные эффекты к вашим виджетам. 👍 Лайки: 3850, 📥 Скачиваний: 650К, Версия: 4.5.2, Последнее обновление: 6 месяцев назад. https://pub.dev/packages/flutter_animate

Animated Size and Fade - пакет для создания анимированных переходов между виджетами, изменяя их размер и прозрачность. 👍 Лайки: 233, 📥 Скачиваний: 11.5К, Версия: 5.1.1, Последнее обновление: 4 месяца назад. https://pub.dev/packages/animated_size_and_fade

Marquee - виджет для создания бесконечно прокручивающегося текста с множеством настроек. 👍 Лайки: 1010, 📥 Скачиваний: 68.8К, Последняя версия: 2.3.0, Обновлен 8 месяцев назад. https://pub.dev/packages/marquee

#SuperTooltip #AnimatedTextKit #TypeWriterText #FlutterAnimate #AnimatedSizeAndFade #Marquee #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Flutter-Анимации 2025: Полный Гайд 🚀💻
Узнайте, как создавать плавные и эффективные анимации в ваших приложениях, и разберитесь в основных подходах и инструментах для создания анимаций во Flutter! 🌟
Откройте для себя новые возможности Flutter: неявные и явные анимации, ImplicitlyAnimatedWidget'ы, AnimatedOpacity, AnimatedPositioned и другие виджеты для создания плавных и красивых анимаций в ваших приложениях! 🌈
Поймите, когда и как использовать явные и неявные анимации в Flutter, и узнайте, как создавать плавные и контролируемые анимации в ваших приложениях! 📊
От основ до продвинутых техник: узнайте, как создавать плавные и реалистичные анимации в ваших приложениях с помощью Flutter! 🚀
Мастер-класс по созданию сложных анимаций: узнайте, как создавать выразительные и синхронизированные анимации с помощью явных анимаций и продвинутых техник, таких как Staggered-анимации! 🎨
Узнайте, как использовать Hero-анимации и физически-обоснованные анимации для создания естественного и интуитивного пользовательского опыта! 🌟
Сравните Lottie и Rive для создания анимаций во Flutter: узнайте, какой инструмент лучше подходит для ваших задач! 🤔
Обзор популярных пакетов для создания анимаций: flutter_animate, simple_animations и animations! 📚
Оптимизируйте свои анимации во Flutter: узнайте, как повысить производительность и достичь плавных 60+ FPS! 🚀
Создавайте интерактивные анимации в Flutter с помощью Rive и State Machines! 🤖
Узнайте, как создавать плавные и выразительные интерфейсы в Flutter с помощью анимаций! 🌈
Читайте статью и узнайте больше о создании анимаций во Flutter! Читать здесь 📄
🔥 Liquid Glass Renderer — эффект «жидкого стекла» теперь и во Flutter!

Новый пакет liquid_glass_renderer позволяет Flutter-разработчикам воссоздать визуальный стиль, вдохновлённый новым языком дизайна Apple — Liquid Glass, представленным на WWDC 2025 вместе с iOS 26, macOS Tahoe и другими платформами.

Что такое Liquid Glass?

Liquid Glass — это современный визуальный стиль с эффектами стеклянности, динамической прозрачности, глубины и плавного взаимодействия слоёв. Его основа — реалистичное поведение света и стекла в интерфейсах.

Теперь и во Flutter:

🧊 Эффект жидкого стекла: просто оберни любой виджет в LiquidGlass
🧬 Слои, которые сливаются между собой как настоящая жидкость
🎨 Гибкая настройка — толщина, цвет, освещение, блики, размытие
⚡️ Высокая производительность благодаря поддержке Impeller и шейдерам

Пример:

LiquidGlass(
shape: LiquidRoundedSuperellipse(
borderRadius: Radius.circular(50),
),
child: const SizedBox(
height: 200,
width: 200,
child: Center(child: FlutterLogo(size: 100)),
),
)


Важно:

Работает только на Impeller (поддержка Web, Windows, Linux — пока нет)

Поддерживается до 3 стеклянных фигур в одном LiquidGlassLayer

Установка:

flutter pub add liquid_glass_renderer


Импорт:

import 'package:liquid_glass_renderer/liquid_glass_renderer.dart';


Оцените эффект Liquid Glass сами — теперь вы можете создавать интерфейсы нового уровня прямо во Flutter!

#flutter #dart #liquidglass #design #WWDC2025 #FlutterUI #FlutterEffects #MobileDev #AppDesign #flutterpulse
Новые пакеты за неделю! 🚀

liquid_glass_renderer - создавайте эффект "жидкого стекла" или "матового стекла" в ваших приложениях. 👍 Лайки: 163, 📥 Скачиваний: 240
https://pub.dev/packages/liquid_glass_renderer

mic_stream_recorder - записывайте аудио с микрофона в режиме реального времени с мониторингом амплитуды. 👍 Лайки: 1, 📥 Скачиваний: 855
https://pub.dev/packages/mic_stream_recorder

video_view - легкий медиа-плеер с поддержкой субтитров и переключением аудиодорожек. 👍 Лайки: 2, 📥 Скачиваний: 436
https://pub.dev/packages/video_view

talker_http_logger - выводите в консоль подробную информацию о ваших HTTP-запросах и ответах. 👍 Лайки: 9, 📥 Скачиваний: 8.6К
https://pub.dev/packages/talker_http_logger

percent_indicator_circle - создавайте круглые индикаторы прогресса с возможностью настройки цвета, градиента и анимации. 👍 Лайки: 11, 📥 Скачиваний: 140
https://pub.dev/packages/percent_indicator_circle

foundation_models_framework - интегрируйте Apple's Foundation Models framework на iOS-устройствах, предоставляя доступ к AI-возможностям на устройстве. 👍 Лайки: 13, 📥 Скачиваний: 20
https://pub.dev/packages/foundation_models_framework

#liquid_glass_renderer #mic_stream_recorder #video_view #talker_http_logger #percent_indicator_circle #foundation_models_framework #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
Лучшие обновленные пакеты за последние 24 часа! 🚀

build 2.5.0
Пакет build используется для определения базовых компонентов процесса сборки и их взаимодействия. В новой версии улучшена производительность для крупных проектов, добавлены новые возможности логирования и улучшено сообщение об ошибке AssetNotFoundException.
👍 Лайки: 88, 📥 Скачиваний: 4.07М
https://pub.dev/packages/build

sentry_flutter 9.0.0
В этом обновлении минимальные версии Dart и Flutter обновлены до 3.5.0 и 3.24.0 соответственно, добавлена поддержка совместимости с Sentry Javascript SDK в Flutter Web и многое другое.
👍 Лайки: 988, 📥 Скачиваний: 639К
https://pub.dev/packages/sentry_flutter

flutter_svg 2.2.0
Пакет flutter_svg позволяет отрисовывать SVG-файлы в приложениях Flutter. В новой версии добавлена возможность выбора стратегии рендеринга, что может улучшить производительность в определенных случаях.
👍 Лайки: 5620, 📥 Скачиваний: 2.74М
https://pub.dev/packages/flutter_svg

build_resolvers 2.5.0
Пакет build_resolvers используется для реализации в памяти Resolvers для использования с пакетом build. В новой версии улучшена производительность для больших сборок и улучшено логирование.
👍 Лайки: 12, 📥 Скачиваний: 3.81М
https://pub.dev/packages/build_resolvers

build_runner 2.5.0
Пакет build_runner - это автономный генератор и наблюдатель для Dart, который позволяет генерировать файлы напрямую на диске и выполнять инкрементальные перестроения. В новой версии улучшена производительность для больших сборок.
👍 Лайки: 2180, 📥 Скачиваний: 3.92М
https://pub.dev/packages/build_runner

device_info_plus 11.5.0
Пакет device_info_plus позволяет получить информацию о текущем устройстве изнутри приложения Flutter. В новой версии исправлены требования к версиям Dart и Flutter, добавлен идентификатор для iPhone 16e и многое другое.
👍 Лайки: 2830, 📥 Скачиваний: 2.42М
https://pub.dev/packages/device_info_plus

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #build #sentry_flutter #flutter_svg #build_resolvers #build_runner #device_info_plus
Делегирование дизайна виджета
Привет, Flutter-разработчики! 👋 Сегодня мы рассмотрим полезный паттерн проектирования - делегирование дизайна виджета с использованием широко известного паттерна builder. 📈

Когда это полезно? 🤔
Вы создаете виджет списка радиокнопок или чекбоксов, например. И вы не хотите предоставлять дизайн каждого элемента списка. В таком случае вы создаете Item builder, который будет делегировать создание дочерних элементов. 📝



// Определяем тип OptionBuilder для построения элемента из ключа и состояния выбранности
typedef OptionBuilder = Widget Function(String key, bool selected);

// Определяем тип OnValidate для функции валидации
typedef OnValidate = void Function(String? key);

class RadioQuestion extends ConsumerStatefulWidget {
// ...
final OptionBuilder optionBuilder; // Делегируем построение элемента списка
final OnOptionIdSelected? onOptionIdSelected;
final OnValidate? onValidate;

const RadioQuestion({
super.key,
required this.optionBuilder,
this.onOptionIdSelected,
this.onValidate,
// ...
});

@override
ConsumerState<RadioQuestion> createState() => _RadioQuestionState();
}

class _RadioQuestionState extends State<RadioQuestion> {
int? _selectedIndex;

@override
void initState() {
_selectedIndex = widget.initialSelectedIndex;
super.initState();
}

@override
Widget build(BuildContext context) {
return List.generate(
widget.itemCount,
(index) => widget.optionBuilder(widget.keys[index], _selectedIndex == index),
);
}
}



В этом примере мы используем OptionBuilder для делегирования построения элементов списка. Это позволяет нам создать гибкий и переиспользуемый виджет. 🔄

Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips. 👀

#flutter #dart #flutterpulse #FlutterPulseTips #refactoring #widgetdesign #builderpattern #mobiledevelopment #codingtips
Обзор пакетов на тему Иконки (Icons) для Flutter 📦

Material Symbols Icons 📈
Пакет содержит 3899 иконок Material Symbols, включая поддержку языков, написанных справа налево.
Версия: 4.2815.1
Лайков: 241 👍
Скачиваний: 116К 📥
Последнее обновление: 23 дня назад 📅
https://pub.dev/packages/material_symbols_icons

Fluent UI System Icons 📊
Этот пакет содержит коллекцию современных иконок от Microsoft, которые можно использовать в ваших Flutter-приложениях.
Версия: 1.1.273
Лайков: 889 👍
Скачиваний: 12.7К 📥
Последнее обновление: 4 месяца назад 📅
https://pub.dev/packages/fluentui_system_icons

Country Flags 🏴️
Отображайте флаги стран в вашем приложении с помощью простого и удобного API. Поддерживаются коды стран, языков и валют.
Лайков: 132 👍
Скачиваний: 68.4К 📥
Версия: 3.3.0
Последнее обновление: 27 дней назад 📅
https://pub.dev/packages/country_flags

Font Awesome Flutter 🤩
Этот пакет позволяет использовать бесплатные иконки Font Awesome в ваших Flutter-приложениях. Включает более 1500 иконок, поддерживает различные стили и размеры.
Лайков: 4790 👍
Скачиваний: 670К 📥
Последнее обновление: 7 месяцев назад 📅
https://pub.dev/packages/font_awesome_flutter

Hugeicons Flutter Icons 📈
Эта коллекция из более 4700 иконок для Flutter теперь доступна в версии 0.0.11.
Лайков: 324 👍
Скачиваний: 9.51К 📥
Последнее обновление: 46 дней назад 📅
https://pub.dev/packages/hugeicons

Iconify Flutter 📊
Этот пакет содержит более 100 открытых наборов иконок для украшения ваших Flutter-приложений.
Лайков: 396 👍
Скачиваний: 3.51К 📥
Последнее обновление: 8 месяцев назад 📅
https://pub.dev/packages/iconify_flutter

#material_symbols_icons #fluentui_system_icons #country_flags #font_awesome_flutter #hugeicons #iconify_flutter #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
🚨 Новости из мира Dart! 🚨 🤩

Устали от того, что dart:io тормозит ваш код? 🤔 Вы не одиноки! 🙌 Стандартная библиотека Dart для работы с вводом/выводом давно вызывает боль у многих разработчиков. 🤕

Но не волнуйтесь, друзья! 🙅‍♂️ Разработчики Dart работают над новым экспериментальным пакетом io_file, который обещает решить все проблемы! 🎉 Главная цель - предоставить новую реализацию для работы с файловой системой на чистом Dart, с минимальным использованием нативного кода. 📈

API будет простым и предсказуемым, с прозрачной синхронной и асинхронной версией каждой операции. 🕒 Производительность обещают повысить за счет shared memory и пула воркеров! 🚀

Хотите узнать больше? 🤔 Читайте полную новость тут! 📄

Не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Dart и Flutter! 📱

#flutter #dart #flutterpulse 🚀💻
Кроссплатформенный опыт Surf с Flutter Web 🌊💻!
Узнайте все о Flutter Web: плюсы и минусы кроссплатформенного фреймворка 🤔, почему Flutter Web не является "настоящим" вебом 🌐 и как это влияет на производительность и SEO 📊.
Также мы расскажем, как адаптировать мобильное приложение для веб-платформы 📱💻, решить проблемы с навигацией, модальными окнами и Bottom Sheets 🚪.
Наконец, узнайте о возможностях и ограничениях Flutter Web 🌟, как создать адаптивный интерфейс и улучшить UX с помощью специальных виджетов 📈.
Читайте статью и откройте для себя новые возможности Flutter и Dart! 📚
Читать здесь 📖
#flutter #dart #flutterpulse 🚀💻
Лучшие обновленные пакеты за последние 24 часа!

syncfusion_flutter_datepicker 29.1.39
Пакет для выбора даты в Flutter-приложении. Обновлена минимальная версия Dart до 3.7.
👍 Лайки: 1580, 📥 Скачиваний: 216К
https://pub.dev/packages/syncfusion_flutter_datepicker

syncfusion_flutter_calendar 29.1.39
Пакет для создания календарей в Flutter-приложении. Исправлены ошибки и обновлена минимальная версия Dart до 3.7.
👍 Лайки: 1510, 📥 Скачиваний: 85.4К
https://pub.dev/packages/syncfusion_flutter_calendar

build_runner 2.5.1
Автономный генератор и наблюдатель для Dart. Исправлены ошибки и улучшена работа.
👍 Лайки: 2190, 📥 Скачиваний: 3.98М
https://pub.dev/packages/build_runner

build 2.5.1
Пакет для создания кастомных реализаций Builder и BuildStep. Обновлена зависимость на build_runner_core.
👍 Лайки: 88, 📥 Скачиваний: 4.14М
https://pub.dev/packages/build

syncfusion_flutter_charts 29.2.4
Пакет для создания графиков в Flutter-приложении. Исправлена ошибка, связанная с переключением легенды.
👍 Лайки: 3500, 📥 Скачиваний: 250К
https://pub.dev/packages/syncfusion_flutter_charts

build_resolvers 2.5.1
Пакет для реализации в памяти Resolvers для использования с пакетом build. Обновлена зависимость на build_runner_core.
👍 Лайки: 12, 📥 Скачиваний: 3.87М
https://pub.dev/packages/build_resolvers

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_datepicker #syncfusion_flutter_calendar #build_runner #build #syncfusion_flutter_charts #build_resolvers
Заменить код типа на объединенный тип
Удаление кода типа из вашего класса с помощью объединенного типа

Представьте, что у вас есть класс, который ведёт себя по-разному в зависимости от своего состояния. Вместо того, чтобы использовать перечисления (enum) и конструкции switch для определения поведения, вы можете использовать новую возможность Dart 3 — sealed классы. Это делает код чище, безопаснее и проще в поддержке.

Было:

enum DocumentType {
pdf,
doc,
markdown,
}

class Document {
final String name;
final DocumentType type;

Document({
required this.name,
required this.type,
});

void write(String newLine) {
switch (type) {
case DocumentType.pdf:
// предположим, что у нас есть библиотека для pdf
break;
case DocumentType.doc:
// предположим, что у нас есть библиотека для doc
break;
case DocumentType.markdown:
// предположим, что у нас есть библиотека для markdown
break;
}
}
}


Стало:

sealed class DocumentSealed {
final String name;

DocumentSealed({required this.name});
}

class PdfDocument extends DocumentSealed {
PdfDocument({required super.name});

void write(String newLine) {
// используем библиотеку для pdf
}
}

class DocDocument extends DocumentSealed {
DocDocument({required super.name});

void write(String newLine) {
// используем библиотеку для doc
}
}

class MarkdownDocument extends DocumentSealed {
MarkdownDocument({required super.name});

void write(String newLine) {
// используем библиотеку для markdown
}
}


Использование:

class Widget extends StatelessWidget {
final DocumentSealed document;

const Widget({super.key, required this.document});

@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
switch (document) {
case PdfDocument _:
document.write('Hello World');
case DocDocument _:
document.write('Hello World');
case MarkdownDocument _:
document.write('Hello World');
}
},
child: Text(document.name),
);
}
}


Преимущества:
• Инкапсуляция кода типа в отдельные классы
• Для каждого типа создается свой подкласс
• Разная логика для разных типов без использования switch
• Код становится более читаемым и тестируемым

Оцените новую рубрику! 💡📱 Ваши отзывы нам очень важны! 😊

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #Refactoring #CodingTips #SoftwareDevelopment #ProgrammingTips
Обзор пакетов на тему "Постоянные NoSQL базы данных"

Sembast - простое решение для хранения данных в ваших приложениях на Dart и Flutter! 📈
Sembast - это NoSQL база данных, которая хранит все данные в одном файле и загружает их в память при открытии. Поддерживает шифрование и работает на всех платформах, включая MacOS, Android, iOS, Linux и Windows.
👍 Лайки: 1140, 📥 Скачиваний: 163К
Последнее обновление 📅: 25 дней назад
https://pub.dev/packages/sembast

ObjectBox - пакет для управления базами данных в Flutter! 🚀
Позволяет работать с объектами Dart в кроссплатформенных и AI-приложениях.
🔥 Возможности: искусственный интеллект, поиск векторных данных, высокая производительность и минимизация использования ресурсов.
👍 Лайки: 1450, 📥 Скачиваний: 54.9К
Последнее обновление 📅: 21 день назад
https://pub.dev/packages/objectbox

Flutter Secure Storage - безопасное хранение данных в Flutter! 🔒
Позволяет хранить данные в защищённом хранилище на различных платформах.
Использует Keychain на iOS, AES-шифрование на Android и libsecret на Linux.
👍 Лайки: 4180, 📥 Скачиваний: 1.75М
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/flutter_secure_storage

LocalStorage - пакет для хранения небольших объемов данных локально на устройстве пользователя! 📁
Не рекомендуется использовать для хранения больших объемов или конфиденциальных данных.
👍 Лайки: 369, 📥 Скачиваний: 18К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/localstorage

Shared Preferences - простое хранение данных в приложениях! 📝
Позволяет хранить простые данные на различных платформах.
Поддерживает синхронные и асинхронные методы чтения и записи данных.
👍 Лайки: 10200, 📥 Скачиваний: 3.39М
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/shared_preferences

Realm - мобильная база данных, работающая напрямую на устройствах! 📊
Поддерживает последние версии Dart и Flutter и имеет богатый набор функций.
👍 Лайки: 697, 📥 Скачиваний: 47К
Последнее обновление 📅: 35 дней назад
https://pub.dev/packages/realm

#Sembast #ObjectBox #FlutterSecureStorage #LocalStorage #SharedPrefernces #Realm #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseThemedPackages
Flutter + Jules (настройка контейнера для background AI Agent) 🚀💻
Узнайте, как использовать Jules для упрощения вашей работы с Flutter и Dart! 🤩
Новый инструмент разработки от Google - Jules! 🚀 Это бесплатный AI-агент, работающий на платформе Gemini. Он может помочь с поддержкой проектов, автоматизацией задач и даже рефакторингом кода 📈. Tv
Читать здесь📄
Статья немного странная, на мой взгляд, но может я не прав
#flutter #dart #flutterpulse 💻🔥
Лучшие обновленные пакеты за последние 24 часа!

location 5.0.0
Пакет location позволяет получать местоположение на Android и iOS, а также предоставляет обратные вызовы при изменении местоположения. В новой версии исправлены ошибки и улучшена стабильность.
👍 Лайки: 3150, 📥 Скачиваний: 240К
https://pub.dev/packages/location

build_resolvers 2.5.2
Пакет build_resolvers используется для реализации в памяти Resolvers для использования с пакетом build. В новой версии упрощены предупреждения для устаревшего анализатора.
👍 Лайки: 12, 📥 Скачиваний: 4.04М
https://pub.dev/packages/build_resolvers

go_router 15.2.3
Пакет go_router - это декларативный пакет маршрутизации для Flutter, позволяющий использовать Router API для навигации между экранами на основе URL. В новой версии обновлена документация по теме "Type-safe routes".
👍 Лайки: 5330, 📥 Скачиваний: 1.8М
https://pub.dev/packages/go_router

infinite_scroll_pagination 5.1.0
Пакет infinite_scroll_pagination используется для реализации бесконечной прокрутки и пагинации в Flutter-приложениях. В новой версии добавлены новые функции и исправлены ошибки.
👍 Лайки: 3770, 📥 Скачиваний: 421К
https://pub.dev/packages/infinite_scroll_pagination

build 2.5.2
Пакет build определяет основные компоненты процесса сборки и их взаимодействие. В новой версии используется `build_runner_core` 9.1.0.
👍 Лайки: 88, 📥 Скачиваний: 4.32М
https://pub.dev/packages/build

build_runner 2.5.2
Пакет build_runner используется для генерации файлов в проектах на Dart. В новой версии упрощены предупреждения об устаревшем анализаторе.
👍 Лайки: 2190, 📥 Скачиваний: 4.16М
https://pub.dev/packages/build_runner

#location #build_resolvers #go_router #infinite_scroll_pagination #build #build_runner #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Использование ИИ в вашем приложении с помощью Gemini

Привет, разработчики Flutter! 🤖💻 Сегодня мы расскажем, как добавить Gemini в ваше приложение с помощью Firebase Functions безопасным способом 🔒.

Почему не стоит использовать плагин flutter_gemini?

Из соображений безопасности я настоятельно предпочитаю не раскрывать свой ключ API Gemini в приложении 🔑.

Шаги по интеграции Gemini с Firebase:

1. Создайте новый проект Firebase с помощью команды firebase init genkit или установите необходимые зависимости 📦.
- Установите следующие пакеты:
- @genkit-ai/ai
- @genkit-ai/core
- @genkit-ai/dotprompt
- @genkit-ai/firebase
- @genkit-ai/flow
- @genkit-ai/googleai
- zod

2. Установите genkit глобально: npm install -g genkit 🌐.

3. Инициализируйте gemini, используя configureGenkit 🔧.



import { initializeApp } from "firebase/app";
import { defineString } from "firebase-functions/params";
import { configureGenkit } from '@genkit-ai/core';
import { firebase } from '@genkit-ai/firebase';

defineString('GOOGLE_GENAI_API_KEY');
const firebaseApp = initializeApp();

configureGenkit({
plugins: [
firebase(),
googleAI({ apiKey: defineString('GOOGLE_GENAI_API_KEY') }),
],
// ...
enableTracingAndMetrics: true,
});



Добавьте ключ API в файл .env и не забудьте удалить .env из .gitignore, иначе Firebase не сможет его использовать 🚫.



export const suggestionFlow = onFlow({
name: "suggestionFlow",
httpsOptions: { cors: true },
region: "europe-west1",
inputSchema: z.object({ uid: z.string(), query: z.string(), language: z.string() }),
outputSchema: z.string(),
authPolicy: (auth, input) => {
// Проверка аутентификации пользователя
if (auth.uid != input.uid) {
throw new Error("You can only access your own data");
}
// Проверка поддерживаемого языка
if (input.language != "fr" && input.language != "en") {
throw new Error("Only French and English are supported for now");
}
// Разрешить доступ только аутентифицированным пользователям
return !!auth.uid;
},
}, async (input) => {
const exercicesContext = JSON.stringify(exercices);
const userLanguage = input.language;
const prompt = `You are an AI assistant that helps users with XXX. You will speak in the user's language: $userLanguage.
You will answer with the JSON format below:
{"days": [{"day": number, "steps": {...}, "description": string}]}
Here is the user query: ${input.query}`;

const llmResponse = await generate({
model: gemini15Flash,
prompt,
config: {
temperature: 1,
maxOutputTokens: 3000,
},
});

return llmResponse.text();
});



Разверните эту функцию на Firebase с помощью команды firebase deploy --only functions 🚀.

Вызов функции из Flutter:


Future<String> fetchStretchingSuggestionFlow(
String uid,
String query,
String userLanguage,
) async {
final callable = FirebaseFunctions.instance.httpsCallable('suggestionFlow');
final result = await callable.call<String>({
'uid': uid,
'query': query,
'language': userLanguage,
});
final data = (await decode(result.data)) as Map<String, dynamic>;
return AIexercice.fromJson(data);
}



Оцените нашу новую рубрику и оставьте свои отзывы! 😊👍

Все подобные новости можно найти по хэштегу #FlutterPulseTips.

#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #Gemini #AI #FlutterTips #MobileDev #AppDev