Flutter Pulse
640 subscribers
398 photos
879 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Сегодня мы поговорим об одном из самых популярных плагинов для Flutter-приложений - cached_network_image 📸. Этот плагин позволяет не только загружать и отображать изображения из сети, но и кэшировать их на устройстве 📁. Очень полезная функция, которая может улучшить производительность вашего приложения! 🚀

Как использовать cached_network_image? 🤔 Для начала, вам нужно добавить в верстку виджет CachedNetworkImage и передать ему ссылку на изображение в поле imageUrl 📝. Затем, вы можете настроить индикатор загрузки с помощью placeholder или progressIndicatorBuilder 📊. Также, не забудьте обработать ошибки с помощью errorWidget и errorListener 🚨.

Управление кэшем 📁 - еще одна важная функция cached_network_image. Вы можете использовать cacheManager для очистки кэша, удаления или извлечения файлов из кэша 📝. И, если вам нужно больше контроля над кэшем, вы можете создать свой кастомный менеджер кэша 🤔.

Хотите узнать больше? 🤔 Тогда перейдите по ссылке и прочитайте полную статью 📄. И, не забудьте подписаться на наш канал flutterpulse 📣, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 🚀 #flutter #dart #flutterpulse ❤️
Самые лучшие обновлённые пакеты за последние 24 часа

Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging

Vania 1.1.0
Теперь с поддержкой валидации форм, вспомогательными методами для запросов и проверкой здоровья базы данных.
Установите последнюю версию: https://pub.dev/packages/vania
Лайков: 162, Скачиваний: 166
👍

shadcn_ui 0.33.0
Теперь вы можете расширять ShadTextTheme и ShadColorScheme с помощью пользовательских стилей и цветов.
Узнайте больше: https://pub.dev/packages/shadcn_ui
Лайков: 742, Скачиваний: 16.1К
📈

dart_pubspec_licenses 3.0.14
Этот пакет помогает собирать и собирать информацию о лицензиях OSS, используя pubspec.lock.
В новой версии исправлена ошибка PathNotFoundException при обработке предварительных версий Flutter.
Лайков: 2, Скачиваний: 238К
https://pub.dev/packages/dart_pubspec_licenses
📊

adapty_flutter 3.11.2
Этот пакет используется для простой интеграции покупок внутри приложения в Flutter. Теперь с поддержкой Adapty Android SDK 3.11.1 и исправлением различных ошибок.
Уже 7290 скачиваний и 107 лайков!
https://pub.dev/packages/adapty_flutter
🛍️

build 4.0.1
В этом обновлении были внесены улучшения в dartdoc.
Пакет build используется для написания кода генераторов, которые запускаются с помощью build_runner.
Уже 4.7М скачиваний и 95 лайков!
https://pub.dev/packages/build
📈

rive_native 0.0.12
Этот пакет используется для интеграции с ядром Rive C++ runtime и предоставляет более интуитивный API для работы с графикой Rive в Flutter.
В обновлении исправлены ошибки, улучшена производительность и память, а также добавлены новые функции, такие как addAdvanceRequestListener.
Лайков: 51
Скачиваний: 25.7К
https://pub.dev/packages/rive_native
📊
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #vania #shadcn_ui #dart_pubspec_licenses #adapty_flutter #build #rive_native
1
Сегодня я хочу рассказать вам о пакете dart_frog, который упрощает создание роутингов для вашего бэкенда 🌐. Этот пакет автоматически генерирует код, что делает работу с запросами намного проще 🐸.

Чтобы начать работу с dart_frog, вам нужно установить зависимость и использовать команды пакета 📦. Например, чтобы создать проект, используйте команду dart_frog build 🌟. Это создаст структуру проекта, включая DockerFile 📁.

Основная логика обработки запросов в Dart Frog строится на маршрутах (routes) 🗺. Каждый маршрут соответствует определенному пути и методу HTTP, и чтобы его добавить, необходимо создать файл-обработчик в директории routes/ 📂.

Вы также можете использовать middleware 🤖, чтобы добавить дополнительную логику к вашим маршрутам. Middleware реализуется как функция, которая оборачивает обработчик маршрута и возвращает новый обработчик с дополнительной логикой 🔄.

Чтобы узнать больше о dart_frog и как его использовать, читайте полную статью по ссылке: https://t.me/flutterfriendly/233 📄.

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

#flutter #dart #flutterpulse 🚀💻👍
Supabase: Привязка анонимного пользователя к аутентифицированному

Анонимный пользователь - это действительно здорово. Вы автоматически создаете нового пользователя в своей базе данных каждый раз, когда кто-то впервые запускает ваше приложение.
Затем вы можете позволить ему подписаться, начать работать с вашим приложением, не беспокоя его просьбой ввести email...
А затем, когда он действительно вовлечется в процесс, вы можете привязать его учетную запись.



@override
Future<Credentials> signup(String email, String password) async {
if (client.auth.currentUser?.isAnonymous == true) {
// Обновляем анонимного пользователя с помощью email и password
final res = await client.auth.updateUser(UserAttributes(email: email, password: password));
if (res.user != null) {
return Credentials(id: res.user!.id);
} else {
throw 'Ошибка при обновлении пользователя';
}
}
return client.auth
.signUp(email: email, password: password)
.then(
(value) => Credentials(id: value.user!.id),
onError: (error) {
Logger().e("Ошибка при регистрации: $error");
throw SignupException();
},
);
}



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

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #Supabase #MobileDev #AppDev #CodingTips #DevTips
👍1
Flutter-дайджест сентября 🌐

Сентябрь выдался ярким месяцем для Flutter-разработчиков: статьи на Хабре, новые пакеты и мощные обновления, разборы на YouTube и полезные советы для прокачки проектов 🚀

В дайджесте вы найдёте:

🎓 статьи с Хабра (RenderObject, CI/CD, хитрости релиза в сторы);
🎥 лучшие видео (FFI + Rust, Talker, сборка бинарников);
📦 топовые пакеты месяца (flutter_slidable, go_router, drift, flutter_map, Firebase и др.);
🆕 новые пакеты недели (bodychart_heatmap, fquery, isar_plus, loader_pro, cupertino_native);
💡 #FlutterPulseTips (кастомные переходы страниц, точный таймер, лайфхаки с формами).

Полный обзор читайте 👉 здесь

Давайте вместе вспомним что произошло за прошедший месяц

#Flutter #Dart #FlutterPulse #PubDev #Хабр #MobileDev
Обзор пакетов на тему Command Line (CLI) или Console 📊
Новости из мира Dart и Flutter:
args 👍 410 лайков, 📥 8 950 000 скачиваний! Пакет args позволяет легко парсить аргументы командной строки в Dart. Поддерживает стиль опций GNU и POSIX. Обновлено 6 месяцев назад. https://pub.dev/packages/args 📅
Mason CLI 👍 391 лайк, 📥 25 000 скачиваний! Позволяет разработчикам создавать и использовать повторно используемые шаблоны для ускорения разработки. Обновлено 10 месяцев назад. https://pub.dev/packages/mason_cli 📅
completion 👍 51 лайк, 📥 4 059 999 скачиваний! Добавляет автодополнение команд в консольные приложения Dart. Обновлено 2 месяца назад. https://pub.dev/packages/completion 📅
DCli 👍 214 лайков, 📥 1.37M скачиваний! API и инструменты для создания кроссплатформенных командных приложений и скриптов на языке Dart. Обновлено 5 дней назад. https://pub.dev/packages/dcli 📅
cli_util 👍 84 лайка, 📥 4.49 млн скачиваний! Пакет для создания консольных приложений на Dart. Обновлён 11 месяцев назад. https://pub.dev/packages/cli_util 📅
Very Good CLI 👍 696 лайков, 📥 89 500 скачиваний! Инструмент для разработчиков на Dart и Flutter. Обновлено 41 день назад. https://pub.dev/packages/very_good_cli 📅
#args #mason_cli #completion #dcli #cli_util #very_good_cli #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages 🚀💻👍
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

shared_preferences_android 2.4.14
Плагин для хранения данных в приложениях для Android. Теперь с поддержкой Java 17 и минимальной версией SDK Flutter 3.35/Dart 3.9.
👍 Лайки: 17, 📥 Скачиваний: 4.3М
https://pub.dev/packages/shared_preferences_android

url_launcher_android 6.3.23
Плагин для запуска ссылок в Android-приложениях. Теперь с совместимостью Java 17.
👍 Лайки: 20, 📥 Скачиваний: 4.9М
https://pub.dev/packages/url_launcher_android

shadcn_ui 0.35.0
Пакет для автоматической генерации тем с помощью пакета theme_extensions_builder и изменения в методах merge и canMerge.
👍 Лайки: 744, 📥 Скачиваний: 16.8К
https://pub.dev/packages/shadcn_ui

watcher 1.1.4
Пакет для мониторинга изменений в директориях и отправки уведомлений при добавлении, удалении или изменении файлов. В новой версии улучшено обработка поддиректорий и переполнения на Windows.
👍 Лайки: 227, 📥 Скачиваний: 9.9М
https://pub.dev/packages/watcher

graphview 1.5.0
Пакет для создания графических представлений данных. Теперь доступны 5 новых алгоритмов макета, включая BalloonLayoutAlgorithm, CircleLayoutAlgorithm, RadialTreeLayoutAlgorithm, TidierTreeLayoutAlgorithm и MindmapAlgorithm.
👍 Лайки: 486, 📥 Скачиваний: 13.4К
https://pub.dev/packages/graphview

pro_image_editor 11.7.0
Пакет для редактирования изображений в приложениях Flutter. Теперь вы можете контролировать навигацию назад в подредакторах с помощью опции enableGesturePop.
👍 Лайки: 475, 📥 Скачиваний: 26.1К
https://pub.dev/packages/pro_image_editor

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #shared_preferences_android #url_launcher_android #shadcn_ui #watcher #graphview #pro_image_editor
2
Привет всем! ✌️ Руслан продолжает свой увлекательный эксперимент по созданию приложения для генерации скетчей во Flutter. В этом выпуске — сразу несколько крутых обновлений! 🚀

Сегодня мы не просто кодим, а погружаемся в вайб и улучшаем наш проект:

Улучшаем промпт для генерации более реалистичных и точных скетчей, которые теперь лучше понимают, что хочет пользователь.
Обновляем дизайн, внедряя элементы стиля LiquidGlass — делаем интерфейс современным и стильным.
Проводим рефакторинг — убираем лишний код, упрощаем архитектуру и делаем приложение более читаемым и поддерживаемым.

В видео вы увидите:
🔹 Как работать с библиотекой Liquid Glass для создания красивых UI-эффектов.
🔹 Как правильно выносить код в отдельные виджеты и файлы.
🔹 Как добавить анимации нажатия на кнопки с помощью Implicit Animations.
🔹 Как избежать race condition при множественных запросах.

Если вам интересно продолжение — например, как публиковать такое приложение или есть идеи по улучшению — оставляйте комментарии прямо под видео! 💬

🔗 Ссылка на видео: Vibe coding. Приложение для скетчей с нуля. Часть 3

📩 Связаться с Русланом: https://t.me/ruslan_tsitser

Обязательно посмотрите и другие видео по хэштегу #FlutterPulseYoutube! 🎥

#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #Refactoring #CleanCode #FlutterArchitecture #StatefulWidget #ComponentBasedUI #fluttertutorial
Привет, программисты! 🤩 Сегодня я хочу рассказать вам о самом интересном подходе к разработке - TDD (Test-Driven Development) 🚀! Это когда сначала вы пишете тесты, а потом уже код 🤯. Звучит странно, но поверьте, это очень эффективно 📈!

Как это работает? 🤔
▪️ Пишем маленький тест, описывающий нужное поведение 📝
▪️ Запускаем его — тест падает, ведь кода еще нет 🚫
▪️ Реализуем минимальный код, чтобы тест прошел 💻
▪️ Рефакторим код, при этом тесты должны оставаться зелеными 🌿

Пример для понимания 📊
Допустим, нам нужна функция sum, которая складывает два числа 🤔. Сначала пишем тест:

import 'package:flutter_test/flutter_test.dart';

void main() {
test('sum should return correct result', () {
expect(sum(2, 3), 5); // ожидаем 2 + 3 = 5
});
}


Он упадет, так как функции еще нет 🚫. Пишем минимальный код, чтобы тест прошел:

int sum(int a, int b) {
return a + b;
}


Плюсы 🌟
◽️ Код становится надежнее и полностью покрыт тестами 💯
◽️ Рефакторить проще — тесты страхуют 🛡
◽️ Требования становятся понятнее (каждый тест фиксирует ожидание) 📝

Минусы 🌪
◽️ Разработка стартует медленнее ⏱️
◽️ Нужно уметь писать хорошие тесты 🤔
◽️ Сложнее применять к UI или к большим интеграциям 🤯

А как у вас с TDD? 🤔 Хотите узнать больше? 🤓 Читайте полную статью по ссылке: https://t.me/flutterfriendly/234

Не забудьте подписаться на наш канал flutterpulse 📣, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter 🚀 и Dart 🌟! #flutter #dart #flutterpulse 🚀💻
👍2
Полезные конфигурации VSCode для экономии времени

VSCode позволяет запускать код при сохранении или включить автоматическое форматирование... Вот несколько конфигураций, которые сэкономят ваше время!

{
"editor.formatOnSave": true,
"[dart]": {
"editor.formatOnSave": false, // Автоматически форматировать dart файлы (вкл/выкл)
"editor.inlayHints.enabled": "off",
"editor.codeActionsOnSave": {
"source.fixAll": "explicit", // Автоматически исправлять весь код при явном сохранении dart файла
"source.organizeImports": "explicit" // Автоматически исправлять код (добавлять const...) при сохранении dart файла
}
}
}


Отключение отображения типов переменных серым цветом

Оцените новую рубрику и оставьте свои комментарии! 👍💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #VSCode #ProductivityTips #CodingTips #FlutterDev #DartLang
👍1
Обзор пакетов на тему Background Effects, Gradients & Shaders 🌟
Пакет Newton позволяет легко добавлять в ваши приложения эффекты дождя, дыма, взрывов и многое другое, а также реалистичные физические эффекты, такие как гравитация и столкновения. 👍 109 | 📦 8360, последнее обновление было 13 месяцев назад 📅
Пакет particles_flutter - пакет для легкого добавления анимации частиц в проекты Flutter! 🎉 172 лайка, 1940 скачиваний, обновлено 13 месяцев назад 📅
Пакет weather_animation - создай анимированные погодные сцены без использования gif/png! 🌇 125 лайков, 541 скачиваний, обновлено 8 месяцев назад 📅
Пакет O'Mesh Flutter позволяет создавать быстрые и настраиваемые градиенты в формате "свободной формы" для ваших Flutter-приложений. 🎨 8220 скачиваний, версия 0.5.0, обновлена 4 месяца назад 📅
Пакет MeshGradient позволяет создавать красивые, жидкие градиенты в ваших Flutter-приложениях. 🎨 257 лайков, 21 600 скачиваний, обновлено 12 месяцев назад 📅
Пакет flutter_shaders - пакет для упрощения работы с FragmentProgram API в Flutter! 📢 112 лайков, 804 000 скачиваний, v0.1.3, обновлён 12 месяцев назад 📅
Скачайте эти пакеты на pub.dev и улучшите ваши приложения! 🚀
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #newton #particles_flutter #weather_animation #omeshflutter #meshgradient #flutter_shaders
1🔥1
Самые лучшие обновлённые пакеты за последние 24 часа

very_good_cli 0.27.0 - инструмент командной строки для Dart, позволяющий создавать новые проекты, запускать тесты и управлять пакетами. В новой версии добавлены новые функции, исправлены ошибки и улучшена документация. 👍 Лайки: 697, 📥 Скачиваний: 94.3К
https://pub.dev/packages/very_good_cli

postgres 3.5.8 - пакет для подключения и запросов к базам данных PostgreSQL. В обновлении обновлены ограничения SDK и линты, добавлен новый аутентификатор SASL и оптимизировано захват стека вызовов. 👍 Лайки: 380, 📥 Скачиваний: 70К
https://pub.dev/packages/postgres

record 6.1.2 - аудиорекордер, который позволяет записывать аудио с микрофона в файл или поток на различных платформах. В новой версии обновлены транзитивные зависимости и исправлена документация. 👍 Лайки: 825, 📥 Скачиваний: 380К
https://pub.dev/packages/record

shadcn_ui 0.36.1 - коллекция кастомизируемых UI-компонентов для Flutter. Теперь вы можете настраивать текстовый стиль кнопок с помощью свойства textStyle в ShadButton и ShadButtonTheme. 👍 Лайки: 745, 📥 Скачиваний: 17.2К
https://pub.dev/packages/shadcn_ui

intercom_flutter 9.4.10 - обертка для Intercom Android, iOS и Web-проектов, позволяя интегрировать функции Intercom в свои приложения. В новой версии обновлен Intercom Android SDK до версии 17.2.0. 👍 Лайки: 147, 📥 Скачиваний: 86.1К
https://pub.dev/packages/intercom_flutter

dio_cache_interceptor 4.0.5 - пакет для кэширования HTTP-запросов в приложениях, написанных на Dart. В новой версии обновлены зависимости. 👍 Лайки: 403, 📥 Скачиваний: 201К
https://pub.dev/packages/dio_cache_interceptor

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #very_good_cli #postgres #record #shadcn_ui #intercom_flutter #dio_cache_interceptor
Привет, программисты! 🤩 Сегодня у нас есть интересная новость о Pull to Refresh - популярном механизме в интерфейсах мобильных приложений 📱. Этот механизм позволяет пользователям обновлять информацию на экране одним простым жестом 🔄. Для тех, кто хочет узнать, как реализовать Pull to Refresh во Flutter-приложении, мы подготовили подробную статью 📄. Вы узнаете о базовом виджете RefreshIndicator, библиотеке pull_to_refresh и даже о полноценной кастомной реализации 🤔. Читайте полную статью по ссылке и не забудьте подписаться на наш канал flutterpulse 📣, чтобы быть в курсе всех последних новостей и обновлений 📊! #flutter #dart #flutterpulse 😊
👍1😐1
Что такое Render Objects?

Render Objects являются основой визуальной системы Flutter. Они используются для отрисовки элементов интерфейса на экране.

Flutter строит пользовательские интерфейсы в три слоя:
1. Widget: конфигурация визуального элемента
2. Element: соединяет виджеты и объекты рендеринга
3. RenderObject: рисует на вашем экране

Настройка RenderObject
Поскольку мы будем рендерить одного потомка, мы расширяем SingleChildRenderObjectWidget.

Render Objects рисуют как CustomPainter, но с гораздо большими возможностями:
- Могут иметь потомков и реагировать на ограничения макета
- Управляют как макетом, так и отрисовкой
- Обрабатывают ограничения макета
- Управляют своим собственным размером

Зачем использовать RenderObject?
Большую часть времени вам не придётся писать RenderObjects самостоятельно. Используйте виджеты!
Но пользовательские RenderObjects дают неограниченную творческую свободу для нестандартных виджетов.


class MyHomePage extends StatelessWidget {
const MyHomePage({super.key});

@override
Widget build(BuildContext context) {
return Scaffold(
body: const Center(
child: CustomStar(
size: 200,
color: Colors.amber,
),
),
);
}
}

class CustomStar extends SingleChildRenderObjectWidget {
final double size;
final Color color;

const CustomStar({
super.key,
required this.size,
required this.color,
});

@override
RenderObject createRenderObject(BuildContext context) {
return RenderCustomStar(size: size, color: color);
}

@override
void updateRenderObject(BuildContext context, RenderCustomStar renderObject) {
renderObject.starSize = size;
renderObject.color = color;
}
}

class RenderCustomStar extends RenderBox {
RenderCustomStar({
required double size,
required Color color,
}) : starSize = size,
color = color;

double starSize;
Color color;

@override
void performLayout() {
size = constraints.biggest;
}

@override
void paint(PaintingContext context, Offset offset) {
final canvas = context.canvas;
canvas.save();
canvas.translate(offset.dx, offset.dy);
// ... рисуйте то, что вам нужно здесь
}
}


Оцените новую рубрику лайком! 👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #renderobjects #flutterrenderobjects #flutterui #flutterdevelopment #codingtips
1
Обзор пакетов на тему PDF 📚
Пакет flutter_pdfview позволяет легко интегрировать просмотр PDF-файлов в ваши Flutter-приложения для iOS и Android.
👍 Лайки: 710, 📥 Скачиваний: 177К
Последнее обновление 📅 11 дней назад
https://pub.dev/packages/flutter_pdfview

Пакет syncfusion_flutter_pdf - мощная и высокопроизводительная библиотека для работы с PDF в Flutter, написанная на Dart.
📈 771 лайков, 255К скачиваний!
📦 Версия 31.1.22, обновлена 3 дня назад.
https://pub.dev/packages/syncfusion_flutter_pdf

Пакет pdfx позволяет отображать PDF-документы в Flutter-приложениях для Web, macOS, Android, iOS и Windows.
👍 502 лайка и более 358К скачиваний!
📦 Версия: 2.9.2
https://pub.dev/packages/pdfx

Пакет syncfusion_flutter_pdfviewer позволяет просматривать PDF документы на платформах Android, iOS, Web, Windows и macOS.
👍 1110 лайков, 📥 199К скачиваний!
📦 Версия: 31.1.22
https://pub.dev/packages/syncfusion_flutter_pdfviewer

Пакет pdf позволяет легко создавать PDF документы прямо из вашего Flutter/Dart приложения.
👍 2960 лайков и более 587К скачиваний!
📦 Версия 3.11.3
https://pub.dev/packages/pdf

Пакет flutter_cached_pdfview - пакет для отображения PDF-файлов в Flutter-приложениях для iOS, Android и Web (в разработке).
👍 Лайков: 497, 📥 Скачиваний: 71К
📦 Версия: 0.4.3
https://pub.dev/packages/flutter_cached_pdfview
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #pdf #flutter_pdfview #syncfusion_flutter_pdf #pdfx #syncfusion_flutter_pdfviewer #flutter_cached_pdfview