Flutter Pulse
522 subscribers
336 photos
735 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Форматирование JSON с помощью Dart

Привет, разработчики! 👋 Сегодня мы рассмотрим полезный совет по работе с JSON в Dart. Вы узнаете, как красиво напечатать JSON-строку, сделав её более читаемой и удобной для отладки 🛠️

Проблема: JSON-данные часто приходят в компактном, неформатированном виде, что затрудняет их чтение и анализ.

Решение: Используйте класс JsonEncoder из пакета dart:convert для форматирования JSON.


import 'dart:convert';

// Создаём кодировщик с отступами для форматирования
var encoder = const JsonEncoder.withIndent(' ');
// Преобразуем данные в красиво отформатированную строку
String prettyprint = encoder.convert(data);


Этот простой код позволяет превратить нечитаемую JSON-строку в структурированный и понятный формат с отступами 🌟

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

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

#flutter #dart #flutterpulse #FlutterPulseTips #JSON #DartTips #FlutterTips #CodingTips #AppDevelopment #MobileDevelopment
👍31
Обзор пакетов на тему Графики и Визуализация

Graphic - библиотека для Flutter, предоставляющая грамматику визуализации данных и позволяющая создавать интерактивные графики и диаграммы. 👍 Лайки: 832, 📥 Скачиваний: 44.1К
Последнее обновление 📅: 55 дней назад
https://pub.dev/packages/graphic

Syncfusion Flutter Charts - мощная библиотека для создания красивых, анимированных и высокопроизводительных графиков. 👍 Лайки: 3530, 📥 Скачиваний: 270К
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/syncfusion_flutter_charts

FL Chart - пакет для Flutter, предназначенный для создания различных типов графиков, включая линейные, столбчатые, круговые и другие. 👍 Лайки: 6840, 📥 Скачиваний: 985К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/fl_chart

Syncfusion Flutter Gauges - пакет для Flutter, позволяющий создавать современные, интерактивные и анимированные шкалы для ваших приложений. 👍 Лайки: 1110, 📥 Скачиваний: 166К
Последнее обновление 📅: 8 дней назад
https://pub.dev/packages/syncfusion_flutter_gauges

d_chart - пакет для Flutter, позволяющий легко создавать и использовать графики в ваших приложениях. 👍 Лайки: 205, 📥 Скачиваний: 23.7К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/d_chart

Flutter Flow Chart - пакет для Flutter, позволяющий создавать диаграммы потока данных с помощью различных элементов. 👍 Лайки: 186, 📥 Скачиваний: 836
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/flutter_flow_chart

#Graphic #SyncfusionFlutterCharts #FLChart #SyncfusionFlutterGauges #d_chart #FlutterFlowChart #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
1
Самые лучшие обновлённые пакеты за последние 24 часа

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

webview_flutter_android 4.9.0
Теперь пакет поддерживает PlatformWebViewController.loadFileWithParams и добавляет AndroidLoadFileParams для загрузки файлов с заголовками на Android.
Пакет имеет 45 лайков и более 2 640 000 скачиваний!
https://pub.dev/packages/webview_flutter_android

webview_flutter_wkwebview 3.23.0
Теперь добавлена поддержка PlatformWebViewController.loadFileWithParams и введен WebKitLoadFileParams для iOS и macOS.
Лайков: 42, Скачиваний: 2 640 000.
https://pub.dev/packages/webview_flutter_wkwebview

built_value 8.11.1
Пакет built_value используется для создания неизменяемых типов значений, классов-ENUM и сериализации JSON в Dart.
В новой версии разрешено использование analyzer 8.0.0 с built_value_generator.
Пакет имеет 759 лайков и более 7 900 000 скачиваний!
https://pub.dev/packages/built_value

flutter_osm_plugin 1.0.0-dev.1
Этот пакет используется для создания карт OpenStreetMap в приложениях Flutter, с функциями zoals отображение текущего положения, создание маркеров, отслеживание местоположения пользователя и многое другое.
В новой версии обновлена документация.
Пакет имеет 485 лайков и 6980 скачиваний.
https://pub.dev/packages/flutter_osm_plugin

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

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #webview_flutter_android #webview_flutter_wkwebview #built_value #flutter_osm_plugin #workmanager #FirebaseMessagingPlugin
Базовый Dart (Часть №1) 🚀💻
Привет, программисты! 👋 Сегодня мы поговорим о базовом Dart и о том, что нужно знать до перехода к объектно-ориентированному программированию 🤔.
Узнаем, что такое runtime и compile-time, и как они отличаются 🕒. Также разберемся с типами данных и их важностью в программировании 📊.
Учимся работать с переменными: присваивание, арифметические операции, конкатенация и логические операции 📝. А также изучаем условные операторы if, else if и else, чтобы принимать решения в программах 🤖.
Узнайте о условных операторах, циклах и функциях в программировании 🔄. Эти инструменты помогут вам создавать гибкие и эффективные программы 🚀.
Функции в программировании - это блоки кода, которые выполняют определенные задачи и могут быть вызваны несколько раз 📈. Они помогают повторно использовать код, организовывать программы и облегчают отладку 🐜.
И, конечно, не забудем про Null Safety - мощный инструмент для безопасного кода 🛡. Узнайте, как избегать ошибок и писать более надежный код с помощью Null Safety 📚.
Читайте статью и начинайте свое путешествие в мир программирования 🌟!
#flutter #dart #flutterpulse #programmirovanie #nullsafety #basics #programming #development #coders #learndart #dartlang #flutterdev #mobileappdevelopment 🚀💻
Спам кнопок: как предотвратить множественные нажатия?

Вы когда-нибудь сталкивались с ситуацией, когда пользователь нажимает кнопку несколько раз подряд, вызывая нежелательные действия? 🤯

Представьте, что пользователь нажимает кнопку "Лайк" 10 раз за 1 секунду! 👍 Как сделать так, чтобы событие сработало только один раз? 🤔

Решение: использование RxDart с debounceTime ⏱️


import 'dart:async';
import 'package:flutter/material.dart';
import 'package:rxdart/subjects.dart';
import 'package:rxdart/rxdart.dart';

class LikeButtonWidget extends StatefulWidget {
final Function onTap;

const LikeButtonWidget({required this.onTap, Key? key}) : super(key: key);

@override
_LikeButtonWidgetState createState() => _LikeButtonWidgetState();
}

class _LikeButtonWidgetState extends State<LikeButtonWidget> {
final pushSubject = BehaviorSubject<void>();
late StreamSubscription<void> pushSubscription;

@override
void initState() {
super.initState();
pushSubscription = pushSubject.stream
.debounceTime(const Duration(milliseconds: 1000))
.listen((_) {
// отправить запрос на сервер или выполнить другое действие
widget.onTap();
});
}

@override
void dispose() {
super.dispose();
pushSubscription.cancel(); // не забудьте отменить подписку на поток
}

@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {
pushSubject.add(null);
},
child: const Icon(Icons.plus_one),
);
}
}


Этот код создает кнопку "Лайк", которая срабатывает только один раз в секунду, даже если пользователь нажимает ее несколько раз подряд. 🔥

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

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #RxDart #DebounceTime #ButtonSpam #SpamProtection
👍2🔥1
Обзор пакетов на тему "Формы" для Flutter 📝

Reactive Forms - это модельный подход к обработке форм и валидации, вдохновленный Angular's Reactive Forms. 👍 Лайки: 912, 📥 Скачиваний: 78.3К
Последнее обновление 📅: 36 дней назад
https://pub.dev/packages/reactive_forms

FForm - это высокоуровневый пакет для создания и управления формами в Flutter-приложениях. 🌟 👍 Лайки: 178, 📥 Скачиваний: 240
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/fform

Flutter Form Builder позволяет создавать формы для сбора данных, валидировать поля, реагировать на изменения и собирать пользовательский ввод. 👍 Лайки: 2730, 📥 Скачиваний: 205К
Последнее обновление 📅: 32 дня назад
https://pub.dev/packages/flutter_form_builder

Formz - это унифицированное представление и валидация форм для Dart. 💻 👍 Лайки: 879, 📥 Скачиваний: 120К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/formz

SurveyKit - это библиотека для создания красивых опросов, вдохновленная iOS ResearchKit Surveys. 📊 👍 Лайки: 124, 📥 Скачиваний: 1.7К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/survey_kit

form_builder_validators - это набор готовых валидаторов для форм, включая проверку email, телефона, даты, времени и многое другое. 👍 Лайки: 352, 📥 Скачиваний: 174К
Последнее обновление 📅: 47 дней назад
https://pub.dev/packages/form_builder_validators

#ReactiveForms #FForm #FlutterFormBuilder #Formz #SurveyKit #form_builder_validators #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
👍1
Самые лучшие обновлённые пакеты за последние 24 часа

syncfusion_flutter_charts 30.1.41 - библиотека визуализации данных для создания красивых и высокопроизводительных графиков в приложениях Flutter. В новой версии исправлена ошибка, вызванная мутациями элементов графика в фазе макета. 👍 Лайки: 3530, 📥 Скачиваний: 280К. https://pub.dev/packages/syncfusion_flutter_charts

dart_style 3.1.2 - автоматический форматтер кода на языке Dart. В новой версии добавлена поддержка синтаксиса dot shorthand, обновлен до последней версии пакета analyzer. 👍 Лайки: 117, 📥 Скачиваний: 6.7М. https://pub.dev/packages/dart_style

analyzer 8.1.0 - используется для статического анализа кода на языке Dart. В новой версии добавлены новые функции и исправлены ошибки. 👍 Лайки: 295, 📥 Скачиваний: 10.9М. https://pub.dev/packages/analyzer

file_picker 10.2.2 - позволяет использовать родной файловый браузер для выбора одного или нескольких файлов. В новой версии исправлена проблема с добавлением расширения .txt при сохранении файлов на Android. 👍 Лайки: 4770, 📥 Скачиваний: 2.1М. https://pub.dev/packages/file_picker

http 1.5.0 - библиотека для работы с HTTP-запросами. В новой версии исправлена ошибка в IOClient, добавлена поддержка отмены запросов. 👍 Лайки: 8280, 📥 Скачиваний: 11.3М. https://pub.dev/packages/http

dio 5.9.0 - мощный инструмент для HTTP-запросов в Dart и Flutter. В новой версии исправлены ошибки и добавлены новые функции. 👍 Лайки: 8039, 📥 Скачиваний: 749К. https://pub.dev/packages/dio

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #syncfusion_flutter_charts #dart_style #analyzer #file_picker #http #dio
Запускайте тесты на нескольких размерах экрана

Предотвратите переполнение для разных размеров экранов 🤯

Это позволит запустить тест с каждой конфигурацией экрана в screenSizeVariants 📱


final screenSizeVariants = ValueVariant<ScreenSize>(basicPhones);

testWidgets('''клик на кнопку => отображается закрепленный виджет наложения''', (
WidgetTester tester,
) async {
await tester.setScreenSize(screenSizeVariants.currentValue!);

await tester.pumpWidget(const MyAppWithCircleAnchored());
expect(find.byType(AnchoredHelper), findsNothing);
await tester.tap(find.byType(OutlinedButton).first);
await tester.pump(const Duration(seconds: 2));
expect(find.byType(AnchoredHelper), findsOneWidget);
}, variant: screenSizeVariants);



import 'dart:ui';
import 'package:flutter_test/flutter_test.dart';

// это определяет конфигурацию размера конкретного устройства
class ScreenSize {
// имя этой конфигурации
final String name;

// конфигурация размера и плотность пикселей
final double width, height, pixelDensity;

const ScreenSize(this.name, this.width, this.height, this.pixelDensity);

@override
String toString() => name;
}

extension ScreenSizeManager on WidgetTester {
Future<void> setScreenSize(ScreenSize screenSize) async {
return _setScreenSize(
width: screenSize.width,
height: screenSize.height,
pixelDensity: screenSize.pixelDensity,
);
}

Future<void> _setScreenSize({
double width = 540,
double height = 960,
double pixelDensity = 1,
}) async {
final size = Size(width, height);
await binding.setSurfaceSize(size);
binding.window.physicalSizeTestValue = size;
binding.window.devicePixelRatioTestValue = pixelDensity;
}
}


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

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

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #TestingTips #ScreenSize #FlutterTips
👍1
Обзор пакетов на тему Глубокие ссылки (Deep Linking) 🚀

uni_links_desktop 📈
Ускорьте разработку своих Flutter-приложений с помощью uni_links_desktop! Этот пакет позволяет легко работать с ссылками на macOS и Windows.
👍 Лайки: 28, 📥 Скачиваний: 213К
Последнее обновление 📅: 4 месяца назад
https://pub.dev/packages/uni_links_desktop

flutter_facebook_app_links 📊
Пакет Flutter Facebook App Links: уловите отложенные ссылки из Facebook ADS! Пакет позволяет получать отложенные ссылки из Facebook ADS после установки приложения.
👍 Лайки: 41, 📥 Скачиваний: 3.1К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/flutter_facebook_app_links

app_links 📈
Пакет App Links - универсальный обработчик ссылок для Android, iOS, Linux, macOS и Windows! Открывайте ваше приложение из HTTPS-ссылок, а не из браузера, и используйте кастомные схемы.
👍 Лайки: 1120, 📥 Скачиваний: 1.04М
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/app_links

flutter_branch_sdk 📈
Обновление пакета Flutter Branch SDK! Пакет для интеграции Branch SDK в приложения на Flutter. Позволяет создавать глубокие ссылки, отслеживать пользователей и анализировать их поведение.
👍 Лайки: 217, 📥 Скачиваний: 151К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/flutter_branch_sdk

referrer 📊
Новый пакет для Flutter: Referrer! Пакет позволяет читать информацию о реферере (URL-адрес страницы, которая открыла ваше приложение через глубокую ссылку).
👍 Лайки: 30, 📥 Скачиваний: 1.4К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/referrer

appsflyer_sdk 📈
Обновление пакета AppsFlyer Flutter Plugin! Пакет используется для интеграции сервиса AppsFlyer в приложения на Flutter. Пакет позволяет отслеживать события в приложении, работать с глубокими ссылками и многое другое.
👍 Лайки: 156, 📥 Скачиваний: 497К
Последнее обновление 📅: 21 часа назад
https://pub.dev/packages/appsflyer_sdk

#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #uni_links_desktop #flutter_facebook_app_links #app_links #flutter_branch_sdk #referrer #appsflyer_sdk #deeplinking
Улучши свой Flutter-код! 🚀💻
Устали от громоздких конструкций для обработки касаний в ваших Flutter-приложениях? 🤯👀
Теперь есть решение! 🎉 Представляем вам TapRegion - элегантный виджет, который упрощает обработку касаний и делает ваш код чище! 🌟

🔵 Узнайте, что такое TapRegion и как он работает
🔵 Изучите все плюсы и минусы его использования
🔵 Получите готовый пример кода для вашего проекта

Читайте полную статью здесь, а также не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📚💻 #flutter #dart #flutterpulse 👍💯