Как правильно обрабатывать результат диалога
Не пытайтесь выполнить код напрямую после закрытия диалога! 🚫💻
При работе с диалогами важно правильно обрабатывать их результат. Давайте рассмотрим два примера кода на Dart, чтобы понять, как это сделать корректно. 💡
Неправильный способ: 🚫
Правильный способ: ✅
В первом примере при нажатии на кнопки "Rate" или "Improve" диалог закрывается, но результат не возвращается. Во втором примере при нажатии на кнопки возвращается соответствующее значение из enum `RatingResult`, что позволяет корректно обработать результат.
Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 🤔💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #ProgrammingTips #UIUX #SoftwareDevelopment
Не пытайтесь выполнить код напрямую после закрытия диалога! 🚫💻
При работе с диалогами важно правильно обрабатывать их результат. Давайте рассмотрим два примера кода на Dart, чтобы понять, как это сделать корректно. 💡
Неправильный способ: 🚫
Future<void> showRatingDialog(BuildContext context) {
return showDialog<RatingResult>(
context: context,
barrierDismissible: false,
builder: (context) {
return AlertDialog(
title: const Text('Rate the app'),
content: const Text('Please rate the app'),
actions: [
TextButton(
onPressed: () {
Navigator.of(context).pop();
// не пытайтесь выполнить что-либо здесь
// потому что диалог отклонен
},
child: const Text('Rate'),
),
TextButton(
onPressed: () {
Navigator.of(context).pop();
// не пытайтесь выполнить что-либо здесь
// потому что диалог отклонен
},
child: const Text('Improve'),
),
],
);
},
);
}
Правильный способ: ✅
enum RatingResult {
rate,
improve,
never,
}
Future<RatingResult?> showRatingDialog(BuildContext context) {
return showDialog<RatingResult>(
context: context,
barrierDismissible: false,
builder: (context) {
return AlertDialog(
title: const Text('Rate the app'),
content: const Text('Please rate the app'),
actions: [
TextButton(
onPressed: () {
Navigator.of(context).pop(RatingResult.rate);
},
child: const Text('Rate'),
),
TextButton(
onPressed: () {
Navigator.of(context).pop(RatingResult.improve);
},
child: const Text('Improve'),
),
],
);
},
);
}
В первом примере при нажатии на кнопки "Rate" или "Improve" диалог закрывается, но результат не возвращается. Во втором примере при нажатии на кнопки возвращается соответствующее значение из enum `RatingResult`, что позволяет корректно обработать результат.
Оцените новую рубрику и напишите в комментариях, что вы думаете о ней! 🤔💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #ProgrammingTips #UIUX #SoftwareDevelopment
👍3❤1🤔1
Обзор пакетов на тему Server Driven UI & Widget Generation 📣
Представляем вам обзор пакетов для Flutter, которые позволяют создавать динамические интерфейсы и генерировать виджеты на основе описаний UI.
Ниже приведены некоторые из них:
fwfh_svg - расширение для `flutter_widget_from_html_core`, позволяющее отображать SVG-графику с помощью плагина `flutter_svg`. 👍 4 лайка, 📦 325 000 скачиваний, версия: 0.16.1, обновлено: 2 месяца назад, https://pub.dev/packages/fwfh_svg
Dynamic Widget - пакет, который позволяет создавать динамические UI в Flutter, используя JSON. 👍 446 лайков, 480 скачиваний, версия: 6.0.0, обновлено: 6 месяцев назад, https://pub.dev/packages/dynamic_widget
flutter_widget_from_html - пакет для Flutter, который позволяет отображать HTML как виджеты! 👍 1090 лайков, 329 000 скачиваний, версия: 0.17.1, обновлён 26 дней назад, https://pub.dev/packages/flutter_widget_from_html
flutter_widget_from_html_core - пакет, который позволяет отображать HTML как виджеты Flutter, фокусируясь на корректности и расширяемости. 📈 v0.17.0, обновлён 2 месяца назад, https://pub.dev/packages/flutter_widget_from_html_core
Remote Flutter Widgets (RFW) - пакет, который позволяет рендерить виджеты на основе описаний UI, получаемых в режиме реального времени. 👍 649 лайков, 4710 скачиваний, версия: 1.0.31, обновлено: 6 месяцев назад, https://pub.dev/packages/rfw
flutter_html - пакет для отображения HTML и CSS в Flutter! 👍 2100 лайков, 711 000 скачиваний, версия: 3.0.0, обновлено: 6 месяцев назад, https://pub.dev/packages/flutter_html
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #fwfh_svg #DynamicWidget #flutter_widget_from_html #flutter_widget_from_html_core #RemoteFlutterWidgets #flutter_html
Представляем вам обзор пакетов для Flutter, которые позволяют создавать динамические интерфейсы и генерировать виджеты на основе описаний UI.
Ниже приведены некоторые из них:
fwfh_svg - расширение для `flutter_widget_from_html_core`, позволяющее отображать SVG-графику с помощью плагина `flutter_svg`. 👍 4 лайка, 📦 325 000 скачиваний, версия: 0.16.1, обновлено: 2 месяца назад, https://pub.dev/packages/fwfh_svg
Dynamic Widget - пакет, который позволяет создавать динамические UI в Flutter, используя JSON. 👍 446 лайков, 480 скачиваний, версия: 6.0.0, обновлено: 6 месяцев назад, https://pub.dev/packages/dynamic_widget
flutter_widget_from_html - пакет для Flutter, который позволяет отображать HTML как виджеты! 👍 1090 лайков, 329 000 скачиваний, версия: 0.17.1, обновлён 26 дней назад, https://pub.dev/packages/flutter_widget_from_html
flutter_widget_from_html_core - пакет, который позволяет отображать HTML как виджеты Flutter, фокусируясь на корректности и расширяемости. 📈 v0.17.0, обновлён 2 месяца назад, https://pub.dev/packages/flutter_widget_from_html_core
Remote Flutter Widgets (RFW) - пакет, который позволяет рендерить виджеты на основе описаний UI, получаемых в режиме реального времени. 👍 649 лайков, 4710 скачиваний, версия: 1.0.31, обновлено: 6 месяцев назад, https://pub.dev/packages/rfw
flutter_html - пакет для отображения HTML и CSS в Flutter! 👍 2100 лайков, 711 000 скачиваний, версия: 3.0.0, обновлено: 6 месяцев назад, https://pub.dev/packages/flutter_html
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #fwfh_svg #DynamicWidget #flutter_widget_from_html #flutter_widget_from_html_core #RemoteFlutterWidgets #flutter_html
👍1
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_slidable 4.0.3
Плагин для Flutter, который позволяет создавать слайдящиеся элементы. Исправлена проблема с удалением элементов.
👍 Лайки: 5970, 📥 Скачиваний: 542К
https://pub.dev/packages/flutter_slidable
dart_json_mapper 2.2.17
Пакет для сериализации и десериализации объектов Dart в/из JSON. Обновлены зависимости для поддержки более широкой совместимости.
👍 Лайки: 277, 📥 Скачиваний: 1.8К
https://pub.dev/packages/dart_json_mapper
sse_channel 0.2.1
Пакет для работы с Server-Sent Events (SSE) в Dart. Добавлен конструктор IOSseChannel, улучшена обработка ошибок и отключения.
👍 Лайки: 11, 📥 Скачиваний: 35.8К
https://pub.dev/packages/sse_channel
screen_protector 1.4.3
Пакет для защиты данных от утечки через скриншоты и запись экрана на Android и iOS. Обновлены настройки Kotlin и SDK.
👍 Лайки: 281, 📥 Скачиваний: 7.1К
https://pub.dev/packages/screen_protector
flutter_gemma 0.11.2
Пакет для использования моделей Gemma в приложениях Flutter. Исправлены правила ProGuard для совместимости с выпусками Android.
👍 Лайки: 217, 📥 Скачиваний: 3.5К
https://pub.dev/packages/flutter_gemma
ndef_record 1.3.3
Пакет для реализации формата обмена данными NFC (NDEF) в Dart. Исправлена документация.
👍 Лайки: 2, 📥 Скачиваний: 15.7К
https://pub.dev/packages/ndef_record
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_slidable #dart_json_mapper #sse_channel #screen_protector #flutter_gemma #ndef_record
flutter_slidable 4.0.3
Плагин для Flutter, который позволяет создавать слайдящиеся элементы. Исправлена проблема с удалением элементов.
👍 Лайки: 5970, 📥 Скачиваний: 542К
https://pub.dev/packages/flutter_slidable
dart_json_mapper 2.2.17
Пакет для сериализации и десериализации объектов Dart в/из JSON. Обновлены зависимости для поддержки более широкой совместимости.
👍 Лайки: 277, 📥 Скачиваний: 1.8К
https://pub.dev/packages/dart_json_mapper
sse_channel 0.2.1
Пакет для работы с Server-Sent Events (SSE) в Dart. Добавлен конструктор IOSseChannel, улучшена обработка ошибок и отключения.
👍 Лайки: 11, 📥 Скачиваний: 35.8К
https://pub.dev/packages/sse_channel
screen_protector 1.4.3
Пакет для защиты данных от утечки через скриншоты и запись экрана на Android и iOS. Обновлены настройки Kotlin и SDK.
👍 Лайки: 281, 📥 Скачиваний: 7.1К
https://pub.dev/packages/screen_protector
flutter_gemma 0.11.2
Пакет для использования моделей Gemma в приложениях Flutter. Исправлены правила ProGuard для совместимости с выпусками Android.
👍 Лайки: 217, 📥 Скачиваний: 3.5К
https://pub.dev/packages/flutter_gemma
ndef_record 1.3.3
Пакет для реализации формата обмена данными NFC (NDEF) в Dart. Исправлена документация.
👍 Лайки: 2, 📥 Скачиваний: 15.7К
https://pub.dev/packages/ndef_record
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flutter_slidable #dart_json_mapper #sse_channel #screen_protector #flutter_gemma #ndef_record
Как воспроизвести звуки в Flutter
Звуки могут изменить опыт использования приложения. Что может быть более удовлетворительным, чем хороший звук уведомления? 😊
Шаг 1: Установите плагин audioplayers
Шаг 2: Воспроизведите звук напрямую...
Это здорово, потому что вам не нужно готовить файл или сбрасывать его, если он уже был воспроизведен... просто попросите воспроизвести, и он сделает свое дело! 👍
Дополнительные возможности
Это позволяет вам делать гораздо больше, чем просто воспроизводить звук. А за этой простотой вы также можете действительно оптимизировать с помощью расширенных конфигураций, таких как режим освобождения 🔧
Оцените новую рубрику и напишите свое мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #codingtips #programming #softwaredevelopment
Звуки могут изменить опыт использования приложения. Что может быть более удовлетворительным, чем хороший звук уведомления? 😊
Шаг 1: Установите плагин audioplayers
import 'package:audioplayers/audioplayers.dart';
Шаг 2: Воспроизведите звук напрямую...
await player.play(AssetSource("sounds/beep.wav"));
Это здорово, потому что вам не нужно готовить файл или сбрасывать его, если он уже был воспроизведен... просто попросите воспроизвести, и он сделает свое дело! 👍
Дополнительные возможности
// Установите режим освобождения, чтобы сохранить источник после завершения воспроизведения.
player.setReleaseMode(ReleaseMode.stop);
Это позволяет вам делать гораздо больше, чем просто воспроизводить звук. А за этой простотой вы также можете действительно оптимизировать с помощью расширенных конфигураций, таких как режим освобождения 🔧
Оцените новую рубрику и напишите свое мнение! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #codingtips #programming #softwaredevelopment
👍1
Обзор пакетов на тему JSON 🚀
Новости из мира пакетов для работы с JSON в Dart и Flutter:
🚀 Yet Another Json Isolate - еще один пакет для простого парсинга JSON с использованием изолятов в Dart. 👍 13 лайков, 📦 235 000 скачиваний. Версия 2.1.0, обновлена 5 месяцев назад. ➡️ https://pub.dev/packages/yet_another_json_isolate
🚀 flutter_json_view - пакет для отображения JSON-моделей в Flutter-виджетах! 👀 Идеально для отладки и просмотра данных. ❤️ 140 лайков, 18 300 скачиваний! v1.1.5, обновлён 13 месяцев назад. ➡️ https://pub.dev/packages/flutter_json_view
🚀 deep_pick 1.1.0 - упрощает ручное парсинг JSON с типобезопасным API. 👉 154 лайка, 181 000 скачиваний. Обновлено 13 месяцев назад. ➡️ https://pub.dev/packages/deep_pick
🚀 Crimson 0.4.0+1: Быстрый и эффективный парсер JSON для Dart! 👍 123 лайка, 📦 56 скачиваний. Обновлено 8 месяцев назад. ➡️ https://pub.dev/packages/crimson
📢 JSONPath для Dart: 332 000+ скачиваний! Этот пакет реализует спецификацию RFC 9535 для запросов к JSON-данным в Dart. 👍 124 лайка. Обновлено 2 месяца назад. ➡️ https://pub.dev/packages/json_path
📢 xml2json 6.2.7 - пакет для конвертации XML в JSON! 👍 126 лайков, 242 000 скачиваний! Обновлён 5 месяцев назад. ➡️ https://pub.dev/packages/xml2json
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #yet_another_json_isolate #flutter_json_view #deep_pick #crimson #json_path #xml2json
Новости из мира пакетов для работы с JSON в Dart и Flutter:
🚀 Yet Another Json Isolate - еще один пакет для простого парсинга JSON с использованием изолятов в Dart. 👍 13 лайков, 📦 235 000 скачиваний. Версия 2.1.0, обновлена 5 месяцев назад. ➡️ https://pub.dev/packages/yet_another_json_isolate
🚀 flutter_json_view - пакет для отображения JSON-моделей в Flutter-виджетах! 👀 Идеально для отладки и просмотра данных. ❤️ 140 лайков, 18 300 скачиваний! v1.1.5, обновлён 13 месяцев назад. ➡️ https://pub.dev/packages/flutter_json_view
🚀 deep_pick 1.1.0 - упрощает ручное парсинг JSON с типобезопасным API. 👉 154 лайка, 181 000 скачиваний. Обновлено 13 месяцев назад. ➡️ https://pub.dev/packages/deep_pick
🚀 Crimson 0.4.0+1: Быстрый и эффективный парсер JSON для Dart! 👍 123 лайка, 📦 56 скачиваний. Обновлено 8 месяцев назад. ➡️ https://pub.dev/packages/crimson
📢 JSONPath для Dart: 332 000+ скачиваний! Этот пакет реализует спецификацию RFC 9535 для запросов к JSON-данным в Dart. 👍 124 лайка. Обновлено 2 месяца назад. ➡️ https://pub.dev/packages/json_path
📢 xml2json 6.2.7 - пакет для конвертации XML в JSON! 👍 126 лайков, 242 000 скачиваний! Обновлён 5 месяцев назад. ➡️ https://pub.dev/packages/xml2json
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #yet_another_json_isolate #flutter_json_view #deep_pick #crimson #json_path #xml2json
Самые лучшие обновлённые пакеты за последние 24 часа
i18n_extension 15.0.6
Плагин для перевода приложений и имеет более 23.7К скачиваний и 368 лайков.
В новой версии улучшен README.md.
👍 Лайки: 368, 📥 Скачиваний: 23.7К
https://pub.dev/packages/i18n_extension
biometric_signature 7.0.3
Плагин упрощает интеграцию биометрической аутентификации в приложения Dart и Flutter.
В обновлении исправлены мелкие ошибки и обновлена документация.
Пакет уже скачали более 45К раз!
👍 Лайки: 23, 📥 Скачиваний: 45К
https://pub.dev/packages/biometric_signature
nfc_manager 4.1.0
Плагин предоставляет доступ к функциям NFC на Android и iOS.
В обновлении:
- Устаревший метод NfcManager#isAvailable заменен на NfcManager#checkAvailability
- Исправлена проблема с фоновым режимом на iOS
- Добавлены новые коды ошибок NFCReaderError.Code для iOS
- Обновлены версии зависимостей
- Обновлена документация
Пакет nfc_manager имеет 503 лайка и 38.9К скачиваний.
👍 Лайки: 503, 📥 Скачиваний: 38.9К
https://pub.dev/packages/nfc_manager
dart_json_mapper 2.2.19
Плагин позволяет программистам аннотировать объекты Dart для сериализации и десериализации в/из JSON.
В новой версии исправлена ошибка с @JsonProperty(flatten: true) при десериализации.
dart_json_mapper имеет 277 лайков и 1.8К скачиваний.
👍 Лайки: 277, 📥 Скачиваний: 1.8К
https://pub.dev/packages/dart_json_mapper
flutter_inapp_purchase 6.8.6
Теперь доступен метод fetchProducts с типом ProductQueryType.All.
👍 Лайки: 428, 📥 Скачиваний: 8.1К
https://pub.dev/packages/flutter_inapp_purchase
system_info2 4.1.0
Теперь он предоставляет информацию о системе, включая архитектуру, ядро, память, операционную систему, CPU и пользователя.
Новые функции включают получение данных о хранилище и доступной физической памяти.
👍 Лайки: 63, 📥 Скачиваний: 1.7М
https://pub.dev/packages/system_info2
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #i18n_extension #biometric_signature #nfc_manager #dart_json_mapper #flutter_inapp_purchase #system_info2
i18n_extension 15.0.6
Плагин для перевода приложений и имеет более 23.7К скачиваний и 368 лайков.
В новой версии улучшен README.md.
👍 Лайки: 368, 📥 Скачиваний: 23.7К
https://pub.dev/packages/i18n_extension
biometric_signature 7.0.3
Плагин упрощает интеграцию биометрической аутентификации в приложения Dart и Flutter.
В обновлении исправлены мелкие ошибки и обновлена документация.
Пакет уже скачали более 45К раз!
👍 Лайки: 23, 📥 Скачиваний: 45К
https://pub.dev/packages/biometric_signature
nfc_manager 4.1.0
Плагин предоставляет доступ к функциям NFC на Android и iOS.
В обновлении:
- Устаревший метод NfcManager#isAvailable заменен на NfcManager#checkAvailability
- Исправлена проблема с фоновым режимом на iOS
- Добавлены новые коды ошибок NFCReaderError.Code для iOS
- Обновлены версии зависимостей
- Обновлена документация
Пакет nfc_manager имеет 503 лайка и 38.9К скачиваний.
👍 Лайки: 503, 📥 Скачиваний: 38.9К
https://pub.dev/packages/nfc_manager
dart_json_mapper 2.2.19
Плагин позволяет программистам аннотировать объекты Dart для сериализации и десериализации в/из JSON.
В новой версии исправлена ошибка с @JsonProperty(flatten: true) при десериализации.
dart_json_mapper имеет 277 лайков и 1.8К скачиваний.
👍 Лайки: 277, 📥 Скачиваний: 1.8К
https://pub.dev/packages/dart_json_mapper
flutter_inapp_purchase 6.8.6
Теперь доступен метод fetchProducts с типом ProductQueryType.All.
👍 Лайки: 428, 📥 Скачиваний: 8.1К
https://pub.dev/packages/flutter_inapp_purchase
system_info2 4.1.0
Теперь он предоставляет информацию о системе, включая архитектуру, ядро, память, операционную систему, CPU и пользователя.
Новые функции включают получение данных о хранилище и доступной физической памяти.
👍 Лайки: 63, 📥 Скачиваний: 1.7М
https://pub.dev/packages/system_info2
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #i18n_extension #biometric_signature #nfc_manager #dart_json_mapper #flutter_inapp_purchase #system_info2
Перегрузка операторов
Ещё один отличный способ улучшить читаемость кода 😉
Вы знаете, что в Dart можно перегружать операторы? 🤔 Это очень полезная функция, которая позволяет сделать ваш код более интуитивным и понятным.
Давайте рассмотрим пример с классом Vector. Мы хотим складывать векторы с помощью оператора +. Для этого нам нужно перегрузить этот оператор в нашем классе.
Таким образом, мы можем перегружать любые операторы, такие как -, *, / и другие, чтобы сделать наш код более удобным и читаемым. 👍
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 😊
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #codingTips #mobileDevelopment #programmingTips
Ещё один отличный способ улучшить читаемость кода 😉
Вы знаете, что в Dart можно перегружать операторы? 🤔 Это очень полезная функция, которая позволяет сделать ваш код более интуитивным и понятным.
Давайте рассмотрим пример с классом Vector. Мы хотим складывать векторы с помощью оператора +. Для этого нам нужно перегрузить этот оператор в нашем классе.
class Vector {
final int x, y;
Vector(this.x, this.y);
// Перегружаем оператор +
Vector operator +(Vector other) => Vector(x + other.x, y + other.y);
}
void main() {
final v1 = Vector(1, 2);
final v2 = Vector(3, 4);
final result = v1 + v2; // Теперь мы можем складывать векторы с помощью оператора +
print('(${result.x}, ${result.y})'); // Вывод: (4, 6)
}
Таким образом, мы можем перегружать любые операторы, такие как -, *, / и другие, чтобы сделать наш код более удобным и читаемым. 👍
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 😊
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #codingTips #mobileDevelopment #programmingTips
👍1
Обзор пакетов на тему Button & Progress Button 🚀
Представляем пакеты, которые упрощают создание кнопок и индикаторов загрузки в Flutter:
- easy_loading_button (0.4.0) - позволяет легко создавать кнопки с индикатором загрузки. ✅ Простой в использовании, настраиваемый, поддерживает три стиля: elevated, outlined, text. 👍 63 лайка, 1050 скачиваний, обновлено 3 месяца назад. https://pub.dev/packages/easy_loading_button
- splash (v1.2.0) - предлагает альтернативы стандартным эффектам нажатия кнопок в Flutter. Выбирайте из волн, линий, пути или полностью отключайте эффект. 👍 78 | 📦 131 | 11 months ago https://pub.dev/packages/splash
- Timer Button - пакет для Flutter, который позволяет создавать кнопки, которые становятся активными только через определенный промежуток времени. 🔥 84 лайка, 1000+ скачиваний! Версия 2.3.3, обновлена 56 дней назад. https://pub.dev/packages/timer_button
- Animated Button - простой и настраиваемый анимированный кнопка для Flutter! 🚀 162 лайка, 646 скачиваний. Просто в использовании, много настраиваемых атрибутов: высота, ширина, цвет, тень и многое другое. v0.3.1, обновлено 6 месяцев назад. https://pub.dev/packages/animated_button
- LoadingIconButton - мощный пакет, который предоставляет кнопки загрузки с иконками, текстом и плавными анимациями. Ключевые особенности: несколько типов кнопок, совместимость с Material Design, настраиваемые состояния, поддержка иконок, кроссплатформенность, доступность, респонсивный дизайн. Версия 1.0.2, обновлено 2 месяца назад. 👍 36 лайков, 893 скачиваний. https://pub.dev/packages/loading_icon_button
- flutter_animated_button обновился до версии 2.0.4! Этот пакет позволяет создавать анимированные кнопки в Flutter. Новые анимации: LEFT_TOP_ROUNDER, LEFT_BOTTOM_ROUNDER, BOTTOM_CENTER_ROUNDER и многие другие! 👍 295 лайков, 1670 скачиваний. https://pub.dev/packages/flutter_animated_button
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #easyloadingbutton #splash #timerbutton #animatedbutton #loadingiconbutton #flutteranimatedbutton
Представляем пакеты, которые упрощают создание кнопок и индикаторов загрузки в Flutter:
- easy_loading_button (0.4.0) - позволяет легко создавать кнопки с индикатором загрузки. ✅ Простой в использовании, настраиваемый, поддерживает три стиля: elevated, outlined, text. 👍 63 лайка, 1050 скачиваний, обновлено 3 месяца назад. https://pub.dev/packages/easy_loading_button
- splash (v1.2.0) - предлагает альтернативы стандартным эффектам нажатия кнопок в Flutter. Выбирайте из волн, линий, пути или полностью отключайте эффект. 👍 78 | 📦 131 | 11 months ago https://pub.dev/packages/splash
- Timer Button - пакет для Flutter, который позволяет создавать кнопки, которые становятся активными только через определенный промежуток времени. 🔥 84 лайка, 1000+ скачиваний! Версия 2.3.3, обновлена 56 дней назад. https://pub.dev/packages/timer_button
- Animated Button - простой и настраиваемый анимированный кнопка для Flutter! 🚀 162 лайка, 646 скачиваний. Просто в использовании, много настраиваемых атрибутов: высота, ширина, цвет, тень и многое другое. v0.3.1, обновлено 6 месяцев назад. https://pub.dev/packages/animated_button
- LoadingIconButton - мощный пакет, который предоставляет кнопки загрузки с иконками, текстом и плавными анимациями. Ключевые особенности: несколько типов кнопок, совместимость с Material Design, настраиваемые состояния, поддержка иконок, кроссплатформенность, доступность, респонсивный дизайн. Версия 1.0.2, обновлено 2 месяца назад. 👍 36 лайков, 893 скачиваний. https://pub.dev/packages/loading_icon_button
- flutter_animated_button обновился до версии 2.0.4! Этот пакет позволяет создавать анимированные кнопки в Flutter. Новые анимации: LEFT_TOP_ROUNDER, LEFT_BOTTOM_ROUNDER, BOTTOM_CENTER_ROUNDER и многие другие! 👍 295 лайков, 1670 скачиваний. https://pub.dev/packages/flutter_animated_button
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #easyloadingbutton #splash #timerbutton #animatedbutton #loadingiconbutton #flutteranimatedbutton
👍2
Новые пакеты за неделю
broadcast_bloc
Плагин для расширения библиотеки bloc для управления состоянием, добавляя поддержку широковещательного распространения изменений состояния по потоковым каналам.
👍 Лайки: 26, 📥 Скачиваний: 270
https://pub.dev/packages/broadcast_bloc
ispectify_db
Пакет для пассивной регистрации операций с базами данных без изменения существующего кода. Он поддерживает различные базы данных и хранилища ключ-значение.
👍 Лайки: 1, 📥 Скачиваний: 435
https://pub.dev/packages/ispectify_db
voo_tokens
Пакет предоставляет систему дизайн-токенов для VooFlutter, включая отзывчивое расстояние, типографику, радиус, возвышение и токены анимации.
👍 Лайки: 1, 📥 Скачиваний: 424
https://pub.dev/packages/voo_tokens
universal_images_plus
Пакет для Flutter позволяет легко загружать любые типы изображений, включая сеть, активы, SVG, Base64 и даже fallback-плейсхолдер, с помощью одного виджета.
👍 Лайки: 12, 📥 Скачиваний: 0
https://pub.dev/packages/universal_images_plus
Motor
Унифицированная система движения, которая объединяет физические пружины, кривые на основе продолжительности и систему анимаций Flutter под одним последовательным API.
👍 Лайки: 106, 📥 Скачиваний: 7.1К
https://pub.dev/packages/motor
colored_dio_logger
Dio-интерцептор, который предоставляет красиво оформленные и цветные логи для ваших HTTP-запросов, ответов и ошибок.
👍 Лайки: 8, 📥 Скачиваний: 0
https://pub.dev/packages/colored_dio_logger
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #broadcast_bloc #ispectify_db #voo_tokens #universal_images_plus #Motor #colored_dio_logger
broadcast_bloc
Плагин для расширения библиотеки bloc для управления состоянием, добавляя поддержку широковещательного распространения изменений состояния по потоковым каналам.
👍 Лайки: 26, 📥 Скачиваний: 270
https://pub.dev/packages/broadcast_bloc
ispectify_db
Пакет для пассивной регистрации операций с базами данных без изменения существующего кода. Он поддерживает различные базы данных и хранилища ключ-значение.
👍 Лайки: 1, 📥 Скачиваний: 435
https://pub.dev/packages/ispectify_db
voo_tokens
Пакет предоставляет систему дизайн-токенов для VooFlutter, включая отзывчивое расстояние, типографику, радиус, возвышение и токены анимации.
👍 Лайки: 1, 📥 Скачиваний: 424
https://pub.dev/packages/voo_tokens
universal_images_plus
Пакет для Flutter позволяет легко загружать любые типы изображений, включая сеть, активы, SVG, Base64 и даже fallback-плейсхолдер, с помощью одного виджета.
👍 Лайки: 12, 📥 Скачиваний: 0
https://pub.dev/packages/universal_images_plus
Motor
Унифицированная система движения, которая объединяет физические пружины, кривые на основе продолжительности и систему анимаций Flutter под одним последовательным API.
👍 Лайки: 106, 📥 Скачиваний: 7.1К
https://pub.dev/packages/motor
colored_dio_logger
Dio-интерцептор, который предоставляет красиво оформленные и цветные логи для ваших HTTP-запросов, ответов и ошибок.
👍 Лайки: 8, 📥 Скачиваний: 0
https://pub.dev/packages/colored_dio_logger
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestNewPackages #broadcast_bloc #ispectify_db #voo_tokens #universal_images_plus #Motor #colored_dio_logger
Flutter Pulse
🎨 Vibe coding: Создаём приложение для скетчей с нуля вместе с ИИ! Привет, Flutter-разработчики! 👋 Сегодня мы делимся крутым видео, которое точно стоит вашего внимания. Руслан Цицер начинает новый практический цикл по созданию приложения для скетчей с использованием…
🎨 Vibe coding. Приложение для скрипинга с нуля. Часть 2
Продолжаем наше погружение в увлекательный мир vibe coding! 🚀 В этом выпуске Руслан берет нашу заготовку с рисованием линий и превращает ее в нечто по-настоящему волшебное.
Хотели ли вы, чтобы ваш простой скетч превратился в полноценную, стилизованную картинку? Теперь это реальность! ✨
В этом выпуске вы увидите:
🔹 Как добавить кнопку «Сгенерировать» и реализовать логику захвата текущего рисунка
🔹 Работу с
🔹 Самое интересное — интеграцию с мощным AI Gemini от Google через REST API для генерации картинок!
🔹 Практические примеры: как простой набросок котика 🐱 превращается в крутой арт
Это не просто теория — наш подписчик Руслан Цицер проходит каждый шаг, от настройки Dart defines для безопасного хранения API-ключа до обработки ответов от нейросети и отображения результата прямо в приложении.
Хотите узнать, как опубликовать такое приложение или есть идеи для улучшения? Обязательно напишите об этом в комментариях! 💬
Смотрите видео здесь 👉 Vibe coding. Приложение для скетчей с нуля. Часть 2
Ищите другие полезные видео по хэштегу #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #Refactoring #CleanCode #FlutterArchitecture #StatefulWidget #ComponentBasedUI #fluttertutorial #ffi #rust
Продолжаем наше погружение в увлекательный мир vibe coding! 🚀 В этом выпуске Руслан берет нашу заготовку с рисованием линий и превращает ее в нечто по-настоящему волшебное.
Хотели ли вы, чтобы ваш простой скетч превратился в полноценную, стилизованную картинку? Теперь это реальность! ✨
В этом выпуске вы увидите:
🔹 Как добавить кнопку «Сгенерировать» и реализовать логику захвата текущего рисунка
🔹 Работу с
RepaintBoundary
для преобразования canvas в изображение🔹 Самое интересное — интеграцию с мощным AI Gemini от Google через REST API для генерации картинок!
🔹 Практические примеры: как простой набросок котика 🐱 превращается в крутой арт
Это не просто теория — наш подписчик Руслан Цицер проходит каждый шаг, от настройки Dart defines для безопасного хранения API-ключа до обработки ответов от нейросети и отображения результата прямо в приложении.
Хотите узнать, как опубликовать такое приложение или есть идеи для улучшения? Обязательно напишите об этом в комментариях! 💬
Смотрите видео здесь 👉 Vibe coding. Приложение для скетчей с нуля. Часть 2
Ищите другие полезные видео по хэштегу #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #Refactoring #CleanCode #FlutterArchitecture #StatefulWidget #ComponentBasedUI #fluttertutorial #ffi #rust
Самые лучшие обновлённые пакеты за последние 24 часа
nfc_manager 4.1.1
Плагин для Flutter, который предоставляет доступ к функциям NFC на Android и iOS.
В обновлении исправлена проблема с ограничениями версии iOS SDK, вызванная добавлением NFCReaderError.Code.
👍 Лайки: 503, 📥 Скачиваний: 37.6К
https://pub.dev/packages/nfc_manager
injectable_generator 2.9.0
Плагин для генерации кода внедрения зависимостей в приложениях Dart и Flutter.
Теперь с обновленными зависимостями и поддержкой Dart 3.8.0.
👍 Лайки: 126, 📥 Скачиваний: 577К
https://pub.dev/packages/injectable_generator
purchases_flutter 9.7.0
Клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter.
В новой версии добавлена возможность установки ID пользователя PostHog, обновлены зависимости и исправлены некоторые ошибки.
👍 Лайки: 843, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
video_player_android 2.8.14
Плагин для воспроизведения видео на Android-устройствах.
В новой версии переработана внутренняя логика создания и отслеживания плеера.
👍 Лайки: 30, 📥 Скачиваний: 3.04М
https://pub.dev/packages/video_player_android
injectable 2.5.2
Популярный пакет для внедрения зависимостей в приложениях Dart и Flutter.
В новой версии обновлены ограничения для Dart до ">=3.8.0 <4.0.0".
👍 Лайки: 1400, 📥 Скачиваний: 643К
https://pub.dev/packages/injectable
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #nfc_manager #injectable_generator #purchases_flutter #video_player_android #injectable
nfc_manager 4.1.1
Плагин для Flutter, который предоставляет доступ к функциям NFC на Android и iOS.
В обновлении исправлена проблема с ограничениями версии iOS SDK, вызванная добавлением NFCReaderError.Code.
👍 Лайки: 503, 📥 Скачиваний: 37.6К
https://pub.dev/packages/nfc_manager
injectable_generator 2.9.0
Плагин для генерации кода внедрения зависимостей в приложениях Dart и Flutter.
Теперь с обновленными зависимостями и поддержкой Dart 3.8.0.
👍 Лайки: 126, 📥 Скачиваний: 577К
https://pub.dev/packages/injectable_generator
purchases_flutter 9.7.0
Клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter.
В новой версии добавлена возможность установки ID пользователя PostHog, обновлены зависимости и исправлены некоторые ошибки.
👍 Лайки: 843, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
video_player_android 2.8.14
Плагин для воспроизведения видео на Android-устройствах.
В новой версии переработана внутренняя логика создания и отслеживания плеера.
👍 Лайки: 30, 📥 Скачиваний: 3.04М
https://pub.dev/packages/video_player_android
injectable 2.5.2
Популярный пакет для внедрения зависимостей в приложениях Dart и Flutter.
В новой версии обновлены ограничения для Dart до ">=3.8.0 <4.0.0".
👍 Лайки: 1400, 📥 Скачиваний: 643К
https://pub.dev/packages/injectable
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #nfc_manager #injectable_generator #purchases_flutter #video_player_android #injectable
👍1
Single execution Future Builder
FutureBuilder с единственным выполнением
FutureBuilder будет выполнять наше будущее при каждой пересборке. Если это будущее выполняет вызов API, это может быть дорогостоящим и перегружать наш бэкэнд.
Мы предоставляем Future функцию, которая предотвращает повторное выполнение Future при каждой пересборке страницы.
Пример использования:
Выполните этот код, и вы увидите "Getting future once" только один раз, вместо того, чтобы видеть это каждый раз, когда вы нажимаете кнопку "+".
Оцените новую рубрику по Flutter советам! 👍💬 Нам важно ваше мнение, чтобы мы могли улучшать контент для вас! 😊👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FutureBuilder #FlutterTips #CodingTips #AppDevelopment
FutureBuilder с единственным выполнением
FutureBuilder будет выполнять наше будущее при каждой пересборке. Если это будущее выполняет вызов API, это может быть дорогостоящим и перегружать наш бэкэнд.
Мы предоставляем Future функцию, которая предотвращает повторное выполнение Future при каждой пересборке страницы.
typedef AsyncFutureBuilder<T> = Future<T> Function();
class SingleExecFutureBuilder<T> extends StatefulWidget {
final AsyncFutureBuilder<T> future;
final Widget Function(BuildContext context, T data) builder;
const SingleExecFutureBuilder({
super.key,
required this.future,
required this.builder,
});
@override
State<SingleExecFutureBuilder<T>> createState() => _SingleExecFutureBuilderState<T>();
}
class _SingleExecFutureBuilderState<T> extends State<SingleExecFutureBuilder<T>> {
T? _futureRes;
late FutureState _futureState;
@override
void initState() {
super.initState();
_futureState = FutureState.pending;
}
Future<T?> executeFuture() async {
if (_futureState == FutureState.pending) {
try {
_futureRes = await widget.future();
_futureState = FutureState.done;
return _futureRes;
} catch (e) {
_futureState = FutureState.error;
rethrow;
}
}
return _futureRes;
}
@override
Widget build(BuildContext context) {
return FutureBuilder<T>(
future: executeFuture(),
builder: (context, snapshot) {
if (snapshot.connectionState != ConnectionState.done) {
return const SizedBox.shrink();
}
return widget.builder(context, snapshot.data as T);
},
);
}
}
enum FutureState { pending, done, error }
Пример использования:
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.all(16),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Text('Count: $count'),
const SizedBox(height: 16),
SingleExecFutureBuilder<String>(
future: () async {
print("Getting future once");
await Future.delayed(const Duration(milliseconds: 1100));
return "Hello";
},
builder: (context, data) => Text(data),
),
const SizedBox(height: 16),
ElevatedButton(
onPressed: () {
setState(() {
count++;
});
},
child: const Text('+'),
),
],
),
),
);
}
Выполните этот код, и вы увидите "Getting future once" только один раз, вместо того, чтобы видеть это каждый раз, когда вы нажимаете кнопку "+".
Оцените новую рубрику по Flutter советам! 👍💬 Нам важно ваше мнение, чтобы мы могли улучшать контент для вас! 😊👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FutureBuilder #FlutterTips #CodingTips #AppDevelopment
👍2
Обзор пакетов на тему IoT, Special Hardware & Chips 📢
Пакет easy_onvif (v3.1.3) позволяет интегрировать ONVIF-совместимые устройства в ваши приложения.
Возможности: управление PTZ, пресетами, потоком видео и аудио, доступ к информации о устройстве и многое другое!
👍 37 лайков, 761 скачиваний. Обновлено 3 месяца назад.
https://pub.dev/packages/easy_onvif 📈
#easy_onvif #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
ROHD: Новый фреймворк для разработки и верификации аппаратного обеспечения на Dart!
Преимущества: мощный язык Dart, упрощает разработку и отладку валидационных тестов, легко интегрировать IP-компоненты и многое другое!
📈 18 лайков, 5530 скачиваний.
https://pub.dev/packages/rohd 📅
#ROHD #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
nordic_dfu обновлен до версии 7.0.0!
Теперь пакет поддерживает параллельное обновление прошивки на нескольких устройствах nrf51/nrf52 от Nordic Semiconductor.
👍 44 лайка, 2960 скачиваний. Обновлено 9 месяцев назад.
https://pub.dev/packages/nordic_dfu 👍
#nordic_dfu #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
esp_smartconfig 3.0.0 - Dart-реализация EspTouch для настройки Wi-Fi устройств.
👍 45 | 📦 656 | 4 месяца назад
https://pub.dev/packages/esp_smartconfig 📡
#esp_smartconfig #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Flutter Hue 2.3.0: Управляйте Philips Hue из своего Flutter-приложения!
Возможности: обнаружение мостов Hue, управление светильниками, работа с группами и многое другое!
👍 27 лайков, 319 скачиваний. Обновлено 6 месяцев назад.
https://pub.dev/packages/flutter_hue 🚀
#FlutterHue #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
dart_periphery 0.9.19 - Dart-ported c-periphery для доступа к периферийным устройствам Linux!
🔌 GPIO, LED, PWM, SPI, I2C, MMIO и Serial.
📈 70 лайков, 6080 скачиваний. Обновлено 2 дня назад.
https://pub.dev/packages/dart_periphery 📚
#dart_periphery #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Пакет easy_onvif (v3.1.3) позволяет интегрировать ONVIF-совместимые устройства в ваши приложения.
Возможности: управление PTZ, пресетами, потоком видео и аудио, доступ к информации о устройстве и многое другое!
👍 37 лайков, 761 скачиваний. Обновлено 3 месяца назад.
https://pub.dev/packages/easy_onvif 📈
#easy_onvif #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
ROHD: Новый фреймворк для разработки и верификации аппаратного обеспечения на Dart!
Преимущества: мощный язык Dart, упрощает разработку и отладку валидационных тестов, легко интегрировать IP-компоненты и многое другое!
📈 18 лайков, 5530 скачиваний.
https://pub.dev/packages/rohd 📅
#ROHD #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
nordic_dfu обновлен до версии 7.0.0!
Теперь пакет поддерживает параллельное обновление прошивки на нескольких устройствах nrf51/nrf52 от Nordic Semiconductor.
👍 44 лайка, 2960 скачиваний. Обновлено 9 месяцев назад.
https://pub.dev/packages/nordic_dfu 👍
#nordic_dfu #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
esp_smartconfig 3.0.0 - Dart-реализация EspTouch для настройки Wi-Fi устройств.
👍 45 | 📦 656 | 4 месяца назад
https://pub.dev/packages/esp_smartconfig 📡
#esp_smartconfig #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Flutter Hue 2.3.0: Управляйте Philips Hue из своего Flutter-приложения!
Возможности: обнаружение мостов Hue, управление светильниками, работа с группами и многое другое!
👍 27 лайков, 319 скачиваний. Обновлено 6 месяцев назад.
https://pub.dev/packages/flutter_hue 🚀
#FlutterHue #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
dart_periphery 0.9.19 - Dart-ported c-periphery для доступа к периферийным устройствам Linux!
🔌 GPIO, LED, PWM, SPI, I2C, MMIO и Serial.
📈 70 лайков, 6080 скачиваний. Обновлено 2 дня назад.
https://pub.dev/packages/dart_periphery 📚
#dart_periphery #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Привет, друзья! 👋 Сегодня мы поговорим об адаптивной верстке в мобильных приложениях 📱. Это очень важная тема, поскольку устройства пользователей могут быть абсолютно разными 🤯.
Чтобы верстка не ломалась и не падала в ошибку, можно использовать 5 самых полезных и универсальных виджетов 🤩:
1. MediaQuery 📊 - для получения данных об устройстве.
2. OrientationBuilder 🔄 - для отслеживания ориентации экрана.
3. LayoutBuilder 📈 - для отслеживания изменений размеров родительского виджета.
4. AspectRatio 📐 - для задания соотношения сторон дочернему виджету.
5. ConstrainedBox 📦 - для ограничения размеров дочерних виджетов.
И, конечно же, не забываем про базовые flex-виджеты - Flexible и Expanded 🤝.
Хотите узнать больше? 🤔 Полная новость здесь, а все главные новости и обновлений из мира Flutter и Dart, конечно же на нашем канале flutterpulse 📣 💻 #flutter #dart #flutterpulse 💬 Делитесь своими советами по адаптивной верстке в комментариях! 💬
Чтобы верстка не ломалась и не падала в ошибку, можно использовать 5 самых полезных и универсальных виджетов 🤩:
1. MediaQuery 📊 - для получения данных об устройстве.
2. OrientationBuilder 🔄 - для отслеживания ориентации экрана.
3. LayoutBuilder 📈 - для отслеживания изменений размеров родительского виджета.
4. AspectRatio 📐 - для задания соотношения сторон дочернему виджету.
5. ConstrainedBox 📦 - для ограничения размеров дочерних виджетов.
И, конечно же, не забываем про базовые flex-виджеты - Flexible и Expanded 🤝.
Хотите узнать больше? 🤔 Полная новость здесь, а все главные новости и обновлений из мира Flutter и Dart, конечно же на нашем канале flutterpulse 📣 💻 #flutter #dart #flutterpulse 💬 Делитесь своими советами по адаптивной верстке в комментариях! 💬