Flutter Pulse
496 subscribers
301 photos
633 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Часть 2. GoForm — как не страдать с формами во Flutter 🤩!
Узнайте, как сделать работу с формами приятной и продуктивной 📝.
Новые примеры использования библиотеки GoForm для создания форм в Flutter: поля ввода пароля, чек-боксы и селекторы файлов 📁.
Читайте статью и узнайте, как создавать формы с выпадающими списками, чекбоксами и другими виджетами 📚.
Узнайте, как собирать формы из отдельных компонентов и работать с уже заполненными формами 📝.
GoForm упрощает формы и валидации данных в Flutter 📊.
Узнайте, как создавать формы с асинхронной валидацией и debounce ⏱️.
Управление ошибками и значениями полей в динамических формах с GoForm 📝.
Узнайте, как создавать динамические формы, реагировать на изменения и работать с масками номера телефона в Flutter 📱.
Примеры и лучшие практики тестирования форм в Flutter 📊.
Узнайте о главных плюсах и будущих планах GoForm и как упростить работу с формами в Flutter 🚀.
Читать статью можно здесь 📄.
#flutter #dart #flutterpulse 🚀💻📈
📢 Большая новость для всех разработчиков на Dart и Flutter! 🚀
В языке Dart появилась новая фича под названием Simpler Parameters, которая упрощает синтаксис при объявлении функций и методов 🤩.
Теперь параметры по умолчанию обязательны, а чтобы сделать параметр опциональным, достаточно указать значение по умолчанию через знак равенства = 📝.
Нет больше необходимости использовать [ ... ] для опциональных позиционных параметров и required для обязательных именованных параметров 🙅‍♂️.
Это значит, что код станет более консистентным и легким для чтения 📖.
Например, вместо foo(int a, [int b = 1, int c = 2]) теперь можно писать foo(int a, int b = 1, int c = 2) 📝.
А вместо foo(int a, {required int b, int c = 2}) - foo(int a, {int b, int c = 2}) 📝.
Также теперь функции могут иметь одновременно позиционные и именованные опциональные параметры без ограничений 🤯.
Чтобы узнать больше о этой фиче и как она изменит ваш подход к программированию, перейдите по ссылке и прочитайте полную новость 📄.
Не забудьте подписаться на канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Dart и Flutter 📱!
#flutter #dart #flutterpulse 🚀💻
Тестирование выбрасывания ошибки
Привет, Flutter-разработчики! 🤖💻
Сегодня мы рассмотрим полезный совет по тестированию в Flutter: как проверить, что ваше приложение выбрасывает конкретную ошибку. Это очень важно для обеспечения стабильности и надежности вашего приложения. 📈

Вы когда-нибудь сталкивались с ситуацией, когда ваш код выбрасывает ошибку, и вы не знали, как ее правильно протестировать? 🤔 Теперь у вас есть решение! Мы будем использовать `testWidgets` для проверки того, что виджет выбрасывает ожидаемую ошибку.

Пример кода:


testWidgets('создание виджета с некоторым параметром → throw', (WidgetTester tester) async {
var exceptionRes;
// catch flutter error или это приведет к провалу теста
FlutterError.onError = (details) {
exceptionRes = details.exception;
};
await tester.pumpWidget(myAppWithError);
// вернуть обработчик ошибок Flutter обратно
// Flutter выбросит ошибку, если этого не сделать
FlutterError.onError = (details) => FlutterError.presentError(details);
expect(exceptionRes, isNotNull);
expect(exceptionRes, isInstanceOf<MyCustomException>());
});



В этом примере мы тестируем, что виджет выбрасывает `MyCustomException`, когда ему передаются определенные параметры. Мы используем `FlutterError.onError` для перехвата исключения и его проверки.

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

Все подобные новости можно найти по хэштегу #FlutterPulseTips. 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #Programming #SoftwareDevelopment #ErrorHandling #Testing
Интеграция Flutter Mobile SDK в ОС Аврора 🚀💻! Тимлид Mobile SDK в 2ГИС и Flutter-разработчик рассказывают о технических деталях адаптации под ОС Аврора 🤔. Узнайте, как они использовали Flutter и Dart для разработки под новую российскую операционную систему 📱. Также вы узнаете, как создать кросс-платформенный SDK для ОС Аврора с помощью Flutter и C++ 📈. Подробности в нашей статье читать здесь 📄. #flutter #dart #flutterpulse 🚀💻
Обзор пакетов на тему "Пагинация и ленивая загрузка" (Pagination & Lazy Loading)

📦 lazy_load_indexed_stack - расширяет IndexedStack, позволяя загружать виджеты только при необходимости и предоставляя улучшенный контроль над перезагрузкой конкретных дочерних виджетов. 👍 Лайки: 93, 📥 Скачиваний: 13.4К
Последнее обновление 📅: 5 месяцев назад
https://pub.dev/packages/lazy_load_indexed_stack

📈 firebase_pagination - пакет для упрощения пагинации данных в Firebase Realtime Database и Firestore. 👍 Лайки: 82, 📥 Скачиваний: 2.46К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/firebase_pagination

📊 number_paginator - виджет пагинации для Flutter, который позволяет переключаться между номерами страниц. 👍 Лайки: 104, 📥 Скачиваний: 11.6К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/number_paginator

🚀 infinite_scroll_pagination - пакет позволяет реализовать бесконечную прокрутку и подгрузку элементов по мере прокрутки экрана. 👍 Лайки: 3790, 📥 Скачиваний: 430К
Последнее обновление 📅: 19 дней назад
https://pub.dev/packages/infinite_scroll_pagination

📈 very_good_infinite_list - библиотека позволяет легко отображать пагинированные данные в ваших Flutter-приложениях. 👍 Лайки: 289, 📥 Скачиваний: 14.9К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/very_good_infinite_list

📊 loading_more_list - пакет, позволяющий создавать списки с функцией "загрузить еще" для ListView, GridView, WaterfallFlow и Slivers. 👍 Лайки: 175, 📥 Скачиваний: 4.78К
Последнее обновление 📅: 10 месяцев назад
https://pub.dev/packages/loading_more_list

#lazy_load_indexed_stack #firebase_pagination #number_paginator #infinite_scroll_pagination #very_good_infinite_list #loading_more_list #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
👍1
🚀 Новости из мира Flutter! 🚀
Привет, друзья! 👋 Сегодня мы поговорим о пакете url_launcher 📱, который позволяет открывать ссылки во внешнем браузере или прямо внутри приложения 🌐. Но это не все - с его помощью можно совершать звонки, отправлять письма и даже открывать мессенджеры и другие приложения с поддержкой кастомных URL-схем 📲!
Хотите узнать, как это работает? 🤔 Тогда читайте новость: 📄
И не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter! 📣
#flutter #dart #flutterpulse 💻📱🔥
Новые пакеты за неделю

video_view
Плагин для легкого воспроизведения видео в приложениях Flutter. Он поддерживает субтитры и переключение аудиодорожек, а также использует системные или приложенные компоненты для бесшовного воспроизведения.
👍 Лайки: 2, 📥 Скачиваний: 975
https://pub.dev/packages/video_view

stroke_gradient_text
Пакет позволяет создавать текст с градиентным и контурным эффектом.
👍 Лайки: 1, 📥 Скачиваний: 288
https://pub.dev/packages/stroke_gradient_text

flutter_powerauth_mobile_sdk_plugin
Пакет для упрощения подключения к сервису PowerAuth в своих мобильных приложениях.
👍 Лайки: 2, 📥 Скачиваний: 513
https://pub.dev/packages/flutter_powerauth_mobile_sdk_plugin

icon_bundler
Пакет позволяет объединять коллекцию файлов svg, png, jpg в один образ, содержащий все иконки.
👍 Лайки: 11, 📥 Скачиваний: 83
https://pub.dev/packages/icon_bundler

not_static_icons
Пакет содержит более 100 анимированных иконок, которые можно настроить по размеру, цвету, продолжительности анимации и толщине линии.
👍 Лайки: 10, 📥 Скачиваний: 0
https://pub.dev/packages/not_static_icons

background
Пакет для использования красивых изображений или видео в качестве динамических фонов для ваших экранов.
👍 Лайки: 21, 📥 Скачиваний: 96
https://pub.dev/packages/background

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages
👍3
Самые лучшие обновлённые пакеты за последние 24 часа

flutter_chat_ui 2.6.2
Плагин для Flutter, который позволяет создавать чат-интерфейсы. Теперь доступен новый loadingBuilder для stream-сообщений.
👍 Лайки: 1510, 📥 Скачиваний: 74.1К
https://pub.dev/packages/flutter_chat_ui

intl_utils 2.8.11
Пакет для создания связи между переводами из файлов .arb и приложением Flutter. В обновлении была обновлена зависимость petitparser.
👍 Лайки: 227, 📥 Скачиваний: 255К
https://pub.dev/packages/intl_utils

slang 4.7.3
Пакет для создания типобезопасных решений для интернационализации (i18n) в проектах на Dart. В новой версии исправлены ошибки с добавлением ключевого слова "override" к зарезервированным словам и удалением пустых классов.
👍 Лайки: 656, 📥 Скачиваний: 94.7К
https://pub.dev/packages/slang

analyzer 7.5.5
Пакет для статического анализа кода на языке Dart. В новой версии удалены свойства LocalVariableElement.hasInitializer и LocalVariableFragment.hasInitializer, которые были не полезны и не использовались.
👍 Лайки: 289, 📥 Скачиваний: 11.8М
https://pub.dev/packages/analyzer

amplitude_flutter 3.16.0
Пакет для интеграции с Amplitude. В этом обновлении исправлена проблема с сессиями в Android SDK, добавлен метод setOffline и исправлены вложенные свойства событий в Web.
👍 Лайки: 113, 📥 Скачиваний: 227К
https://pub.dev/packages/amplitude_flutter

flutter_background_geolocation 1.0.0-rc.1
Пакет для отслеживания местоположения в фоновом режиме и геозонирования с умным обнаружением движения для iOS и Android. В обновлении исправлены ошибки, добавлены новые функции, включая реализацию для Android и улучшение обнаружения местоположения.
👍 Лайки: 805, 📥 Скачиваний: 25.4К
https://pub.dev/packages/flutter_background_geolocation

#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_chat_ui #intl_utils #slang #analyzer #amplitude_flutter #flutter_background_geolocation
Отслеживание жизненного цикла приложения
Привет, подписчики! 👋 Сегодня мы рассмотрим очень полезный совет по Flutter - отслеживание жизненного цикла приложения. 📱💻

Вы знаете, что происходит с вашим приложением, когда оно переходит в фон или возвращается на передний план? 🤔 Чтобы управлять этими изменениями, мы можем использовать специальный метод didChangeAppLifecycleState. 🔍

В примере кода ниже показано, как это работает:


class CameraAwesomeState extends State<CameraAwesome> with WidgetsBindingObserver {
// ...
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
super.didChangeAppLifecycleState(state);
switch (state) {
case AppLifecycleState.resumed:
if (!started) {
CamerawesomePlugin.start(); // Запуск камеры при возобновлении работы приложения
}
break;
case AppLifecycleState.inactive:
case AppLifecycleState.paused:
case AppLifecycleState.detached:
if (started) {
CamerawesomePlugin.stop(); // Остановка камеры при переходе в фон или закрытии приложения
}
break;
}
}
// ...
}



Жизненный цикл приложения включает четыре основных состояния:
- resumed - приложение активно и видимо для пользователя.
- inactive - приложение не активно, но ещё видимо.
- paused - приложение не активно и не видимо (находится в фоне).
- detached - приложение закрыто.

Используя эти знания, вы сможете лучше управлять ресурсами вашего приложения и улучшать пользовательский опыт! 🌟

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

Все подобные новости можно найти по хэштегу #FlutterPulseTips. 🔍
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #AppDevelopment #ProgrammingTips #TechNews
👍5
Самые лучшие обновлённые пакеты за последние 24 часа

coverage 1.15.0
Пакет coverage используется для сбора, манипуляции и форматирования данных о покрытии кода для языка Dart.
В новой версии 1.15.0 добавлена функция `filterIgnored`, которая позволяет фильтровать данные о покрытии кода на основе комментариев `// coverage:ignore-...`.
👍 Лайки: 126, 📥 Скачиваний: 8.6М
https://pub.dev/packages/coverage

Retrofit 4.6.0
Пакет Retrofit - это генератор клиента Dio, использующий source_gen и вдохновленный Chopper и Retrofit. Он позволяет легко создавать API-клиенты для приложений на Dart.
В новой версии 4.6.0 обновлена минимальная поддерживаемая версия SDK до Dart 3.6.
👍 Лайки: 1970, 📥 Скачиваний: 492К
https://pub.dev/packages/retrofit

camera 0.11.2
Пакет camera - это плагин для Flutter, позволяющий получить доступ к камерам устройств на iOS, Android и Web. Он позволяет отображать живую предварительную версию камеры, делать снимки и записывать видео.
В новой версии исправлены проблемы с переключателями в примере камеры и экспортом CameraLensType.
👍 Лайки: 2450, 📥 Скачиваний: 471К
https://pub.dev/packages/camera

source_helper 1.3.6
Пакет source_helper предоставляет утилиты для генерации кода Dart. Теперь требует analyzer 7.3.0, source_gen 2.0.0-4.0.0 и sdk 3.6.0.
👍 Лайки: 18, 📥 Скачиваний: 2.4М
https://pub.dev/packages/source_helper

syncfusion_flutter_charts 30.1.38
Пакет syncfusion_flutter_charts - это библиотека визуализации данных для создания красивых, анимированных и высокопроизводительных графиков в приложениях Flutter.
В новой версии исправлена ошибка #GH2377, теперь callback onPointTap возвращает правильный индекс точки для видимых данных.
👍 Лайки: 3510, 📥 Скачиваний: 251К
https://pub.dev/packages/syncfusion_flutter_charts

video_player_avfoundation 2.8.0
Теперь добавлена поддержка платформенных представлений для macOS.
👍 Лайки: 8, 📥 Скачиваний: 2.6М
https://pub.dev/packages/video_player_avfoundation

#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #coverage #Retrofit #camera #source_helper #syncfusion_flutter_charts #video_player_avfoundation