Clean Arch + Cubit + Reactor 🚀.
Узнайте, как оптимизировать управление состоянием во Flutter с помощью Clean Architecture и Cubit! 🤩
В этой статье вы узнаете, как уменьшить сложность кубитов, разбивая их на более мелкие, однозначные части! 📈
И также, новая концепция управления данными в приложениях: реактивный репозиторий и кубиты! 📊
Узнайте, как решить проблему обновления данных в кубитах без привязки к UI-слою! 📱
И, наконец, Упрощение архитектуры с помощью Reactor и Cubit! 🚀
Читайте о том, как разделить ответственность и автоматизировать синхронизацию в вашем приложении! 🤝
Читать здесь 📚
#flutter #dart #flutterpulse 🚀💻
Узнайте, как оптимизировать управление состоянием во Flutter с помощью Clean Architecture и Cubit! 🤩
В этой статье вы узнаете, как уменьшить сложность кубитов, разбивая их на более мелкие, однозначные части! 📈
И также, новая концепция управления данными в приложениях: реактивный репозиторий и кубиты! 📊
Узнайте, как решить проблему обновления данных в кубитах без привязки к UI-слою! 📱
И, наконец, Упрощение архитектуры с помощью Reactor и Cubit! 🚀
Читайте о том, как разделить ответственность и автоматизировать синхронизацию в вашем приложении! 🤝
Читать здесь 📚
#flutter #dart #flutterpulse 🚀💻
❤1👎1
🚀 Расширяем возможности Flutter с помощью FFI: Магия работы с памятью на C!
Привет, Flutter-энтузиасты! Готовы погрузиться в глубины нативной интеграции? 🔍 Наш коллега Руслан Цицер выпустил мощное видео, которое раскрывает тайны взаимодействия Dart и C через FFI. Это не просто теория — это ключ к высокопроизводительным решениям!
🔥 Что вас ждет в видео:
👉 🧠 Основы работы с памятью: стек, куча, указатели — объясняем на пальцах, почему это критично для FFI.
👉 📦 Передача строк между Dart и C: как избежать утечек памяти и преобразовывать данные без боли.
👉 ⚙️ Автоматизация рутины: простые скрипты на Bash/Makefile для сборки и генерации кода.
👉 💡 Реальные примеры: разбор C-кода, работа с
❗️ Важно: Руслан наглядно показывает, как:
- Корректно освобождать память, чтобы приложение не "падало".
- Использовать
- Избегать Race Condition и утечек в долгоживущих приложениях.
💬 "Это база для тех, кто хочет запускать Go, Rust или C++ код в Flutter!" — Руслан анонсирует продолжение темы в следующих выпусках.
👉 Не пропустите! Подписывайтесь на канал автора, жмите 🔔 колокольчик и лайк 👍, если хотите больше глубинки. Пишите вопросы в комментариях — Руслан активно отвечает!
💡 Ищете другие полезные ролики? Загляните по хэштегу #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #CleanCode #Refactoring
Привет, Flutter-энтузиасты! Готовы погрузиться в глубины нативной интеграции? 🔍 Наш коллега Руслан Цицер выпустил мощное видео, которое раскрывает тайны взаимодействия Dart и C через FFI. Это не просто теория — это ключ к высокопроизводительным решениям!
🔥 Что вас ждет в видео:
👉 🧠 Основы работы с памятью: стек, куча, указатели — объясняем на пальцах, почему это критично для FFI.
👉 📦 Передача строк между Dart и C: как избежать утечек памяти и преобразовывать данные без боли.
👉 ⚙️ Автоматизация рутины: простые скрипты на Bash/Makefile для сборки и генерации кода.
👉 💡 Реальные примеры: разбор C-кода, работа с
malloc
, free
и нативными библиотеками. ❗️ Важно: Руслан наглядно показывает, как:
- Корректно освобождать память, чтобы приложение не "падало".
- Использовать
Utf8
для преобразования строк. - Избегать Race Condition и утечек в долгоживущих приложениях.
💬 "Это база для тех, кто хочет запускать Go, Rust или C++ код в Flutter!" — Руслан анонсирует продолжение темы в следующих выпусках.
👉 Не пропустите! Подписывайтесь на канал автора, жмите 🔔 колокольчик и лайк 👍, если хотите больше глубинки. Пишите вопросы в комментариях — Руслан активно отвечает!
💡 Ищете другие полезные ролики? Загляните по хэштегу #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #CleanCode #Refactoring
❤1
Создаём круглый индикатор прогресса
Привет, подписчики! 👋 Сегодня мы рассмотрим интересный Flutter-трюк, который поможет вам создать круглый индикатор прогресса с помощью
Вы можете использовать виджет
В этом примере мы используем
Оцените новую рубрику и напишите в комментариях, какие темы вам интересны 🔥
Все подобные новости можно найти по хэштегу #FlutterPulseTips 🤓
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #ProgressIndicator #FlutterTips #CodingTricks #AppDevelopment
Привет, подписчики! 👋 Сегодня мы рассмотрим интересный Flutter-трюк, который поможет вам создать круглый индикатор прогресса с помощью
ClipRRect
🌟Вы можете использовать виджет
ClipRRect
, чтобы создать круглый индикатор прогресса. Для этого нужно обернуть LinearProgressIndicator
в ClipRRect
и задать ему радиус границы 🌈
ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(10)),
child: LinearProgressIndicator(
minHeight: 14,
value: progress, // текущий прогресс
color: Colors.red, // цвет прогресса
backgroundColor: Colors.white, // фон индикатора
),
),
В этом примере мы используем
LinearProgressIndicator
с minHeight
равным 14 и оборачиваем его в ClipRRect
с радиусом 10, чтобы получить круглый индикатор прогресса 🔴⚪️Оцените новую рубрику и напишите в комментариях, какие темы вам интересны 🔥
Все подобные новости можно найти по хэштегу #FlutterPulseTips 🤓
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #ProgressIndicator #FlutterTips #CodingTricks #AppDevelopment
👍2
Обзор пакетов на тему "Вкладки" (Tab) для Flutter
📦 CustomSlidingSegmentedControl - позволяет гибко настроить виджет для отображения контролов. Вы можете добавить цвет, скорость, размер, начальное значение, анимацию и многое другое.
👍 Лайки: 206, 📥 Скачиваний: 65.5К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/custom_sliding_segmented_control
📦 Scrollable List Tab Scroller - синхронизируйте список прокрутки с вкладками и настраивайте их по своему желанию.
👍 Лайки: 162, 📥 Скачиваний: 14.6К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/scrollable_list_tab_scroller
📦 Flutter Advanced Segment - позволяет создавать полностью настраиваемые сегменты с множеством свойств.
👍 Лайки: 111, 📥 Скачиваний: 5.8К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/flutter_advanced_segment
📦 Tabbed View - классический компонент вкладок в стиле Desktop, с поддержкой кастомизации тем.
👍 Лайки: 115, 📥 Скачиваний: 1.9К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/tabbed_view
📦 Extended Tabs - позволяет создавать вкладки с прокруткой предков или дочерних вкладок при превышении текущей прокрутки.
👍 Лайки: 163, 📥 Скачиваний: 4.2К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/extended_tabs
📦 Buttons TabBar - позволяет создавать интерактивные и настраиваемые вкладки для ваших приложений.
👍 Лайки: 432, 📥 Скачиваний: 15.7К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/buttons_tabbar
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #CustomSlidingSegmentedControl #ScrollableListTabScroller #FlutterAdvancedSegment #TabbedView #ExtendedTabs #ButtonsTabBar
📦 CustomSlidingSegmentedControl - позволяет гибко настроить виджет для отображения контролов. Вы можете добавить цвет, скорость, размер, начальное значение, анимацию и многое другое.
👍 Лайки: 206, 📥 Скачиваний: 65.5К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/custom_sliding_segmented_control
📦 Scrollable List Tab Scroller - синхронизируйте список прокрутки с вкладками и настраивайте их по своему желанию.
👍 Лайки: 162, 📥 Скачиваний: 14.6К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/scrollable_list_tab_scroller
📦 Flutter Advanced Segment - позволяет создавать полностью настраиваемые сегменты с множеством свойств.
👍 Лайки: 111, 📥 Скачиваний: 5.8К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/flutter_advanced_segment
📦 Tabbed View - классический компонент вкладок в стиле Desktop, с поддержкой кастомизации тем.
👍 Лайки: 115, 📥 Скачиваний: 1.9К
Последнее обновление 📅: 2 дня назад
https://pub.dev/packages/tabbed_view
📦 Extended Tabs - позволяет создавать вкладки с прокруткой предков или дочерних вкладок при превышении текущей прокрутки.
👍 Лайки: 163, 📥 Скачиваний: 4.2К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/extended_tabs
📦 Buttons TabBar - позволяет создавать интерактивные и настраиваемые вкладки для ваших приложений.
👍 Лайки: 432, 📥 Скачиваний: 15.7К
Последнее обновление 📅: 7 месяцев назад
https://pub.dev/packages/buttons_tabbar
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #CustomSlidingSegmentedControl #ScrollableListTabScroller #FlutterAdvancedSegment #TabbedView #ExtendedTabs #ButtonsTabBar
Привет, программисты! 🤩 Я рад поделиться с вами интересной фичей из мира Flutter и Dart! 📱💻 Сегодня мы поговорим о том, как установить релизное приложение на iOS 📈.
Для начала вам понадобится файл с разрешением
Если вы выбрали сборку через консоль, вам нужно будет найти файл по пути
Если вы используете Xcode, то из Organizer нужно нажать правой кнопкой мыши на архив, выбрать “Show in Finder”, и затем найти файл, как и в случае с архивом из консоли 📊.
Далее, откройте Xcode, перейдите по пути Windows -> Devices and Simulators -> Ваше устройство, и добавьте файл в графа Installed Apps 📈. Можно либо перетащить его, либо нажать на плюсик и выбрать из системы 📁.
После этого нужно немного подождать завершения установки ⏱️. Обратите внимание, что устройство должно быть зарегистрировано в App Store Connect на аккаунт, которому принадлежит приложение 📝.
Хотите узнать больше о Flutter и Dart? 🤔 Тогда стоит подписаться на канал flutterpulse 📣, где вы найдете много интересных новостей и уроков 📚!
А полная новость по ссылке находится здесь 📄
#flutter #dart #flutterpulse 🚀💻📱
Для начала вам понадобится файл с разрешением
.app
или .ipa
. Для этого можно собрать iOS привычным способом, используя команды Flutter, такие как flutter build ios --release
или flutter build ipa
, или же архивировать через Xcode 📁. Если вы выбрали сборку через консоль, вам нужно будет найти файл по пути
/build/ios/archive/Runner.xcarchive
, нажать правой кнопкой мыши и выбрать “Показать содержимое пакета”, а затем найти файл по пути /Products/Applications/Runner.app
📂. Если вы используете Xcode, то из Organizer нужно нажать правой кнопкой мыши на архив, выбрать “Show in Finder”, и затем найти файл, как и в случае с архивом из консоли 📊.
Далее, откройте Xcode, перейдите по пути Windows -> Devices and Simulators -> Ваше устройство, и добавьте файл в графа Installed Apps 📈. Можно либо перетащить его, либо нажать на плюсик и выбрать из системы 📁.
После этого нужно немного подождать завершения установки ⏱️. Обратите внимание, что устройство должно быть зарегистрировано в App Store Connect на аккаунт, которому принадлежит приложение 📝.
Хотите узнать больше о Flutter и Dart? 🤔 Тогда стоит подписаться на канал flutterpulse 📣, где вы найдете много интересных новостей и уроков 📚!
А полная новость по ссылке находится здесь 📄
#flutter #dart #flutterpulse 🚀💻📱
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_inapp_purchase 6.3.0
Плагин для Flutter, который позволяет использовать покупки внутри приложения. Критические исправления багов, улучшение соответствия OpenIAP и расширение тестового покрытия.
👍 Лайки: 419, 📥 Скачиваний: 5.8К
https://pub.dev/packages/flutter_inapp_purchase
quran 1.4.1
Пакет для работы с текстом Корана, включая получение аудио URL, деталей страниц, джуз, суры, аятов и места откровения.
В новой версии исправлены проблемы с анализом.
👍 Лайки: 281, 📥 Скачиваний: 921
https://pub.dev/packages/quran
go_router 16.2.0
Пакет для декларативного маршрутизации в Flutter, обеспечивая удобный, основанный на URL, API для навигации между разными экранами.
Теперь доступны RelativeGoRouteData и TypedRelativeGoRoute. Минимальная поддерживаемая версия SDK обновлена до Flutter 3.29/Dart 3.7.
👍 Лайки: 5.4К, 📥 Скачиваний: 1.9М
https://pub.dev/packages/go_router
dwds 25.0.1
Пакет для обеспечения совместимости инструментов разработки с приложениями Dart Web, запускаемыми в Chrome.
В новой версии исправлена ошибка, вызывающая крах при горячем перезапуске с изменениями.
👍 Лайки: 30, 📥 Скачиваний: 3.9М
https://pub.dev/packages/dwds
flutter_soloud
Низкоуровневый аудио плагин для Flutter. Теперь доступна новая версия.
Плагин обеспечивает низкую задержку и продвинутые функции, включая 3D позиционирование аудио, бесшовное循ирование и потоковое воспроизведение.
👍 Лайки: 437, 📥 Скачиваний: 21.7К
https://pub.dev/packages/flutter_soloud
sqflite_android 2.4.2+2
Реализация плагина sqflite для Android. Теперь требует компиляции под SDK 36 и Dart 3.9.
👍 Лайки: 1, 📥 Скачиваний: 1.9М
https://pub.dev/packages/sqflite_android
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_inapp_purchase #quran #go_router #dwds #flutter_soloud #sqflite_android
flutter_inapp_purchase 6.3.0
Плагин для Flutter, который позволяет использовать покупки внутри приложения. Критические исправления багов, улучшение соответствия OpenIAP и расширение тестового покрытия.
👍 Лайки: 419, 📥 Скачиваний: 5.8К
https://pub.dev/packages/flutter_inapp_purchase
quran 1.4.1
Пакет для работы с текстом Корана, включая получение аудио URL, деталей страниц, джуз, суры, аятов и места откровения.
В новой версии исправлены проблемы с анализом.
👍 Лайки: 281, 📥 Скачиваний: 921
https://pub.dev/packages/quran
go_router 16.2.0
Пакет для декларативного маршрутизации в Flutter, обеспечивая удобный, основанный на URL, API для навигации между разными экранами.
Теперь доступны RelativeGoRouteData и TypedRelativeGoRoute. Минимальная поддерживаемая версия SDK обновлена до Flutter 3.29/Dart 3.7.
👍 Лайки: 5.4К, 📥 Скачиваний: 1.9М
https://pub.dev/packages/go_router
dwds 25.0.1
Пакет для обеспечения совместимости инструментов разработки с приложениями Dart Web, запускаемыми в Chrome.
В новой версии исправлена ошибка, вызывающая крах при горячем перезапуске с изменениями.
👍 Лайки: 30, 📥 Скачиваний: 3.9М
https://pub.dev/packages/dwds
flutter_soloud
Низкоуровневый аудио плагин для Flutter. Теперь доступна новая версия.
Плагин обеспечивает низкую задержку и продвинутые функции, включая 3D позиционирование аудио, бесшовное循ирование и потоковое воспроизведение.
👍 Лайки: 437, 📥 Скачиваний: 21.7К
https://pub.dev/packages/flutter_soloud
sqflite_android 2.4.2+2
Реализация плагина sqflite для Android. Теперь требует компиляции под SDK 36 и Dart 3.9.
👍 Лайки: 1, 📥 Скачиваний: 1.9М
https://pub.dev/packages/sqflite_android
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_inapp_purchase #quran #go_router #dwds #flutter_soloud #sqflite_android
Скачивание файла из Firebase и отслеживание прогресса
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим полезный совет по загрузке файлов из Firebase Storage и отслеживанию прогресса загрузки. 📈
Код для скачивания файла:
Ключевые моменты:
- Проверка разрешений: Используем
- Сохранение в папку загрузок: Файл сохраняется в папку "Download" на Android.
- Замена существующего файла: Если файл уже существует, он будет удален и заменен новым.
- Отслеживание прогресса: Используем
Чтобы получить текущий прогресс, можно использовать:
Оцените нашу новую рубрику советов по Flutter! 👍 Ваши отзывы помогут нам сделать ее еще лучше. 💬
Все подобные советы вы можете найти по хэштегу #FlutterPulseTips.
#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #MobileDevelopment #FlutterTips #AppDevelopment #CodingTips
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим полезный совет по загрузке файлов из Firebase Storage и отслеживанию прогресса загрузки. 📈
Код для скачивания файла:
Stream<TaskSnapshot> downloadFile(String path) async* {
if (await Permission.storage.request().isDenied) {
throw "Вы должны принять разрешение на запись";
}
var fileRef = storage.ref().child(path);
var fileName = fileRef.name;
Directory directory;
if (Platform.isAndroid) {
directory = Directory("/storage/emulated/0/Download");
} else {
directory = (await getExternalStorageDirectory())!;
}
final File destinationFile = File('${directory.path}/$fileName');
if (destinationFile.existsSync()) {
destinationFile.deleteSync();
}
destinationFile.createSync();
var task = fileRef.writeToFile(destinationFile);
yield* task.asStream();
}
Ключевые моменты:
- Проверка разрешений: Используем
permission_handler
для проверки разрешения на доступ к хранилищу.- Сохранение в папку загрузок: Файл сохраняется в папку "Download" на Android.
- Замена существующего файла: Если файл уже существует, он будет удален и заменен новым.
- Отслеживание прогресса: Используем
yield*
для передачи событий из задачи в наш поток, что позволяет отображать прогресс загрузки в приложении.Чтобы получить текущий прогресс, можно использовать:
var progress = task.bytesTransferred / task.totalBytes * 100;
Оцените нашу новую рубрику советов по Flutter! 👍 Ваши отзывы помогут нам сделать ее еще лучше. 💬
Все подобные советы вы можете найти по хэштегу #FlutterPulseTips.
#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #MobileDevelopment #FlutterTips #AppDevelopment #CodingTips
👍1
Внимание всем разработчикам на Flutter и Dart! 🚀💻
У нас есть потрясающая новость! 🤩 Только что вышел релиз от Стаса Ильина Talker v5.0 ⚡️, и это событие не оставит никого равнодушным! 💪
После более года интенсивной разработки и активной поддержки со стороны сообщества, Talker сделал очередной шаг к тому, чтобы стать самым удобным пакетом для работы с журналами вашего приложения! 📝
Одной из ключевых проблем в предыдущей версии была жесткая привязка плагинов к основному пакету. Но теперь все изменилось! 🔄
Вместо enum TalkerLogType, который ранее использовался для идентификации логов, теперь используются ключи с типом String. Это сделало процесс создания собственных библиотек на основе Talker гораздо проще и более гибким! 🌟
Теперь в TalkerScreen вы можете включать и выключать логирование определенных типов логов прямо в UI! 📊 Например, вы можете временно отображать только ответы сервера в консоли. Это невероятно удобно! 🤩
Хотите узнать больше о механизме работы и всех нововведениях? 🤔 Тогда ждите новых публикаций на этой неделе! 📅
Не забудьте обновиться и начать использовать Talker, если еще не делали этого! ❤️ И, конечно, ставьте лайки на pubdev и GitHub, чтобы поддержать развитие проекта! 🙏
Узнайте все подробности здесь:
И не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter и Dart! 📱 #flutter #dart #flutterpulse 💻🔥
У нас есть потрясающая новость! 🤩 Только что вышел релиз от Стаса Ильина Talker v5.0 ⚡️, и это событие не оставит никого равнодушным! 💪
После более года интенсивной разработки и активной поддержки со стороны сообщества, Talker сделал очередной шаг к тому, чтобы стать самым удобным пакетом для работы с журналами вашего приложения! 📝
Одной из ключевых проблем в предыдущей версии была жесткая привязка плагинов к основному пакету. Но теперь все изменилось! 🔄
Вместо enum TalkerLogType, который ранее использовался для идентификации логов, теперь используются ключи с типом String. Это сделало процесс создания собственных библиотек на основе Talker гораздо проще и более гибким! 🌟
Теперь в TalkerScreen вы можете включать и выключать логирование определенных типов логов прямо в UI! 📊 Например, вы можете временно отображать только ответы сервера в консоли. Это невероятно удобно! 🤩
Хотите узнать больше о механизме работы и всех нововведениях? 🤔 Тогда ждите новых публикаций на этой неделе! 📅
Не забудьте обновиться и начать использовать Talker, если еще не делали этого! ❤️ И, конечно, ставьте лайки на pubdev и GitHub, чтобы поддержать развитие проекта! 🙏
Узнайте все подробности здесь:
И не забудьте подписаться на flutterpulse, чтобы быть в курсе всех последних новостей и обновлений из мира Flutter и Dart! 📱 #flutter #dart #flutterpulse 💻🔥
❤3👍1