Flutter Pulse
550 subscribers
361 photos
795 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Привет, разработчики! 🤩 Сегодня у нас есть интересная новость для всех, кто работает с Flutter и Dart! 💻📱

Вы знали, что InheritedWidget - это мощный инструмент для передачи данных по дереву виджетов? 🤔 Это виджет, который позволяет вам передавать данные дальше по дереву, без необходимости прокидывать их через конструкторы. 📈

В новой статье подробно рассказывается о том, как работает InheritedWidget и как его использовать. Вы узнаете, как создать свой собственный виджет, который наследует данные от родительского виджета, и как использовать его в своих приложениях. 📚

И самое главное - это только начало! 🎉 Скоро будет рассказано про Provider, который является оберткой для InheritedWidget. Не пропустите! 📣

Хотите быть в курсе всех последних новостей и обновлений в мире Flutter и Dart? 🤔 Тогда обязательно подпишитесь на наш канал flutterpulse! 📲

#flutter #dart #flutterpulse 💻📱👍
Самые лучшие обновлённые пакеты за последние 24 часа

purchases_flutter 9.3.0
Плагин для Flutter, который позволяет автоматически собирать идентификаторы устройств и обновлены зависимости.
👍 Лайки: 833, 📥 Скачиваний: 174К
https://pub.dev/packages/purchases_flutter

go_router 16.2.1
Декларативный пакет маршрутизации для Flutter, который использует Router API для предоставления удобного, основанного на URL, API для навигации между разными экранами.
Теперь пакет имеет более чем 5 450 лайков и 2 020 000 скачиваний.
В новой версии добавлена тема восстановления состояния в документацию.
👍 Лайки: 5 450, 📥 Скачиваний: 2.0М
https://pub.dev/packages/go_router

shadcn_ui 0.29.1
Пакет содержит множество настраиваемых UI-компонентов для Flutter.
Теперь в ShadInput, ShadInputFormField, ShadTextArea и ShadTextAreaFormField добавлен параметр alignment.
👍 Лайки: 705, 📥 Скачиваний: 15.2К
https://pub.dev/packages/shadcn_ui

dwds 25.1.0
Пакет для настройки поведения DDS через DartDevelopmentServiceConfiguration и поддержка службы DevTools.
Старые свойства DebugSettings deprecated.
👍 Лайки: 30, 📥 Скачиваний: 4.1М
https://pub.dev/packages/dwds

go_router_builder 4.0.0
Пакет используется для создания типобезопасных маршрутов в приложениях Flutter с помощью go_router.
Теперь миксины Route стали публичными.
👍 Лайки: 265, 📥 Скачиваний: 174К
https://pub.dev/packages/go_router_builder

health 13.1.4
Пакет позволяет читать и записывать данные о здоровье из/в Apple Health и Google Health Connect.
В новой версии исправлена ошибка, которая вызывала крах на iOS при добавлении данных о медитации, а также добавлена поддержка SPM для iOS.
👍 Лайки: 623, 📥 Скачиваний: 46.5К
https://pub.dev/packages/health

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #purchases_flutter #go_router #shadcn_ui #dwds #go_router_builder #health
Привет, программисты! 🤩 У меня есть супер-крутая новость для вас! 📣 Только что вышло новое видео с практическим примером реализации анимации контента при прокрутке 📌, и это просто МОЛОТ! 🤯 Вы можете найти его по ссылке: #video. Если вы хотите быть в курсе всех последних новостей и обновлений из мира Flutter и Dart, то обязательно стоит подписаться на канал flutterpulse 📊, чтобы не пропустить ничего интересного! 😉 Новость взял отсюда #flutter #dart #flutterpulse 🚀
Правильно называйте свои классы
🤔 Название класса должно отражать его сущность, а не выполняемые им действия! 💡

При именовании классов важно следовать правилу: класс должен называться тем, чем он является, а не тем, что он делает. Это делает ваш код более читаемым и понятным. 📚

👀 Рассмотрим пример на Dart:

class EmailValidator { // Неправильное название, так как оно описывает действие
EmailValidator();

void validate(String email) {
const pattern = r'...'; // Регулярное выражение для проверки email
final regex = RegExp(pattern);
final isValidEmail = regex.hasMatch(email);
if (!isValidEmail) {
throw const EmailException("Email not valid"); // Ошибка, если email не валиден
}
}
}



class Email { // Правильное название, отражает сущность класса
final String _value;
Email(String email) : _value = email.trim();

void validate() {
const pattern = r'...'; // Регулярное выражение для проверки email
final regex = RegExp(pattern);
final isValidEmail = regex.hasMatch(_value);
if (!isValidEmail) {
throw const EmailException("Email not valid"); // Ошибка, если email не валиден
}
}
}


В первом примере класс назван EmailValidator, что указывает на выполняемое действие (валидация email). Это не отражает суть класса. 🔴
Во втором примере класс назван Email, что отражает его сущность (email). Это делает код более логичным и понятным. 🟢

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

Все подобные советы можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #CodingTips #MobileDevelopment #CleanCode #ProgrammingTips
Обзор пакетов на тему Social Media

Social Media Recorder 📻
Пакет для Flutter, позволяющий легко записывать аудио с микрофона и сохранять его в файл на Android и iOS. Поддерживает различные кодеки, включая AAC, AMR и OPUS.
👍 Лайки: 173, 📥 Скачиваний: 668
📅 Последнее обновление: 7 месяцев назад
https://pub.dev/packages/social_media_recorder

Like Button ❤️
Пакет для Flutter, позволяющий создавать кнопки лайков с анимационными эффектами, похожими на сердечки в Twitter.
👍 Лайки: 1400, 📥 Скачиваний: 17.9К
📅 Последнее обновление: 3 месяца назад
https://pub.dev/packages/like_button

Flutter Link Previewer 🔗
Пакет для рендеринга превью ссылок в Flutter-приложениях. Автоматически извлекает метаданные (заголовок, описание, изображение) и отображает их в анимированной карточке.
👍 Лайки: 350, 📥 Скачиваний: 67.8К
📅 Последнее обновление: 34 дня назад
https://pub.dev/packages/flutter_link_previewer

AnyLinkPreview 🤓
Пакет для Flutter, позволяющий красиво отображать превью ссылок в вашем приложении с возможностью кастомизации.
👍 Лайки: 471, 📥 Скачиваний: 26.1К
📅 Последнее обновление: 7 месяцев назад
https://pub.dev/packages/any_link_preview

tiktoklikescroller 📹
Пакет для Flutter, позволяющий создать полноэкранный вертикальный скроллер, похожий на TikTok, с анимированными переходами между страницами и настраиваемыми параметрами скроллинга.
👍 Лайки: 229, 📥 Скачиваний: 2.4К
📅 Последнее обновление: 11 месяцев назад
https://pub.dev/packages/tiktoklikescroller

Persistent Shopping Cart 🛍️
Пакет для Flutter, предоставляющий простую и персистентную функциональность корзины покупок для вашего мобильного приложения.
👍 Лайки: 271, 📥 Скачиваний: 171
📅 Последнее обновление: 7 месяцев назад
https://pub.dev/packages/persistent_shopping_cart

#SocialMedia #Flutter #Dart #PubDev #FlutterPulse #FlutterPulseThemedPackages #SocialMediaRecorder #LikeButton #FlutterLinkPreviewer #AnyLinkPreview #Tiktoklikescroller #PersistentShoppingCart
Самые лучшие обновлённые пакеты за последние 24 часа

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

workmanager 0.9.0+3
Теперь вы можете выполнять код Dart в фоновом режиме, даже когда ваше приложение закрыто. Используется для синхронизации данных, загрузки файлов, очистки задач и уведомлений. Уже 2310 лайков и 88800 скачиваний!
https://pub.dev/packages/workmanager

workmanager_platform_interface 0.9.1+1
Исправлены ошибки инициализации на Android и добавлены аннотации доступности для iOS 14.
Пакет имеет 0 лайков и 41 300 скачиваний.
https://pub.dev/packages/workmanager_platform_interface

fleather 1.25.1
Теперь исправлена проблема с высотой пустых строк.
Пакет fleather используется для создания мягкого и удобного редактирования текста в приложениях Flutter.
Лайков: 168, Скачиваний: 4640
https://pub.dev/packages/fleather

arkit_plugin 1.2.0
Пакет arkit_plugin используется для создания дополненной реальности (AR) в приложениях Flutter для iOS-устройств с процессорами A9 или новее.
В новой версии исправлены проблемы с заморозкой интерфейса пользователя, а также удалена поддержка iOS 12. Кроме того, исправлены предупреждения анализатора кода.
Пакет имеет 490 лайков и 1790 скачиваний.
https://pub.dev/packages/arkit_plugin

workmanager_apple 0.9.1+2
Используется для реализации фоновой работы в приложениях Flutter на iOS и macOS.
Исправлены ошибки инициализации на Android и аннотации доступности на iOS 14.
Лайков: 2, Скачиваний: 27 900
https://pub.dev/packages/workmanager_apple

Televerse 3.0.0
Теперь он поддерживает Bot API 9.2 и содержит важные изменения.
Пакет имеет 93 лайка и 2260 скачиваний.
https://pub.dev/packages/televerse

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #workmanager #firebase_messaging #fleather #arkit_plugin #workmanager_apple #televerse
Эффективная передача стиля текста виджетам

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

Вы когда-нибудь сталкивались с ситуацией, когда приходилось копировать стиль текста для дочерних элементов? 🤔 Теперь вы можете этого избежать! 😉

Использование DefaultTextStyle.merge


class MyWidget extends StatelessWidget {
final Widget title;

const TheBestCustomWidget({
super.key,
required this.title,
});

@override
Widget build(BuildContext context) {
return WidgetContainer(
children: [
DefaultTextStyle.merge(
style: Theme.of(context).textTheme.headlineMedium,
child: title,
),
],
);
}
}



MyWidget(
title: Text(
'Signup now',
style: Theme.of(context).textTheme.headlineLarge.copyWith(
color: Theme.of(context).colorScheme.onBackground,
),
),
)



MyWidget(
title: Text(
'Signup now',
style: TextStyle(
color: Theme.of(context).colorScheme.onBackground,
),
),
)


Преимущества использования DefaultTextStyle.merge:

• Позволяет задать только те свойства текста, которые вы хотите переопределить при использовании вашего виджета.
• Упрощает код и делает его более читаемым.

👍 Оцените новую рубрику FlutterPulseTips и поделитесь своими мыслями! 🤔

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment
👍1
Обзор пакетов на тему JSON 📦

Yet Another Json Isolate! 🚀
Пакет для быстрого и простого парсинга JSON с использованием изолятов.
👍 Лайки: 13, 📥 Скачиваний: 229К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/yet_another_json_isolate

JSONPath 📈
Пакет для работы с JSON-данными, используя синтаксис запросов JSONPath.
👍 Лайки: 124, 📥 Скачиваний: 332К
Последнее обновление 📅: 55 дней назад
https://pub.dev/packages/json_path

flutter_json_view 📊
Отображайте JSON-модели в виджете Flutter с помощью этого удобного пакета.
👍 Лайки: 139, 📥 Скачиваний: 16.6К
Последнее обновление 📅: 12 месяцев назад
https://pub.dev/packages/flutter_json_view

xml2json 🔄
Пакет для конвертации XML в JSON.
👍 Лайки: 126, 📥 Скачиваний: 277К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/xml2json

deep_pick 🔍
Пакет для ручного парсинга JSON с типобезопасным API.
👍 Лайки: 154, 📥 Скачиваний: 167К
Последнее обновление 📅: 12 месяцев назад
https://pub.dev/packages/deep_pick

Crimson 🔥
Быстрый и эффективный парсер и сериализатор JSON для Dart.
👍 Лайки: 123, 📥 Скачиваний: 52
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/crimson

#yetanotherjsonisolate #jsonpath #flutterjsonview #xml2json #deeppick #crimson #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа

envied 1.2.1 - пакет для упрощения работы с переменными окружения в приложениях Dart и Flutter.
В новой версии обновлена зависимость от пакета analyzer до версии >=7.4.0 <9.0.0.
👍 Лайки: 841, 📥 Скачиваний: 133К
https://pub.dev/packages/envied

nb_utils 7.1.8 - набор полезных методов и расширений для разработки приложений на Flutter.
В новой версии добавлены недостающие типы HTTP-методов и новые расширения для строк, чисел, дат и контекста сборки.
👍 Лайки: 471, 📥 Скачиваний: 8К
https://pub.dev/packages/nb_utils

shadcn_ui 0.29.2 - пакет с настраиваемыми UI-компонентами для Flutter.
Теперь исправлена ошибка ShadResizable при использовании с правосторонним текстом (RTL).
👍 Лайки: 706, 📥 Скачиваний: 15К
https://pub.dev/packages/shadcn_ui

fwfh_webview 0.6.0+1 - пакет для рендеринга IFRAME с помощью официального плагина WebView в Flutter.
Уже 41 лайк и 374К скачиваний!
👍 Лайки: 41, 📥 Скачиваний: 374К
https://pub.dev/packages/fwfh_webview

fl_chart 1.1.0 - высоко настраиваемая библиотека графиков для Flutter.
В новой версии добавлены новые функции: градиентная заливка для бар-графиков, настройка выравнивания боковых заголовков и метки для бар-графиков.
👍 Лайки: 6.9К, 📥 Скачиваний: 1.2М
https://pub.dev/packages/fl_chart

flutter_widget_from_html 0.17.1 - пакет для рендеринга HTML-кода в виджеты Flutter.
В новой версии добавлена поддержка Flutter 3.35, webview_flutter_android@4.8 и атрибута data-src в IFRAME.
👍 Лайки: 1.1К, 📥 Скачиваний: 373К
https://pub.dev/packages/flutter_widget_from_html

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #envied #nb_utils #shadcn_ui #fwfh_webview #fl_chart #flutter_widget_from_html
Воспроизведение видео на весь экран
Покажите полноэкранное видео с правильным соотношением сторон 🤩

Чтобы показать видео на весь экран с сохранением правильного соотношения сторон, следуйте этим простым шагам:

1. Установите пакет video_player 📦
2. Встройте видеоплеер внутрь виджета VideoContainer 📺

Обеспечьте, чтобы содержимое занимало весь экран 📱

return Scaffold(
appBar: AppBar(
backgroundColor: Colors.transparent,
elevation: 0,
),
extendBodyBehindAppBar: true,
body: Stack(
children: [
Positioned.fill(
child: GestureDetector(
onTap: () => videoListener?.pauseOrResume(),
child: VideoContainer.fromController(_controller!),
),
),
],
),
);


Код виджета VideoContainer:

import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class VideoContainer extends StatelessWidget {
final Widget child;
final double ratio;
final Size contentsSize;

const VideoContainer({
super.key,
required this.child,
required this.ratio,
required this.contentsSize,
});

factory VideoContainer.fromController(VideoPlayerController controller) =>
VideoContainer(
ratio: controller.value.aspectRatio,
contentsSize: controller.value.size,
child: VideoPlayer(controller),
);

@override
Widget build(BuildContext context) {
return FittedBox(
fit: BoxFit.cover,
child: AspectRatio(
aspectRatio: ratio,
child: child,
),
);
}
}


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

#flutter #dart #flutterpulse #FlutterPulseTips #mobiledev #appdev #codingtips #uiux #videostreaming #fullscreenvideo
👍1
Обзор пакетов на тему "Камера" для Flutter 📸

Camera Plugin 📸
Пакет для Flutter, позволяющий получить доступ к камерам устройства на iOS, Android и Web. Функции: отображение живого превью камеры в виджете, захват и сохранение снимков в файл, запись видео, доступ к потоку изображений из Dart.
👍 Лайки: 2.5К, 📥 Скачиваний: 821К
Последнее обновление 📅: 54 дня назад
https://pub.dev/packages/camera

CamerAwesome 📸
Пакет для Flutter, позволяющий легко интегрировать камеру в ваше приложение. Предоставляет полностью настраиваемый интерфейс и множество функций, таких как запись видео, фотографирование, поддержка нескольких камер и многое другое.
👍 Лайки: 1.1К, 📥 Скачиваний: 33.8К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/camerawesome

Camerax 📸
Пакет для Flutter, позволяющий работать с аудиовизуальными активами, контролировать камеры устройства, обрабатывать аудио и настраивать системные аудио-взаимодействия.
👍 Лайки: 51, 📥 Скачиваний: 318
Последнее обновление 📅: 28 дней назад
https://pub.dev/packages/camerax

camera_windows 📸
Пакет для Flutter, позволяющий использовать камеру на устройствах под управлением Windows. Однако, обратите внимание, что пакет ещё находится в стадии разработки и имеет некоторые ограничения.
👍 Лайки: 68, 📥 Скачиваний: 1.7К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/camera_windows

camera_android_camerax 📸
Пакет для Flutter, реализующий камеру для Android на основе библиотеки CameraX. Поддерживает одновременную работу с несколькими камерами, запись видео и захват изображений.
👍 Лайки: 71, 📥 Скачиваний: 315К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/camera_android_camerax

camera_avfoundation 📸
Пакет для Flutter, реализующий камеру для iOS. Используется автоматически при подключении пакета camera.
👍 Лайки: 11, 📥 Скачиваний: 170К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/camera_avfoundation

#camera #camerawesome #camerax #camera_windows #camera_android_camerax #camera_avfoundation #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Привет, друзья! 👋 Сегодня у нас супер интересная тема - распознавание звука в ваших мобильных приложениях! 🎧 Это один из самых востребованных инструментов, который может сделать ваши приложения ещё более удобными и доступными для пользователей. 🤩
Вы можете использовать распознавание речи для:
✔️ Голосового ввода текста
✔️ Создания заметок голосом
✔️ Управления приложением и голосовыми командами
✔️ Перевода речи с одного языка на другой
✔️ Доступности для пользователей с ограниченными возможностями

Для реализации распознавания речи мы будем использовать пакет speech_to_text. 📦
Добавьте его в ваш pubspec.yaml:

dependencies:
speech_to_text: ^6.6.0


Импортируйте пакеты, создайте переменные и инициализируйте SpeechToText в initState. 📝
Закройте SpeechToText в dispose, чтобы избежать утечек памяти. 🚮

Логика распознавания речи включает в себя методы для начала и остановки прослушивания, а также метод обратного вызова для результата. 📞
Отобразите полученный текст с помощью обычного Text. 📄

Теперь у вас есть три мощных примера работы с ML Kit и дополнительными библиотеками в Flutter:
▪️ Распознавание лиц - аутентификация и AR-фичи
▪️ Распознавание текста - сканирование документов и перевод
▪️ Распознавание звука - голосовой ввод, заметки и управление приложением

Хотите узнать больше? 🤔 Читайте полную статью по ссылке.
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣 #flutter #dart #flutterpulse 🚀
🔥1
Вышла наша большая статья-дайджест за два летних месяца (июль + август)!

Вспомним вместе, что происходило:
🚀 релизы Flutter 3.32, 3.35 и Dart 3.9.0
📦 новые пакеты: video_view, fldraw, flutter_app_locker, yx_state и др.
🎥 топовые видео: CI/CD на Flutter, DevTools, Deep Linking, Flutter в автомобиле, «Почему UI лагает?» и многое другое
✍️ статьи на Хабре: формы во Flutter, 2D-скролл, интеграция с Авророй, свой state management и даже опыт перехода с React Native

А впереди нас ждёт осень 🍂 — ещё больше обновлений, туториалов и сюрпризов для разработчиков.

👉 Читайте дайджест тут:

#Flutter #Dart #FlutterPulse #Новости
👍1
Новые пакеты за неделю

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

rainbow_edge_lighting 🌈
Добавляет анимированное радужное освещение краев вокруг любого виджета.
Лайков: 7, Скачиваний: 578
Узнать больше: https://pub.dev/packages/rainbow_edge_lighting

youtube_player_native
Позволяет проигрывать видео без брендинга и контролей YouTube, а также отслеживать позицию воспроизведения. Уже 558 скачиваний и 1 лайк!
Подробнее: https://pub.dev/packages/youtube_player_native

custom_multi_search
Пакет custom_multi_search - это настраиваемый виджет выпадающего списка с функцией поиска для приложений Flutter. Он построен с использованием MobX для реактивного управления состоянием, гладких анимаций и поддержки валидации форм.
Лайков: 12
Скачиваний: 336
Узнать больше: https://pub.dev/packages/custom_multi_search

dynamsoft_mrz_scanner_bundle_flutter
Пакет dynamsoft_mrz_scanner_bundle_flutter позволяет захватывать и извлекать информацию из паспортов и удостоверений личности. Благодаря продвинутым алгоритмам локализации и декодирования MRZ, пакет обеспечивает высокую точность и скорость.
Лайков: 19
Скачиваний: 114
Узнать больше: https://pub.dev/packages/dynamsoft_mrz_scanner_bundle_flutter

scripts_runner
Он автоматизирует настройку среды разработки и повышает производительность команды.
Уже 564 скачивания и 2 лайка!
Узнайте больше: https://pub.dev/packages/scripts_runner

dynamsoft_barcode_reader_bundle_flutter
Этот пакет позволяет эффективно встраивать функциональность чтения штрих-кодов в приложения Flutter всего за несколько строк кода.
Лайков: 21
Скачиваний: 165
Узнайте больше: https://pub.dev/packages/dynamsoft_barcode_reader_bundle_flutter

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #rainbow_edge_lighting #youtube_player_native #custom_multi_search #dynamsoft_mrz_scanner_bundle_flutter #scripts_runner #dynamsoft_barcode_reader_bundle_flutter