Flutter Pulse
644 subscribers
403 photos
890 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Масштабирование изображения

Flutter предоставляет виджет InteractiveViewer для масштабирования, перемещения и трансформации любого виджета. Вот как можно масштабировать изображение с его помощью:


InteractiveViewer(
key: previewWidgetKey,
transformationController: TransformationController()..value = (Matrix4.identity()..scale(scale)), // масштабирование
scaleEnabled: false,
constrained: false,
panEnabled: false,
clipBehavior: Clip.antiAlias,
child: Image.asset("name_of_your_image.png"), // ваше изображение
)


Как это работает?

Матрица 4x4 используется для трансформации:

[ m00 m01 m02 m03 ]
[ m10 m11 m12 m13 ]
[ m20 m21 m22 m23 ]
[ m30 m31 m32 m33 ]


- Левый верхний 3x3 блок отвечает за вращение и масштабирование.
- Последний столбец (m03, m13, m23) используется для перемещения объектов.
- Нижняя строка используется для перспективных трансформаций (для 3D-эффектов).

Если масштаб < 1, мы приближаем изображение.
Если масштаб > 1, мы отдаляем изображение.

Оцените нашу новую рубрику! 👍 Оставляйте ваши отзывы в комментариях! 💬

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment
3👍1
Обзор пакетов на тему Bottom Navigation Bar 📢
Пакеты для создания красивых и настраиваемых нижних панелей навигации в Flutter:
- bottom_bar 2.0.5: создание анимированных нижних панелей навигации 🌟 (133 лайка, 1.2К скачиваний, обновлён 4 месяца назад) 👉 https://pub.dev/packages/bottom_bar
- GoogleNavBar 5.0.7: современный навбар в стиле Google для Flutter 📈 (1610 лайков, 40.5К скачиваний, обновлено 11 месяцев назад) 👉 https://pub.dev/packages/google_nav_bar
- Stylish Bottom Bar: коллекция стильных нижних панелей навигации 🌈 (303 лайка, 6.4К скачиваний, обновлено 6 месяцев назад) 👉 https://pub.dev/packages/stylish_bottom_bar
- AnimatedBottomNavigationBar 1.4.0: анимированное нижнее меню для вашего Flutter-приложения 🌟 (17.5К скачиваний, обновлено 7 месяцев назад) 👉 https://pub.dev/packages/animated_bottom_navigation_bar
- persistent_bottom_nav_bar_v2 6.1.0: настраиваемые нижние панели навигации 🎉 (407 лайков, 15.3К скачиваний, обновлено 3 месяца назад) 👉 https://pub.dev/packages/persistent_bottom_nav_bar_v2
- flutter_floating_bottom_bar 1.3.0: плавно появляющиеся и исчезающие виджеты в нижней части экрана 🌟 (2060 скачиваний, 290 лайков, обновлено 5 месяцев назад) 👉 https://pub.dev/packages/flutter_floating_bottom_bar
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #bottom_bar #google_nav_bar #stylish_bottom_bar #animated_bottom_navigation_bar #persistent_bottom_nav_bar_v2 #flutter_floating_bottom_bar
👍2
Самые лучшие обновлённые пакеты за последние 24 часа

Forui 0.16.0 - библиотека UI для Flutter, предоставляющая набор красиво оформленных и минималистичных виджетов.
В новой версии улучшена документация, добавлены новые функции и исправлены ошибки.
👍 Лайки: 281, 📥 Скачиваний: 2.4К
https://pub.dev/packages/forui

Logger 2.6.2 - небольшой, простой в использовании и расширяемый логгер, который выводит красивые логи.
В новой версии исправлена ошибка в PrettyPrinter, связанная с отображением внутренних логов в стек-трейсе на Flutter/Dart Web.
👍 Лайки: 3.6К, 📥 Скачиваний: 2.0М
https://pub.dev/packages/logger

Map Location Picker 3.1.0 - пакет для выбора местоположения на карте.
Теперь доступны cancelToken, headers и interceptors для новых API, а также исправлена ошибка в roof top geocoding api.
👍 Лайки: 128, 📥 Скачиваний: 3.1К
https://pub.dev/packages/map_location_picker

Flutter Branch SDK 8.10.0 - пакет для реализации функций глубоких ссылок и атрибуции в мобильных приложениях.
В новой версии добавлена возможность настройки платформо-специфических URL-адресов API.
👍 Лайки: 217, 📥 Скачиваний: 150К
https://pub.dev/packages/flutter_branch_sdk

Fquery 3.0.0 - пакет для управления асинхронным состоянием в приложениях Flutter.
В новой версии произошли значительные изменения, включая переименование QueryClientProvider и удаление QueryClient.
👍 Лайки: 81, 📥 Скачиваний: 5.8К
https://pub.dev/packages/fquery

Native Storage 0.4.0 - пакет для доступа к функциям хранения платформы.
В новой версии обновлена зависимость ffigen и увеличена минимальная версия Dart SDK.
👍 Лайки: 66, 📥 Скачиваний: 376
https://pub.dev/packages/native_storage

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #Forui #Logger #MapLocationPicker #FlutterBranchSDK #Fquery #NativeStorage
Проверка разрешений

iOS и Android требуют, чтобы вы запрашивали разрешение перед выполнением определенных действий, таких как съемка фотографии, сохранение в галерею пользователя или запись звука.

1. Установка и импорт плагина permission_handler


import 'package:permission_handler/permission_handler.dart';


2. Как использовать


// Запрос одного разрешения
[Permission.camera].request()

// Запрос нескольких разрешений (цепочка запросов)
[Permission.camera, Permission.microphone].request()

// Просто проверка статуса разрешения
final cameraPermission = await Permission.camera.status;
final microphonePermission = await Permission.microphone.status;


3. Пример использования


@override
Widget build(BuildContext context) {
return CameraPermission(
child: CameraAwesomeBuilder.custom(
builder: (state, preview) {
...
},
),
);
}


Создайте виджет (CameraPermission) здесь. Перед запуском камеры мы проверяем, дал ли пользователь все необходимые разрешения. В противном случае мы показываем виджет, который вежливо просит разрешить доступ + кнопку для открытия настроек.

Оцените новую рубрику! 👍💬 Нам важно ваше мнение! 🤔

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDev #ProgrammingTips #DevTips
👍7
Обзор пакетов на тему Icons 📢
Пакет material_symbols_icons теперь имеет 4100 иконок Material Symbols Icons, включая поддержку языков с правым направлением письма 📈.
Лайки: 261, Скачиваний: 137К, Обновлено: 6 дней назад, Версия: 4.2874.0 👍
pub.dev/packages/material_symbols_icons
👉

Fluent UI System Icons - коллекция современных и дружественных иконок от Microsoft для ваших Flutter-приложений! 📈.
Лайки: 905, Скачиваний: 16.7К, Обновлено: 8 месяцев назад, Версия: 1.1.273 👍
pub.dev/packages/fluentui_system_icons
👉

Iconify Flutter - библиотека иконок для Flutter с более чем 100 наборами открытых иконок! 🌟.
Лайки: 414, Скачиваний: 4.2К, Обновлено: 11 месяцев назад, Версия: 0.0.7 👍
pub.dev/packages/iconify_flutter
👉

font_awesome_flutter - бесплатный пакет иконок Font Awesome для Flutter, включает все бесплатные иконки Font Awesome версии 7.0.0 📈.
Лайки: 4860, Скачиваний: 768К, Обновлено: 49 дней назад 👍
pub.dev/packages/font_awesome_flutter
👉

hugeicons - получите доступ к более чем 4 500 иконкам в формате SVG для ваших проектов Flutter совершенно бесплатно! 🎉.
Лайки: 365, Скачиваний: 13.5К, Обновлено: 2 часа назад, Версия: 1.1.1 👍
pub.dev/packages/hugeicons
👉

iconsax_flutter - пакет с огромным выбором иконок в разных стилях для ваших Flutter-приложений! 📢.
Лайки: 31, Скачиваний: 139К, Обновлено: 4 месяца назад, Версия: 1.0.1 👍
pub.dev/packages/iconsax_flutter
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #material_symbols_icons #FluentUI #Iconify #font_awesome_flutter #hugeicons #iconsax_flutter
👍2
Привет, разработчики! 🐱💻
Вы когда-нибудь сталкивались с проблемой, когда пользователь может нажимать на кнопку загрузки данных бесконечное количество раз, что приводит к множественным вызовам методов бэка и ухудшению работы UI? 🤔 Это может быть довольно раздражающим! 😩

Но не волнуйтесь, есть решение! 🎉 Вы можете использовать bloc_concurrency, который позволяет управлять порядком и способом обработки событий в Bloc. 📈 Это пакет, который идет вместе с Bloc и предоставляет набор функций (EventTransformer’ов) для контроля того, как Bloc обрабатывает события. 📊

С помощью bloc_concurrency вы можете изменить поведение обработки событий в Bloc с помощью разных трансформеров:

✔️ concurrent() — события обрабатываются одновременно.
✔️ sequence() — события обрабатываются строго по очереди.
✔️ droppable() — любые новые события, добавленные во время обработки текущего, будут проигнорированы.
✔️ restartable() — обрабатывается только последнее событие, предыдущие отменяются, если они еще не завершены.

Вы можете прочитать больше о bloc_concurrency и Bloc в этой статье. 🔗

Итак, если вы хотите быть в курсе всех последних новостей и обновлений о Flutter и Dart, то обязательно подпишитесь на канал flutterpulse! 📣 Это будет вашим лучшим источником информации о мире Flutter и Dart! 💻 #flutter #dart #flutterpulse 🚀💻
👍3
Самые лучшие обновлённые пакеты за последние 24 часа

youtube_player_flutter 9.1.3
Плагин для Flutter, который позволяет проигрывать видео с YouTube прямо в вашем приложении на Android и iOS, без необходимости использования API-ключа. Он поддерживает подписи, живые трансляции, настройку скорости проигрывания и многое другое.
В новой версии обновлены зависимости до последней версии.
👍 Лайки: 1650, 📥 Скачиваний: 187К
https://pub.dev/packages/youtube_player_flutter

build_web_compilers 4.3.0
Пакет build_web_compilers используется для компиляции кода Dart в JavaScript и WebAssembly для запуска в браузере. В новой версии добавлена возможность загрузки сборки JavaScript, добавив force_js=true к URL в браузере, когда включены обе сборки wasm и js.
👍 Лайки: 41, 📥 Скачиваний: 245К
https://pub.dev/packages/build_web_compilers

liquid_glass_renderer 0.1.1-dev.11
Пакет для создания эффекта "жидкого стекла" или "матового стекла" в Flutter.
В новой версии значительные улучшения производительности и множество других изменений.
👍 Лайки: 612, 📥 Скачиваний: 9.3К
https://pub.dev/packages/liquid_glass_renderer

pdfrx 2.1.25
Пакет pdfrx - быстрый и функциональный плагин для просмотра PDF-файлов в приложениях Flutter. Поддерживает Android, iOS, Windows, macOS, Linux и Web.
В новой версии исправлена ошибка при загрузке веб-ассемблера и добавлен fallback на ArrayBuffer.
👍 Лайки: 259, 📥 Скачиваний: 188К
https://pub.dev/packages/pdfrx

hugeicons 1.1.1
Пакет содержит более 4,500 бесплатных иконок для Flutter.
Теперь иконки правильно адаптируются к светлому/тёмному режиму при использовании CupertinoDynamicColor.
Исправлена проблема с цветом иконок при переключении между светлой и тёмной темами.
👍 Лайки: 365, 📥 Скачиваний: 13.3К
https://pub.dev/packages/hugeicons

shadcn_ui 0.37.1
Теперь вы можете легко объединять темы с помощью методов ShadThemeData.merge и ShadTheme.merge.
Также исправлена ошибка с тестами при использовании Animate и Duration.zero.
Пакет имеет 748 лайков и 17 400 скачиваний.
👍 Лайки: 748, 📥 Скачиваний: 17.4К
https://pub.dev/packages/shadcn_ui
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #youtube_player_flutter #build_web_compilers #liquid_glass_renderer #pdfrx #hugeicons #shadcn_ui
Null-Aware элементы
Dart 3.8 ввёл действительно практичную новую функцию языка, называемую null-aware элементами. Она позволяет уменьшить количество шаблонного кода для проверки null элементов перед их отображением.

До:


@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
if (title != null)
title
...
]
)
);
}



После:


@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
?title <-----
...
]
)
);
}



Оцените новую рубрику лайком 👍, если считаете её полезной! 💡
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #DartLanguage #NullAware #CodingTips #MobileDevelopment #FlutterTips
👍11🔥1
Обзор пакетов на тему Avatar, Profile Picture & Chat Heads 🎨
Представляем вам обзор пакетов для создания уникальных аватаров и профильных картинок в Flutter! 📸

flutter_boring_avatars 🎨: Генерирует аватары на основе имени пользователя и цветовой палитры. Уникальные аватары для каждого имени, анимированные переходы и настройка цветовой палитры. 👍 36 | 1620.0 скачиваний, обновлён 13 месяцев назад 📅
Скачать

avatar_stack 📢: Пакет для создания анимированных стэков аватаров! Ограничение количества элементов, выравнивание и настройка перекрытия аватаров. 👍 185 лайков, 5140 скачиваний, обновлён 8 месяцев назад 📅
Скачать

flutter_advanced_avatar 📢: Добавьте в приложение уникальные аватары с богатым API для кастомизации! 107 лайков, 3890 скачиваний, обновлён 10 месяцев назад 📅
Скачать

Avatar Plus 🎨: Генерируйте аватары по любому текстовому вводу и настраивайте их в ваших Flutter-приложениях. 47 лайков, 596 скачиваний, обновлён 13 месяцев назад 📅
Скачать

Avatar Brick 📢: Пакет для создания аватаров с автоматическим отображением инициалов, если нет изображения. 30 лайков, 51 скачиваний, обновлён 5 месяцев назад 📅
Скачать

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #avatar_stack #flutter_boring_avatars #flutter_advanced_avatar #avatar_plus #avatar_brick
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

win32 5.15.0 - Пакет для прямого доступа к API Windows, упрощающий работу с аппаратным обеспечением и системными сервисами. Добавлены недостающие константы консоли и документация для некоторых существующих констант, а также функция ProcessIdToSessionId.
👍 Лайки: 910, 📥 Скачиваний: 5.4М
https://pub.dev/packages/win32

sentry_flutter 9.7.0 - Пакет для улучшения отладки приложений Flutter, теперь поддерживает W3C traceparent header, позволяет устанавливать путь к базе данных Sentry Native и добавляет теги к логам.
👍 Лайки: 1030, 📥 Скачиваний: 656К
https://pub.dev/packages/sentry_flutter

adaptive_theme 3.7.2 - Пакет для добавления поддержки светлых и темных тем в приложениях Flutter. В новой версии внесены изменения: переход на новый асинхронный API для Shared Preferences и добавлен метод AdaptiveTheme.read(context) для чтения текущей темы.
👍 Лайки: 937, 📥 Скачиваний: 10.2К
https://pub.dev/packages/adaptive_theme

hooks_riverpod 3.0.2 - Пакет для реализации реактивного кэширования и привязки данных, что упрощает работу с асинхронным кодом.
👍 Лайки: 910, 📥 Скачиваний: 272К
https://pub.dev/packages/hooks_riverpod

flutter_riverpod 3.0.2 - Реактивный кэширующий и привязывающий фреймворк, облегчающий работу с асинхронным кодом. В новой версии исправлена ошибка, возникающая при связывании ProviderContainer с двумя разными UncontrolledProviderScope.
👍 Лайки: 2750, 📥 Скачиваний: 2.8М
https://pub.dev/packages/flutter_riverpod

Riverpod 3.0.2 - Реактивный фреймворк для кэширования и привязки данных, облегчающий работу с асинхронным кодом. Теперь с улучшенным сообщением об ошибке при обнаружении круговой зависимости.
👍 Лайки: 3790, 📥 Скачиваний: 2.9М
https://pub.dev/packages/riverpod
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #win32 #sentry_flutter #adaptive_theme #hooks_riverpod #flutter_riverpod #Riverpod
👍1
1..2..3... Гонка Future

Представьте, что вы ждёте ответ от нескольких источников. Но вам нужен только один ответ. Ладно, такое случается не часто, но представьте...

Ждём только 1 ответ

Будьте осторожны, если первый запрос выдаёт ошибку до того, как придёт второй ответ... Future завершится с ошибкой. Значит, вам нужно игнорировать эту ошибку в вашем будущем запросе.


import 'dart:async';
import 'package:http/http.dart' as http;

void main() async {
await Future.any([
getPost(SERVER_1), // первый сервер
getPost(SERVER_2), // второй сервер
]);
}

Future<String> getPost(String url) async {
final response = await http.get(Uri.parse('....'));
if (response.statusCode == 200) {
return response.body; // возвращаем тело ответа
} else {
throw Exception('Не удалось загрузить пост'); // выбрасываем исключение
}
}


Что возвращает Future.any?
Он возвращает Future, который завершается с первым результатом. Вы можете передать несколько Future разных типов.

Оцените новую рубрику! 👍💡 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #FutureAny #AsyncProgramming #FlutterTips #MobileDevelopment #ProgrammingTips
👍4
Обзор пакетов на тему Messaging & Push Notification 📢
Пакет Firebase Messaging Plugin for Flutter позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение. 👍 Лайки: 3690, 📥 Скачиваний: 1.1M, последнее обновление: 2024-03-12, версия 15.2.1 📅
firebase_messaging 📈
Пакет OneSignal Flutter SDK позволяет легко интегрировать ваш Flutter-приложение с OneSignal для отправки push-уведомлений. 👍 942 лайка, 113 000 скачиваний, обновлено 3 месяца назад 📅
onesignal_flutter 📈
Пакет Once позволяет запускать код и показывать виджеты один раз за определенный период. Лайков: 293, скачиваний: 3230, версия: 1.7.0, обновлено 8 месяцев назад 📅
once 📈
Пакет Firebase In-App Messaging для Flutter позволяет использовать API Firebase In-App Messaging в ваших Flutter-приложениях. 178 лайков, 5060 скачиваний, обновлён 15 дней назад 📅
firebase_in_app_messaging 📈
Пакет Firebase Messaging Plugin for Flutter обновился до версии 16.0.2! 1770000+ скачиваний, 3840+ лайков, обновление вышло 15 дней назад 📅
firebase_messaging 📈
Пакет Intercom Flutter позволяет легко интегрировать Intercom в ваши Flutter-приложения. 147 лайков, 80 100+ скачиваний, версия: 9.4.10, обновлено: 4 дня назад 📅
intercom_flutter 📈
Пакет Awesome Notifications для Flutter позволяет создавать кастомные уведомления. 3370 лайков, 40600 скачиваний, версия: 0.10.1, обновлено: 7 месяцев назад 📅
awesome_notifications 📈
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #onesignal #firebase #intercom #awesome_notifications #messaging #pushnotification
👍2
Самые лучшие обновлённые пакеты за последние 24 часа

url_launcher_android 6.3.24
Плагин для запуска ссылок в приложениях Android.
В новой версии исправлены устаревшие зависимости Gradle 9.
👍 Лайки: 20, 📥 Скачиваний: 4.7M
https://pub.dev/packages/url_launcher_android

country_code_picker 3.4.1
Плагин для Flutter, который показывает селектор кода страны и поддерживает интернационализацию для 70 языков.
В новой версии исправлены французские переводы стран и удален Нидерландские Антильские острова из списка кодов стран.
👍 Лайки: 911, 📥 Скачиваний: 87.3К
https://pub.dev/packages/country_code_picker

path_provider_android 2.2.19
Плагин для решения проблем с устаревшими функциями Gradle 9.
👍 Лайки: 19, 📥 Скачиваний: 5.17M
https://pub.dev/packages/path_provider_android

build 4.0.2
Плагин для написания кода-генераторов, которые запускаются с помощью build_runner.
В новой версии добавлена поддержка analyzer 8.0.0 и удалено использование устаревших членов.
👍 Лайки: 95, 📥 Скачиваний: 4.61M
https://pub.dev/packages/build

supabase_flutter 2.10.3
Клиентская библиотека для Supabase, позволяющая использовать функции аутентификации, базы данных, хранилища и многое другое в ваших приложениях Flutter.
В новой версии обновлен пример использования google_sign_in.
👍 Лайки: 882, 📥 Скачиваний: 242К
https://pub.dev/packages/supabase_flutter

envied 1.3.1
Плагин для Dart/Flutter, который упрощает работу с переменными окружения.
В новой версии удален импорт dart:io (#165).
👍 Лайки: 860, 📥 Скачиваний: 146К
https://pub.dev/packages/envied

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #url_launcher_android #country_code_picker #path_provider_android #build #supabase_flutter #envied
👍1
Ждём готовности представления

Не редко возникает необходимость выполнить код после того, как представление будет готово. Например, показать всплывающее окно после отображения всех элементов или запустить камеру после инициализации представления.

Чтобы добиться желаемого результата, следуйте простым шагам:
1. Создайте StatefulWidget.
2. В методе initState вызовите WidgetsBinding.instance.addPostFrameCallback.


@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
// ваш код здесь
});
}


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

Не злоупотребляйте этим методом! В большинстве случаев можно найти альтернативные решения, которые позволят выполнить код позже без использования addPostFrameCallback.

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

Все подобные советы ищите по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevTips #AppDev #FlutterTips #DartLang
👍1