Flutter Pulse
416 subscribers
270 photos
540 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 ТОП-9 самых просматриваемых Flutter-видео недели! 🔥
Неделя выдалась насыщенной: живой код, полезные туториалы, разговоры с гуру Dart и даже 24-часовой марафон 💻
Готовь чай, кофе (или что покрепче?) и открывай YouTube — есть, что посмотреть 👇

1. 🕒📱 Just coding | Observable Flutter #62
Крейг Лабенз снова в деле! Почти два часа лайв-кодинга на Dart от официального канала Flutter.
1 час 40 мин | 👀 11,957 просмотров
🔗 https://www.youtube.com/watch?v=wKWsP2TXVvg

2. 📚 Что такое List в Dart? || Урок Flutter
Ты уверен, что знаешь всё про списки? Создание, добавление, удаление и даже цикл по ним — всё за 12 минут!
12 мин | 👀 1,007 просмотров
🔗 https://www.youtube.com/watch?v=d-utuAcdBng

3. 📦 Barcode Generator App In Flutter
Настоящий DIY: делаем генератор штрих-кодов на Flutter. Без боли и сложностей.
23 мин | 👀 787 просмотров
🔗 https://www.youtube.com/watch?v=-gLxRVeSyvA

4. 💬 Humpday Q&A/AMA с Craig Labenz
Хотел задать Крейгу вопрос о Flutter? Кто-то уже сделал это за тебя — смотри!
2 часа 50 мин | 👀 485 просмотров
🔗 https://www.youtube.com/watch?v=HryfB44en0w

5. 🔮 Flutter — будущее разработки в 2025 году
Прогнозы, аргументы и немного философии: почему Flutter всё ещё топ и что дальше.
1 час 8 мин | 👀 370 просмотров
🔗 https://www.youtube.com/watch?v=3uCNx_WN8SI

6. 🧪 24 часа живого кодинга
Серьёзно. 24 часа. Живого. Кодинга. Полноценное приложение с бэкендом. Смотреть выборочно, но вдохновиться — обязательно.
24 часа | 👀 274 просмотра
🔗 https://www.youtube.com/watch?v=J_fEMlcmsXg

7. 🧠 Introduction to Flutter Test Mock Canvas
Mock Canvas в тестах Flutter — не страшно и даже интересно! Узнай, как он работает.
— | 👀 234 просмотра
🔗 https://www.youtube.com/watch?v=QbPm-Pe-4lw

8. 🔐 Password Manager на Flutter
Стажёр делает финальный проект: безопасный менеджер паролей. Держим за него кулачки и учимся.
2 часа 30 мин | 👀 214 просмотров
🔗 https://www.youtube.com/watch?v=w4kQk5zLlJA

9. 🧱 Flutter REST API PUT Method + Bloc
Чистая архитектура, Bloc, PUT-запросы и больше слов, которые нравятся архитекторам.
16 мин | 👀 60 просмотров
🔗 https://www.youtube.com/watch?v=geUYFj2hpTc

Если ты учишься, работаешь или просто фанатеешь от Flutter — это всё тебе 😎
Сохраняй, делись и развивай свой скилл вместе с Flutter-сообществом!
Не забываем лайкать! Это вдохновляет заниматься каналом больше!

#Flutter #Dart #FlutterPulse #FlutterPulseYouTube #PubDev #FlutterDev #FlutterВидео #FlutterОбучение #ObservableFlutter #CraigLabenz
Лучшие обновленные пакеты за последние 24 часа!

mobile_scanner 7.0.1
Пакет для Flutter, позволяющий сканировать штрих-коды и QR-коды с помощью камеры устройства. В новой версии добавлена обработка ошибок при вызове метода `MobileScannerController.start` без активного виджета `MobileScanner`.
👍 Лайки: 2.04К, 📥 Скачиваний: 463К
https://pub.dev/packages/mobile_scanner

coverage 1.14.1
Пакет для сбора, манипуляции и форматирования данных о покрытии кода в Dart. В новой версии удалена зависимость от пакета pubspec_parse и исправлена ошибка, которая могла возникнуть при попытке возобновить основной изолят из-за отключения службы VM.
👍 Лайки: 126, 📥 Скачиваний: 7.22М
https://pub.dev/packages/coverage

board_datetime_picker 2.7.0
Пакет для Flutter, позволяющий легко выбирать дату и время с помощью календаря и пикера. Теперь добавлена возможность выбора диапазона дат в режиме мультивыбора.
👍 Лайки: 210, 📥 Скачиваний: 4.24К
https://pub.dev/packages/board_datetime_picker

checked_yaml 2.0.4
Пакет для безопасной и удобной работы с YAML-файлами в Dart. В новой версии добавлено требование использования Dart 3.8.
👍 Лайки: 34, 📥 Скачиваний: 5.33М
https://pub.dev/packages/checked_yaml

material_color_utilities 0.13.0
Пакет для работы с цветовой системой Material Design 3, включая выбор темы из изображений и создание тонов цветов. В новой версии все поля MaterialDynamicColors стали финальными, а также теперь требуется Dart 3.5.
👍 Лайки: 240, 📥 Скачиваний: 5.21М
https://pub.dev/packages/material_color_utilities

bdd_widget_test 1.8.2
Библиотека для написания тестов для Flutter-виджетов в стиле BDD (Behavior-Driven Development), используя язык Gherkin. В новой версии исправлена проблема с предупреждениями линтера.
👍 Лайки: 167, 📥 Скачиваний: 86.6К
https://pub.dev/packages/bdd_widget_test

#mobile_scanner #coverage #board_datetime_picker #checked_yaml #material_color_utilities #bdd_widget_test #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Как показать уведомление Toast с Riverpod
Избавляемся от требования BuildContext

При разработке Flutter-приложений часто возникает необходимость отображать уведомления или сообщения Toast. Использование Riverpod для управления состоянием приложения позволяет упростить этот процесс. В этой статье мы рассмотрим, как показать уведомление Toast, используя Riverpod, и избавимся от необходимости передавать BuildContext.

Для начала нам нужно создать провайдер, который будет отвечать за отображение Toast-уведомлений. Мы будем использовать пакет another_flushbar для отображения уведомлений.


import 'package:another_flushbar/flushbar.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

// Это наш провайдер из riverpod для вызова метода toast из любой функции riverpod
final toastProvider = Provider<ToastBuilder>((ref) => ToastBuilder());

class ToastBuilder {
void success({
required String title,
required String text,
}) {
// Продолжительность показа уведомления
Duration duration = const Duration(seconds: 3);
_showSuccessToast(
context: navigatorKey.currentContext!, // Используем глобальный ключ навигации
title: title,
text: text,
duration: duration,
);
}

void _showSuccessToast({
required BuildContext context,
required String title,
required String text,
required Duration duration,
}) {
// Хак, чтобы предотвратить показ toast во время тестов
if (Platform.environment.containsKey('FLUTTER_TEST')) {
return;
}
if (!context.mounted) {
return; // Проверяем, смонтирован ли контекст
}

// Используем пакет another_flushbar, но есть много других отличных решений
Flushbar(
flushbarPosition: FlushbarPosition.TOP,
title: title,
message: text,
// Здесь можно добавить стили
).show(context);
}
}


Далее, нам нужно создать глобальный ключ навигации, чтобы избавиться от требования BuildContext:

/// Не забудьте создать этот глобальный ключ и добавить его в ваш основной маршрутизатор
final navigatorKey = GlobalKey<NavigatorState>();


Теперь мы можем использовать наш провайдер toastProvider в любом месте приложения, где доступен Riverpod, чтобы показать Toast-уведомление:

import 'package:flutter_riverpod/flutter_riverpod.dart';

@Riverpod(keepAlive: false)
class EditAlbumNotifier extends _$EditAlbumNotifier {
// ...

Future<void> save() async {
// ...
// Например, после сохранения альбома
ref.read(toastProvider).success(
title: "Успех",
text: "Журнал архивирован",
);
}
}


Таким образом, мы можем легко отображать Toast-уведомления в нашем Flutter-приложении, используя Riverpod и пакет another_flushbar, а также избавиться от необходимости передавать BuildContext, используя глобальный ключ навигации.

Оцените новую рубрику и напишите в комментариях, что бы вы хотели видеть в следующих выпусках! 👍💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #Riverpod #ToastNotifications #FlutterTips
Обзор пакетов на тему Производительность и Анализ Крашей

sentry_flutter (8.14.2) - пакет для отслеживания ошибок и крашей в ваших Flutter-приложениях, включая native-слой.
👍 Лайки: 986, 📥 Скачиваний: 667К
Последнее обновление 📅: 48 дней назад
https://pub.dev/packages/sentry_flutter

firebase_performance (0.10.1+6) - пакет для использования Firebase Performance API в ваших Flutter-приложениях.
👍 Лайки: 221, 📥 Скачиваний: 40.7К
Последнее обновление 📅: 15 дней назад
https://pub.dev/packages/firebase_performance

sentry (8.14.2) - пакет Sentry SDK для Dart, позволяющий отслеживать ошибки и исключения в ваших приложениях на основе Dart.
👍 Лайки: 524, 📥 Скачиваний: 756К
Последнее обновление 📅: 48 дней назад
https://pub.dev/packages/sentry

leak_tracker (11.0.1) - пакет для обнаружения проблем с памятью в приложениях на Dart и Flutter.
👍 Лайки: 149, 📥 Скачиваний: 3.75М
Последнее обновление 📅: 44 дня назад
https://pub.dev/packages/leak_tracker

firebase_crashlytics (4.3.6) - плагин для отслеживания и анализа ошибок в ваших Flutter-приложениях.
👍 Лайки: 1240, 📥 Скачиваний: 1.36М
Последнее обновление 📅: 15 дней назад
https://pub.dev/packages/firebase_crashlytics

flutter_bugly (1.1.0) - пакет для работы с сервисом Tencent Bugly, позволяющий собирать статистику, отправлять отчеты об ошибках и обновлять приложения.
👍 Лайки: 66, 📥 Скачиваний: 1.04К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/flutter_bugly

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #sentry_flutter #firebase_performance #sentry #leak_tracker #firebase_crashlytics #flutter_bugly
Лучшие обновленные пакеты за последние 24 часа!

dds 5.0.3
Пакет для запуска сервиса Dart Developer Service (DDS). Улучшена обработка ошибок и добавлена поддержка клиентской пагинации.
👍 Лайки: 16, 📥 Скачиваний: 3.03М
https://pub.dev/packages/dds

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

syncfusion_flutter_core 29.1.39
Зависимый пакет для ряда виджетов Syncfusion Flutter. Обновлена минимальная версия Dart до 3.7.
👍 Лайки: 236, 📥 Скачиваний: 653К
https://pub.dev/packages/syncfusion_flutter_core

vm_service 15.0.2
Библиотека для доступа к протоколу обслуживания виртуальной машины Dart. Добавлено поле kTimerSignificantlyOverdue к EventKind.
👍 Лайки: 55, 📥 Скачиваний: 7.2М
https://pub.dev/packages/vm_service

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

just_audio 0.10.4
Пакет для создания аудиоплееров для Android, iOS, macOS, web, Linux и Windows. Исправлены ошибки одновременной загрузки аудиофайлов и другие.
👍 Лайки: 3940, 📥 Скачиваний: 648К
https://pub.dev/packages/just_audio

#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #dds #syncfusion_flutter_datepicker #syncfusion_flutter_core #vm_service #syncfusion_flutter_charts #just_audio
Как открыть страницу настроек приложения в системе
Привет, друзья! 👋 Сегодня мы поделимся с вами полезным советом о том, как открыть страницу настроек вашего приложения на устройстве пользователя. 📱💻

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

Используем url_launcher 📲

import 'package:url_launcher/url_launcher.dart';

Future<void> openSettings() async {
Uri url;
if (defaultTargetPlatform == TargetPlatform.iOS) {
url = Uri.parse('app-settings:');
} else if (defaultTargetPlatform == TargetPlatform.android) {
url = Uri.parse('package:uly.vlog.diary');
} else {
throw Exception('Unsupported platform');
}

if (await canLaunchUrl(url)) {
await launchUrl(url);
} else {
throw 'Could not launch $url';
}
}


Или проще с permission_handler 📦

import 'package:permission_handler/permission_handler.dart';

openAppSettings();



Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 💬 Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDev #ProgrammingTips #CodingTips
Привет, разработчики Flutter! 🚀 👋

Анна, Friflex Flutter Team Lead, сегодня хочет нам рассказать вам о Platform Channels - основном механизме общения нативного и Dart-кода во Flutter-приложениях 🤝. Это общий термин для названия всех видов каналов, и он очень важен для получения информации из платформы или использования ее функционала 📊.

Есть три вида платформенных каналов:
▫️ MethodChannel - канал для одноразовых асинхронных вызовов методов платформы 📞
▫️ EventChannel - канал для непрерывного общения с платформой 📺
▫️ BasicMessageChannel - канал для простого асинхронного обмена сообщениями с платформой 📨

При создании каналов каждому необходимо задавать свой уникальный строковый идентификатор 📝. С помощью него платформа и Flutter «стыкуются» - образуется некий мост, по которому идет передача данных 🌉.

На примере плагина permission_handler мы можем увидеть, как настраивается общение с платформой 📈. В Dart-коде создается экземпляр MethodChannel, а в нативном коде Android - подключается обработчик вызовов 📊.

Если вы хотите узнать больше о Platform Channels и как они работают, то переходите по ссылке и читайте полную статью 📄

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

#flutter #dart #flutterpulse ❤️
Обзор пакетов на тему Flutter Framework 🚀

VelocityX - бесплатный, открытый и минималистичный фреймворк для создания пользовательского интерфейса в Flutter. 👍 Лайки: 1450, 📥 Скачиваний: 7300. Последнее обновление: 4.3.1 (3 месяца назад). https://pub.dev/packages/velocity_x

Get - легкое и мощное решение для Flutter, сочетающее в себе высокопроизводительное управление состоянием, умную инъекцию зависимостей и управление маршрутами. 👍 Лайки: 15300, 📥 Скачиваний: 674К. Последнее обновление: 4.7.2 (3 месяца назад). https://pub.dev/packages/get

Stacked - фреймворк для создания производственных приложений на Flutter, позволяющий писать тестируемый и поддерживаемый код. 👍 Лайки: 1470, 📥 Скачиваний: 73.7К. Последнее обновление: 3.4.4 (5 месяцев назад). https://pub.dev/packages/stacked

Flutter Clean Architecture - пакет для реализации Чистой Архитектуры в Flutter, основанной на концепциях Дяди Боба. 👍 Лайки: 410, 📥 Скачиваний: 760. Последнее обновление: 6.0.2 (8 дней назад). https://pub.dev/packages/flutter_clean_architecture

Flutter Modular - решение для модульной структуры вашего проекта на Flutter, предлагающее модульные маршруты и модульную инъекцию зависимостей. 👍 Лайки: 1300, 📥 Скачиваний: 108К. Последнее обновление: 6.3.4 (12 месяцев назад). https://pub.dev/packages/flutter_modular

Get CLI - пакет для автоматизации создания проектов на Flutter, версия 1.9.1. 👍 Лайки: 673, 📥 Скачиваний: 4.2К. Последнее обновление: 9 месяцев назад. https://pub.dev/packages/get_cli

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #velocityx #get #stacked #fluttercleanarchitecture #fluttermodular #getcli
Лучшие обновленные пакеты за последние 24 часа!

purchases_flutter 8.10.1
Пакет используется для упрощения реализации подписок и покупок в приложениях Flutter. В новой версии обновлены зависимости, включая purchases-hybrid-common до версии 13.35.0.
👍 Лайки: 805, 📥 Скачиваний: 147К
https://pub.dev/packages/purchases_flutter

dcli_core 7.0.3
dcli_core - это набор основных библиотек, используемых в dcli. В новой версии обновлено описание пакета в pubspec для более точного отражения его функциональности.
👍 Лайки: 1, 📥 Скачиваний: 1.06М
https://pub.dev/packages/dcli_core

very_good_analysis 9.0.0
Пакет very_good_analysis предоставляет набор правил линтинга для Dart и Flutter. В новой версии обновлены зависимости и исправлены некоторые ошибки.
👍 Лайки: 699, 📥 Скачиваний: 397К
https://pub.dev/packages/very_good_analysis

flutter_calendar_carousel 2.5.4
Этот пакет позволяет создавать горизонтально прокручиваемые календари для Flutter. В новой версии обновлена зависимость intl.
👍 Лайки: 463, 📥 Скачиваний: 39К
https://pub.dev/packages/flutter_calendar_carousel

go_router 15.1.3
Пакет go_router - это декларативный пакет маршрутизации для Flutter. В новой версии обновлена минимальная поддерживаемая версия SDK и исправлена опечатка в документации API.
👍 Лайки: 5310, 📥 Скачиваний: 1.7М
https://pub.dev/packages/go_router

devtools_shared 3.0.0
Пакет devtools_shared используется для описания формата JSON-файлов, собираемых из Dart VM и Android ADB. В новой версии произошло разделение библиотек расширений на две части.
👍 Лайки: 18, 📥 Скачиваний: 3.7М
https://pub.dev/packages/devtools_shared

#purchases_flutter #dcli_core #very_good_analysis #flutter_calendar_carousel #go_router #devtools_shared #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Flutter tips: how to create a responsive layout
Адаптивный макет: советы по Flutter

Привет, разработчики! 👋 Сегодня мы поговорим о создании адаптивного макета в Flutter. 📱💻

Адаптация макета под разные размеры экранов 📐
Чтобы ваше приложение выглядело отлично на разных устройствах, необходимо адаптировать макет под различные размеры экранов. 📊


import 'package:flutter/widgets.dart';

// Перечисление типов устройств
enum DeviceType { small, medium, large, xlarge }

// Виджет, который адаптирует свой контент к текущему типу устройства
class ResponsiveLayout extends StatelessWidget {
final Widget? small; // Виджет для маленьких экранов
final Widget? medium; // Виджет для средних экранов
final Widget? large; // Виджет для больших экранов
final Widget? xlarge; // Виджет для очень больших экранов

const ResponsiveLayout({
super.key,
required this.small,
this.medium,
this.large,
this.xlarge,
});

@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (context, constraints) {
// Определение типа устройства на основе ширины экрана
switch (getDeviceType(constraints)) {
case DeviceType.small:
return small!; // Возвращаем виджет для маленьких экранов
case DeviceType.medium:
return medium ?? small!; // Возвращаем виджет для средних экранов или fallback к маленькому
case DeviceType.large:
return large ?? medium ?? small!; // Возвращаем виджет для больших экранов или fallback
case DeviceType.xlarge:
return xlarge ?? large ?? medium ?? small!; // Возвращаем виджет для очень больших экранов или fallback
}
},
);
}

// Метод для определения типа устройства на основе ограничений
DeviceType getDeviceType(BoxConstraints constraints) {
return switch (constraints.maxWidth) {
> 1200 => DeviceType.xlarge, // Очень большой экран
> 1024 => DeviceType.large, // Большой экран
> 768 => DeviceType.medium, // Средний экран
_ => DeviceType.small, // Маленький экран
};
}
}


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

ResponsiveLayout(
small: SigninForm(), // Форма входа для маленьких экранов
medium: Center( // Центрирование для средних экранов и больше
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: 600), // Ограничение максимальной ширины
child: SigninForm(), // Форма входа
),
),
)


Этот код позволяет создать адаптивный макет, который будет корректно отображаться на различных устройствах. 📱💻

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

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDev #UIUX #ProgrammingTips #CodingTips
Обзор пакетов на тему Generic Picker📦

1. Flutter Material Pickers 📈
Пакет Flutter Material Pickers содержит часто используемые диалоги выбора дизайна Material Design.
Включает в себя новые и обёртки существующих пикеров с общим диалогом и функцией доступа.
Лайков: 232, Скачиваний: 2.9К
Последнее обновление: 12 месяцев назад
https://pub.dev/packages/flutter_material_pickers

2. Numeric Selector 🚀
Numeric Selector - это настраиваемый пакет для создания горизонтальных и вертикальных числовых селекторов с плавной прокруткой и опциональной вибрационной обратной связью.
Лайков: 4, Скачиваний: 503
Последнее обновление: 4 месяца назад
https://pub.dev/packages/numeric_selector

3. FilterList
Пакет FilterList позволяет легко реализовать поиск и фильтрацию данных в вашем приложении.
Лайков: 419, Скачиваний: 1.9К
Последнее обновление: 12 месяцев назад
https://pub.dev/packages/filter_list

4. flutter_picker_plus
Это мощный и настраиваемый виджет выбора для приложений Flutter.
Лайков: 47, Скачиваний: 14.1К
Последнее обновление: 40 часов назад
https://pub.dev/packages/flutter_picker_plus

5. Day Month Picker
Этот пакет позволяет пользователям выбирать день и месяц из диалогового окна.
Лайков: 29, Скачиваний: 80
Последнее обновление: 7 месяцев назад
https://pub.dev/packages/day_month_picker

6. Bottom Picker
Теперь поддерживает desktop и web, наряду с mobile.
Лайков: 332, Скачиваний: 12.1К
Последнее обновление: 47 часов назад
https://pub.dev/packages/bottom_picker

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #fluttermaterialpickers #numericselector #filterlist #flutterpickerplus #daymonthpicker #bottompicker
Лучшие обновленные пакеты за последние 24 часа! 🚀

carousel_slider обновлен до версии 5.1.1! 🎉
Пакет carousel_slider - это виджет слайдера карусели для Flutter, поддерживающий бесконечную прокрутку, автоматическое воспроизведение и кастомные дочерние виджеты.
В новой версии доступны новые функции и улучшения.
👍 Лайки: 5790, 📥 Скачиваний: 845К
https://pub.dev/packages/carousel_slider

talker_logger обновлен до версии 4.8.3! 🚀
Пакет talker_logger - это легкий и настраиваемый логгер для ваших приложений. Он позволяет создавать кастомные логи, фильтровать и форматировать вывод.
В новой версии добавлен фильтр ошибок для talker_riverpod_logger.
👍 Лайки: 49, 📥 Скачиваний: 239К
https://pub.dev/packages/talker_logger

talker_flutter обновлен до версии 4.8.3! 🚀
Пакет talker_flutter - это продвинутый обработчик ошибок и логгер для приложений на Dart и Flutter.
В новой версии добавлен фильтр ошибок для talker_riverpod_logger.
👍 Лайки: 556, 📥 Скачиваний: 168К
https://pub.dev/packages/talker_flutter

Talker обновлен до версии 4.8.3! 🚀
Пакет Talker - это продвинутый обработчик ошибок и логгер для приложений на Dart и Flutter.
В новой версии добавлен фильтр ошибок для Riverpod Logger.
👍 Лайки: 717, 📥 Скачиваний: 236К
https://pub.dev/packages/talker

dcli обновлен до версии 7.0.5! 🚀
dcli - это API и инструментарий для создания кроссплатформенных приложений командной строки (CLI) и скриптов на языке программирования Dart.
В новой версии исправлена ошибка, из-за которой функция sleepAsync возвращала управление сразу же, не дожидаясь окончания задержки.
👍 Лайки: 210, 📥 Скачиваний: 1.07М
https://pub.dev/packages/dcli

flutter_tex обновлен до версии 5.1.3! 🚀
Пакет flutter_tex позволяет отображать математические и химические формулы в приложениях Flutter, используя движок MathJax.
В новой версии исправлена проблема с отображением нескольких TeXView.
👍 Лайки: 319, 📥 Скачиваний: 9.45К
https://pub.dev/packages/flutter_tex

#carousel_slider #talker_logger #talker_flutter #Talker #dcli #flutter_tex #flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages
Flutter tips: Расширения для работы с датами

Привет, подписчики! Сегодня мы поговорим о полезных расширениях для работы с датами в Flutter. Расширения позволяют писать более чистый и читаемый код, что упрощает разработку и поддержку приложений.

Использование расширений для дат

Расширения в Dart позволяют добавлять новые методы к существующим классам. В данном случае мы будем использовать расширение для класса DateTime, чтобы добавить полезные методы для работы с датами.

extension DateExtension on DateTime {
DateTime get firstDayOfWeek {
return subtract(Duration(days: weekday - 1));
}

DateTime get lastDayOfWeek {
return add(Duration(days: 7 - weekday));
}

DateTime get firstDayOfMonth {
return DateTime(year, month);
}

bool isToday() => isSameDay(DateTime.now());

bool isSameDay(DateTime other) {
return day == other.day && month == other.month && year == other.year;
}

bool isAfterDayOrEqual(DateTime other) {
return isAfter(other) || isSameDay(other);
}

bool isBeforeDayOrEqual(DateTime other) {
return isBefore(other) || isSameDay(other);
}

bool isSameWeek(DateTime other) {
final kfirstDayOfTheWeek = firstDayOfWeek;
return other.isAfterDayOrEqual(kfirstDayOfTheWeek) &&
other.isBefore(lastDayOfWeek);
}
}


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

Теперь давайте рассмотрим пример использования этих расширений. Вместо того, чтобы писать громоздкий код для проверки, является ли дата сегодняшней, мы можем использовать метод isToday():

if (!activities.hasActivity(date) && date.isToday()) {
// код
}


Это намного чище и читаемее, чем:

final today = DateTime.now();
if (!activities.hasActivity(date) && date.day == today.day && date.month == today.month && date.year == today.year) {
// код
}


Оцените новую рубрику! Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #CodingTips #AppDev #FlutterTips
CherryPick DI для Dart/Flutter проектов 🚀💻!
Узнайте о новых возможностях DI-контейнера CherryPick для Flutter 📱! Теперь вы можете создавать модульные и иерархичные Scope для каждой области жизни приложения, использовать аннотации и генерацию кода для упрощения работы с зависимостями 🤩!
Читайте подробнее здесь! 📄 #CherryPick #Flutter #Dart #FlutterPulse #DIконтейнер #разработка #мобильные_приложения 🚀💻