Flutter Pulse
Использование зависимостей в pubspec Привет, Flutter-разработчики! 👋 Сегодня мы поговорим о важной теме - использовании зависимостей в файле pubspec.yaml. 📄 Импорт библиотек Вы можете импортировать библиотеку из локального пути или удаленного репозитория.…
Катя из Flutter Dev Friflex решила продолжить тему! 💫
Иногда документации на pub.dev недостаточно 🤔, особенно когда библиотека ведет себя странно или хочется понять, как она работает «под капотом» 🚗. В такие моменты приходится читать исходный код библиотеки 📚. Давайте разберем, куда смотреть и на что можно не тратить время, на примере популярной библиотеки intl_utils 📊.
Шаг 1: Открываем репозиторий 📁
1️⃣ Идем на pub.dev 🌐
2️⃣ В поиске вводим нужную библиотеку, например, intl_utils 🔍
3️⃣ В карточке справа жмем Repository (GitHub) — нас перебросит на GitHub-репозиторий проекта 🚀
Шаг 2: Что стоит смотреть 🔍
▪️ Папка bin/ 📁: часто используется для CLI-скриптов 📝. В intl_utils, например, есть исполняемый файл генератора локализаций 🌎.
▪️ Папка lib/ 📚: это сердце библиотеки ❤️. Тут обычно:
✔️ логика импорта (intl_utils.dart) 📈
✔️ основной код библиотеки 📊
✔️ вспомогательные утилиты 🛠
▪️ Файл генератора 📄: если есть генерация кода, как у intl_utils, стоит посмотреть, как он парсит pubspec.yaml, обрабатывает ключи и какие шаблоны использует 📝.
Шаг 3: Что можно пропустить ❌
❌ Тесты 📊: если вы просто хотите понять, как работает логика, тесты можно пропустить 🙅♂️. Но если вы хотите проверить, что библиотека работает корректно, заглянуть все-таки стоит 👀.
❌ Конфигурационные файлы 📁: gitignore, analysis_options.yaml, metadata, vscode/ и прочие технические файлы не помогают в понимании логики работы 🙅♂️.
Советы 💡
✅ Начинайте с точки входа — файла, указанного в pubspec.yaml → executables: или lib/ 📈
✅ Ищите ключевые слова: generate, parse, template, config 📝. Они помогут быстрее найти нужную часть 🕰
✅ Если запутались — зайдите в example/, если он есть 📊. Там обычно видно, как библиотеку используют в реальном коде 📈.
Часто ли вы читаете сторонние библиотеки? 🤔 Узнайте больше тут 📄
Не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📣! #flutter #dart #flutterpulse 💻👍
Иногда документации на pub.dev недостаточно 🤔, особенно когда библиотека ведет себя странно или хочется понять, как она работает «под капотом» 🚗. В такие моменты приходится читать исходный код библиотеки 📚. Давайте разберем, куда смотреть и на что можно не тратить время, на примере популярной библиотеки intl_utils 📊.
Шаг 1: Открываем репозиторий 📁
1️⃣ Идем на pub.dev 🌐
2️⃣ В поиске вводим нужную библиотеку, например, intl_utils 🔍
3️⃣ В карточке справа жмем Repository (GitHub) — нас перебросит на GitHub-репозиторий проекта 🚀
Шаг 2: Что стоит смотреть 🔍
▪️ Папка bin/ 📁: часто используется для CLI-скриптов 📝. В intl_utils, например, есть исполняемый файл генератора локализаций 🌎.
▪️ Папка lib/ 📚: это сердце библиотеки ❤️. Тут обычно:
✔️ логика импорта (intl_utils.dart) 📈
✔️ основной код библиотеки 📊
✔️ вспомогательные утилиты 🛠
▪️ Файл генератора 📄: если есть генерация кода, как у intl_utils, стоит посмотреть, как он парсит pubspec.yaml, обрабатывает ключи и какие шаблоны использует 📝.
Шаг 3: Что можно пропустить ❌
❌ Тесты 📊: если вы просто хотите понять, как работает логика, тесты можно пропустить 🙅♂️. Но если вы хотите проверить, что библиотека работает корректно, заглянуть все-таки стоит 👀.
❌ Конфигурационные файлы 📁: gitignore, analysis_options.yaml, metadata, vscode/ и прочие технические файлы не помогают в понимании логики работы 🙅♂️.
Советы 💡
✅ Начинайте с точки входа — файла, указанного в pubspec.yaml → executables: или lib/ 📈
✅ Ищите ключевые слова: generate, parse, template, config 📝. Они помогут быстрее найти нужную часть 🕰
✅ Если запутались — зайдите в example/, если он есть 📊. Там обычно видно, как библиотеку используют в реальном коде 📈.
Часто ли вы читаете сторонние библиотеки? 🤔 Узнайте больше тут 📄
Не забудьте подписаться на наш канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений 📣! #flutter #dart #flutterpulse 💻👍
🔥 ВИДЕО ДНЯ: Flutter TDD Чистая Архитектура [1] - Объяснение и структура проекта
Привет, Flutter-энтузиасты! 👋 Сегодня делимся 🔥горячим видео, которое перевернет ваш подход к разработке! Денис (@DenUP) детально разбирает Clean Architecture + TDD — связку, которая превратит ваш код в масштабируемый шедевр. 💻✨
Почему это must-see?
✅ Чистая Архитектура — не роскошь, а необходимость! Когда проекты растут, смешение бизнес-логики с UI превращается в кошмар 😱. Автор покажет, как разделить код на:
→Presentation (Bloc, виджеты)
→Domain (сущности, use cases)
→Data (API, кеширование)
✅ TDD (Разработка через тестирование) — ваш код станет предсказуемым, как швейцарские часы ⏱️. Пишем тесты ДО кода — минус баги, плюс уверенность!
✅ Реальный кейс: приложение для Numbers API с:
✨ Поиском фактов о числах
✨ Кешированием (даже в оффлайне! 📶)
✨ Обработкой ошибок
✨ Гибкой структурой, работающей с ЛЮБЫМ state-менеджером
⏳ Таймкоды:
00:00 — Введение
01:18 — Демо приложения
04:18 — Суть Clean Architecture
05:52 — Структура проекта
07:58 — Presentation-слой
09:52 — Domain-слой
12:57 — Data-слой
💡 Золотая мысль:
«Даже Bloc/Cubit не спасут, если архитектура хромает. Слои — ваша броня против хаоса!» 🛡
👉 СМОТРЕТЬ: Flutter TDD Чистая Архитектура [1]
🔔 Хотите глубже? Подписывайтесь на нас и ищите уроки по #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Привет, Flutter-энтузиасты! 👋 Сегодня делимся 🔥горячим видео, которое перевернет ваш подход к разработке! Денис (@DenUP) детально разбирает Clean Architecture + TDD — связку, которая превратит ваш код в масштабируемый шедевр. 💻✨
Почему это must-see?
✅ Чистая Архитектура — не роскошь, а необходимость! Когда проекты растут, смешение бизнес-логики с UI превращается в кошмар 😱. Автор покажет, как разделить код на:
→
→
→
✅ TDD (Разработка через тестирование) — ваш код станет предсказуемым, как швейцарские часы ⏱️. Пишем тесты ДО кода — минус баги, плюс уверенность!
✅ Реальный кейс: приложение для Numbers API с:
✨ Поиском фактов о числах
✨ Кешированием (даже в оффлайне! 📶)
✨ Обработкой ошибок
✨ Гибкой структурой, работающей с ЛЮБЫМ state-менеджером
⏳ Таймкоды:
00:00 — Введение
01:18 — Демо приложения
04:18 — Суть Clean Architecture
05:52 — Структура проекта
07:58 — Presentation-слой
09:52 — Domain-слой
12:57 — Data-слой
💡 Золотая мысль:
«Даже Bloc/Cubit не спасут, если архитектура хромает. Слои — ваша броня против хаоса!» 🛡
👉 СМОТРЕТЬ: Flutter TDD Чистая Архитектура [1]
🔔 Хотите глубже? Подписывайтесь на нас и ищите уроки по #FlutterPulseYoutube!
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Понимание ключей во Flutter
Ключи играют важную роль в управлении состоянием виджетов и оптимизации производительности приложения. В этой статье мы рассмотрим два основных случая использования ключей: доступ к состоянию stateful виджета и изменение родителя виджета без потери состояния.
GlobalKey
- Уникален во всём приложении. Не должен пересоздаваться при каждой сборке.
- Долгоживущий объект, которым владеет объект состояния.
Пример использования 1: Доступ к состоянию stateful виджета (например, для формы)
Пример использования 2: Разрешение виджетам менять своих родителей в любом месте приложения без потери состояния.
Используйте KeyedSubtree, прикрепляя ключ к существующему виджету и пересобирая его потомка.
Пример использования во Flutter виджетах: => Hero
Все подобные новости можно найти по хэштегу #FlutterPulseTips. Оцените новую рубрику! 👍💬
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #AppDevelopment #ProgrammingTips
Ключи играют важную роль в управлении состоянием виджетов и оптимизации производительности приложения. В этой статье мы рассмотрим два основных случая использования ключей: доступ к состоянию stateful виджета и изменение родителя виджета без потери состояния.
GlobalKey
- Уникален во всём приложении. Не должен пересоздаваться при каждой сборке.
- Долгоживущий объект, которым владеет объект состояния.
Пример использования 1: Доступ к состоянию stateful виджета (например, для формы)
// для формы
final GlobalKey<FormState> _formKey = GlobalKey(debugLabel: 'form');
// используем ключ, чтобы получить FormState и вызвать функцию validate
isFormValid() {
if (_formKey.currentState == null) {
return false;
}
return _formKey.currentState?.validate();
}
Пример использования 2: Разрешение виджетам менять своих родителей в любом месте приложения без потери состояния.
Используйте KeyedSubtree, прикрепляя ключ к существующему виджету и пересобирая его потомка.
Пример использования во Flutter виджетах: => Hero
class _HeroState extends State<Hero> {
final GlobalKey _key = GlobalKey();
@override
Widget build(BuildContext context) {
// ...
return SizedBox(
width: _placeholderSize?.width,
height: _placeholderSize?.height,
child: Offstage(
offstage: !showPlaceholder,
child: TickerMode(
enabled: !showPlaceholder,
child: KeyedSubtree(key: _key, child: widget.child),
),
),
);
}
}
Все подобные новости можно найти по хэштегу #FlutterPulseTips. Оцените новую рубрику! 👍💬
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #AppDevelopment #ProgrammingTips
👍2
Обзор пакетов на тему "Эффекты фона, градиенты и шейдеры"
📦 O'Mesh - создавайте анимированные градиенты сетки для ваших приложений Flutter с помощью этого быстрого и настраиваемого пакета. 👍 Лайки: 140, 📥 Скачиваний: 7.6К, Версия: 0.5.0, Последнее обновление: 2 месяца назад. https://pub.dev/packages/mesh
📦 flutter_shaders - облегчите работу с FragmentProgram API с помощью этого пакета! Включает в себя набор утилит и шейдеров для создания эффектов в ваших Flutter-приложениях. 👍 Лайки: 107, 📥 Скачиваний: 786К, Версия: 0.1.3, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/flutter_shaders
📦 Mesh Gradient - создавайте красивые, плавные градиенты в своих приложениях с помощью этого мощного и гибкого инструмента. 👍 Лайки: 243, 📥 Скачиваний: 10.7К, Версия: 1.3.8, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/mesh_gradient
📦 Particles Flutter - добавьте анимацию частиц в ваш проект с помощью этого простого и удобного пакета. 👍 Лайки: 169, 📥 Скачиваний: 1.4К, Версия: 1.0.1, Последнее обновление: 10 месяцев назад. https://pub.dev/packages/particles_flutter
📦 Patterns Canvas - обновление библиотеки! Позволяет рисовать различные узоры на элементах Canvas или виджетах Flutter. 👍 Лайки: 106, 📥 Скачиваний: 5.9К, Версия: 0.5.0, Последнее обновление: 11 месяцев назад. https://pub.dev/packages/patterns_canvas
📦 weather_animation - создавайте анимированные погодные сцены без использования gif/png. Бесплатно и просто! 🆓 👍 Лайки: 122, 📥 Скачиваний: 741, Версия: 1.1.2, Последнее обновление: 5 месяцев назад. https://pub.dev/packages/weather_animation
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #OMesh #flutter_shaders #MeshGradient #ParticlesFlutter #PatternsCanvas #weather_animation
📦 O'Mesh - создавайте анимированные градиенты сетки для ваших приложений Flutter с помощью этого быстрого и настраиваемого пакета. 👍 Лайки: 140, 📥 Скачиваний: 7.6К, Версия: 0.5.0, Последнее обновление: 2 месяца назад. https://pub.dev/packages/mesh
📦 flutter_shaders - облегчите работу с FragmentProgram API с помощью этого пакета! Включает в себя набор утилит и шейдеров для создания эффектов в ваших Flutter-приложениях. 👍 Лайки: 107, 📥 Скачиваний: 786К, Версия: 0.1.3, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/flutter_shaders
📦 Mesh Gradient - создавайте красивые, плавные градиенты в своих приложениях с помощью этого мощного и гибкого инструмента. 👍 Лайки: 243, 📥 Скачиваний: 10.7К, Версия: 1.3.8, Последнее обновление: 9 месяцев назад. https://pub.dev/packages/mesh_gradient
📦 Particles Flutter - добавьте анимацию частиц в ваш проект с помощью этого простого и удобного пакета. 👍 Лайки: 169, 📥 Скачиваний: 1.4К, Версия: 1.0.1, Последнее обновление: 10 месяцев назад. https://pub.dev/packages/particles_flutter
📦 Patterns Canvas - обновление библиотеки! Позволяет рисовать различные узоры на элементах Canvas или виджетах Flutter. 👍 Лайки: 106, 📥 Скачиваний: 5.9К, Версия: 0.5.0, Последнее обновление: 11 месяцев назад. https://pub.dev/packages/patterns_canvas
📦 weather_animation - создавайте анимированные погодные сцены без использования gif/png. Бесплатно и просто! 🆓 👍 Лайки: 122, 📥 Скачиваний: 741, Версия: 1.1.2, Последнее обновление: 5 месяцев назад. https://pub.dev/packages/weather_animation
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #OMesh #flutter_shaders #MeshGradient #ParticlesFlutter #PatternsCanvas #weather_animation
Самые лучшие обновлённые пакеты за последние 24 часа
purchases_flutter 9.0.0 - клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter.
В новой версии обновлена библиотека Google Play Billing до версии 8, удалены некоторые устаревшие API, а также увеличены минимальные требования к версии Flutter и Dart.
👍 Лайки: 816, 📥 Скачиваний: 165К
https://pub.dev/packages/purchases_flutter
appwrite 17.0.2 - пакет для интеграции с сервером Appwrite, который упрощает разработку приложений за счет абстракции сложных задач и предоставления простого REST API.
В новой версии добавлена поддержка формата gif в перечислении ImageFormat, а также исправлен метод convertTo() в моделях Document и Preferences для корректной обработки Map<String, dynamic>.
👍 Лайки: 566, 📥 Скачиваний: 7.1К
https://pub.dev/packages/appwrite
built_value 8.11.0 - пакет для создания неизменяемых типов значений, классов-ENUM и сериализации JSON в Dart.
В новой версии обновлены зависимости: теперь используется build ^3.0.0 и source_gen ^3.0.0.
👍 Лайки: 759, 📥 Скачиваний: 8.7М
https://pub.dev/packages/built_value
freezed 3.2.0 - пакет для автоматического генерации кода для данных классов, помеченных объединений, вложенных классов и клонирования в Dart.
В новой версии 3.2.0 обновлены зависимости до build 3.0.0-dev и source_gen 3.0.0-dev, а также добавлена поддержка Dart 3.8.0 и analyzer 7.5.9.
👍 Лайки: 4290, 📥 Скачиваний: 1.9М
https://pub.dev/packages/freezed
dart_style 3.1.1 - автоматический форматтер для кода на языке Dart, который помогает поддерживать единый стиль кода и делает его более читабельным.
В новой версии обновлены зависимости до последней версии анализатора и включена поддержка языковой версии 3.9.
👍 Лайки: 116, 📥 Скачиваний: 7М
https://pub.dev/packages/dart_style
awesome_snackbar_content 0.1.7 - пакет, который позволяет улучшить опыт использования SnackBar или MaterialBanner в вашем приложении.
Изменения: обновление SDK до 3.8.1, применены линтеры (MISC).
👍 Лайки: 956, 📥 Скачиваний: 15.1К
https://pub.dev/packages/awesome_snackbar_content
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #purchases_flutter #appwrite #built_value #freezed #dart_style #awesome_snackbar_content
purchases_flutter 9.0.0 - клиент для системы отслеживания подписок и покупок RevenueCat, позволяет легко реализовывать в-app покупки в приложениях Flutter.
В новой версии обновлена библиотека Google Play Billing до версии 8, удалены некоторые устаревшие API, а также увеличены минимальные требования к версии Flutter и Dart.
👍 Лайки: 816, 📥 Скачиваний: 165К
https://pub.dev/packages/purchases_flutter
appwrite 17.0.2 - пакет для интеграции с сервером Appwrite, который упрощает разработку приложений за счет абстракции сложных задач и предоставления простого REST API.
В новой версии добавлена поддержка формата gif в перечислении ImageFormat, а также исправлен метод convertTo() в моделях Document и Preferences для корректной обработки Map<String, dynamic>.
👍 Лайки: 566, 📥 Скачиваний: 7.1К
https://pub.dev/packages/appwrite
built_value 8.11.0 - пакет для создания неизменяемых типов значений, классов-ENUM и сериализации JSON в Dart.
В новой версии обновлены зависимости: теперь используется build ^3.0.0 и source_gen ^3.0.0.
👍 Лайки: 759, 📥 Скачиваний: 8.7М
https://pub.dev/packages/built_value
freezed 3.2.0 - пакет для автоматического генерации кода для данных классов, помеченных объединений, вложенных классов и клонирования в Dart.
В новой версии 3.2.0 обновлены зависимости до build 3.0.0-dev и source_gen 3.0.0-dev, а также добавлена поддержка Dart 3.8.0 и analyzer 7.5.9.
👍 Лайки: 4290, 📥 Скачиваний: 1.9М
https://pub.dev/packages/freezed
dart_style 3.1.1 - автоматический форматтер для кода на языке Dart, который помогает поддерживать единый стиль кода и делает его более читабельным.
В новой версии обновлены зависимости до последней версии анализатора и включена поддержка языковой версии 3.9.
👍 Лайки: 116, 📥 Скачиваний: 7М
https://pub.dev/packages/dart_style
awesome_snackbar_content 0.1.7 - пакет, который позволяет улучшить опыт использования SnackBar или MaterialBanner в вашем приложении.
Изменения: обновление SDK до 3.8.1, применены линтеры (MISC).
👍 Лайки: 956, 📥 Скачиваний: 15.1К
https://pub.dev/packages/awesome_snackbar_content
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #purchases_flutter #appwrite #built_value #freezed #dart_style #awesome_snackbar_content
Как мы переписали мобильное приложение с React Native на Flutter 📱💻
Разработчики мобильного приложения перешли с React Native на Flutter из-за проблем с производительностью и отсутствием необходимых инструментов 🤔. Теперь они оценивают преимущества Flutter в разработке кроссплатформенных приложений 📈. Команда из 3 разработчиков переписала существующее приложение на Flutter за полгода, добившись стабильности и высокой производительности 🚀. Теперь приложение работает плавно и отзывчиво на всех платформах 📊.
Узнайте, как эти две технологии справляются с потреблением оперативной памяти и другими задачами 🤔. Перевод приложения с React Native на Flutter оказался большим, но оправданным шагом 🔄. Разработчики улучшили архитектуру, UX и получили стабильный продукт 📈. Flutter стал самым актуальным инструментом для разработки кроссплатформенных мобильных приложений в СНГ 🌟.
Читать здесь 📄
#flutter #dart #flutterpulse 🚀💻📱
Разработчики мобильного приложения перешли с React Native на Flutter из-за проблем с производительностью и отсутствием необходимых инструментов 🤔. Теперь они оценивают преимущества Flutter в разработке кроссплатформенных приложений 📈. Команда из 3 разработчиков переписала существующее приложение на Flutter за полгода, добившись стабильности и высокой производительности 🚀. Теперь приложение работает плавно и отзывчиво на всех платформах 📊.
Узнайте, как эти две технологии справляются с потреблением оперативной памяти и другими задачами 🤔. Перевод приложения с React Native на Flutter оказался большим, но оправданным шагом 🔄. Разработчики улучшили архитектуру, UX и получили стабильный продукт 📈. Flutter стал самым актуальным инструментом для разработки кроссплатформенных мобильных приложений в СНГ 🌟.
Читать здесь 📄
#flutter #dart #flutterpulse 🚀💻📱
Отображение оверлея
Привет, Flutter-разработчики! 👋 Сегодня мы рассмотрим интересную тему: как отобразить оверлей поверх вашего контента в приложении. 📱💻
Что такое оверлей?
Оверлей позволяет отображать контент поверх других элементов вашего приложения. Это может быть полезно для создания уведомлений, подсказок или других интерактивных элементов. 🔔💡
Как это работает?
`Overlay.of` работает под `MaterialApp` или `navigator`. Это означает, что вы можете использовать его внутри этих виджетов для отображения оверлея. 🌟
Пример кода:
В этом примере мы создаем `OverlayEntry` с нужным нам контентом и добавляем его в оверлей с помощью `Overlay.of(context).insert(overlayEntry)`. 📝👍
Оцените нашу новую рубрику! 🤔💬 Мы будем рады вашим отзывам о новых материалах. Оставляйте свои комментарии и предложения! 💬👇
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. 🔍👉
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #programmingtips #uiux #technews
Привет, Flutter-разработчики! 👋 Сегодня мы рассмотрим интересную тему: как отобразить оверлей поверх вашего контента в приложении. 📱💻
Что такое оверлей?
Оверлей позволяет отображать контент поверх других элементов вашего приложения. Это может быть полезно для создания уведомлений, подсказок или других интерактивных элементов. 🔔💡
Как это работает?
`Overlay.of` работает под `MaterialApp` или `navigator`. Это означает, что вы можете использовать его внутри этих виджетов для отображения оверлея. 🌟
Пример кода:
overlayEntry = OverlayEntry(
opaque: false, // Определяет, перекрывает ли эта запись весь оверлей
builder: (context) => Container(...), // Что вы хотите отобразить
);
final overlay = Overlay.of(context);
if (overlay != null) {
overlay.insert(overlayEntry!);
}
В этом примере мы создаем `OverlayEntry` с нужным нам контентом и добавляем его в оверлей с помощью `Overlay.of(context).insert(overlayEntry)`. 📝👍
Оцените нашу новую рубрику! 🤔💬 Мы будем рады вашим отзывам о новых материалах. Оставляйте свои комментарии и предложения! 💬👇
Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. 🔍👉
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #programmingtips #uiux #technews
❤1
Обзор пакетов на тему Видео 📹
fwfh_chewie - расширение для WidgetFactory, использующее плагин chewie для воспроизведения видео. 👍 Лайки: 10, 📥 Скачиваний: 243К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/fwfh_chewie
Chewie - видеоплеер с Material или Cupertino интерфейсом, построенный на основе video_player. 👍 Лайки: 2250, 📥 Скачиваний: 789К
Последнее обновление 📅: 18 дней назад
https://pub.dev/packages/chewie
media_kit - кроссплатформенный видео- и аудиоплеер. 👍 Лайки: 759, 📥 Скачиваний: 90К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/media_kit
video_player - позволяет проигрывать видео на устройствах iOS, Android, macOS и веб-страницах. 👍 Лайки: 3580, 📥 Скачиваний: 2.8М
Последнее обновление 📅: 46 дней назад
https://pub.dev/packages/video_player
youtube_explode_dart - библиотека для извлечения метаданных видео, плейлистов и каналов YouTube. 👍 Лайки: 653, 📥 Скачиваний: 42.7К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/youtube_explode_dart
youtube_player_flutter - позволяет проигрывать или транслировать видео с YouTube прямо в вашем приложении. 👍 Лайки: 1630, 📥 Скачиваний: 155К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/youtube_player_flutter
#fwfh_chewie #chewie #media_kit #video_player #youtube_explode_dart #youtube_player_flutter #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
fwfh_chewie - расширение для WidgetFactory, использующее плагин chewie для воспроизведения видео. 👍 Лайки: 10, 📥 Скачиваний: 243К
Последнее обновление 📅: 4 дня назад
https://pub.dev/packages/fwfh_chewie
Chewie - видеоплеер с Material или Cupertino интерфейсом, построенный на основе video_player. 👍 Лайки: 2250, 📥 Скачиваний: 789К
Последнее обновление 📅: 18 дней назад
https://pub.dev/packages/chewie
media_kit - кроссплатформенный видео- и аудиоплеер. 👍 Лайки: 759, 📥 Скачиваний: 90К
Последнее обновление 📅: 3 месяца назад
https://pub.dev/packages/media_kit
video_player - позволяет проигрывать видео на устройствах iOS, Android, macOS и веб-страницах. 👍 Лайки: 3580, 📥 Скачиваний: 2.8М
Последнее обновление 📅: 46 дней назад
https://pub.dev/packages/video_player
youtube_explode_dart - библиотека для извлечения метаданных видео, плейлистов и каналов YouTube. 👍 Лайки: 653, 📥 Скачиваний: 42.7К
Последнее обновление 📅: 16 дней назад
https://pub.dev/packages/youtube_explode_dart
youtube_player_flutter - позволяет проигрывать или транслировать видео с YouTube прямо в вашем приложении. 👍 Лайки: 1630, 📥 Скачиваний: 155К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/youtube_player_flutter
#fwfh_chewie #chewie #media_kit #video_player #youtube_explode_dart #youtube_player_flutter #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_chat_ui 2.8.1 - плагин для Flutter, который позволяет создавать чаты. Теперь с исправлением composer inputClearMode и возможностью использования кастомного редактора.
👍 Лайки: 1510, 📥 Скачиваний: 69.9К
https://pub.dev/packages/flutter_chat_ui
google_api_headers 2.0.0 - пакет для получения заголовков, необходимых для вызова Google API с ограниченным ключом. Теперь с совместимостью с Android Gradle Plugin 8.0 и обновленными версиями SDK.
👍 Лайки: 30, 📥 Скачиваний: 82.7К
https://pub.dev/packages/google_api_headers
jaspr 0.20.0 - современный фреймворк для построения веб-сайтов на Dart, поддерживающий как клиентскую, так и серверную отрисовку. В новой версии удалены устаревшие параметры и методы, добавлены новые html-методы и улучшена обработка ошибок.
👍 Лайки: 533, 📥 Скачиваний: 15.9К
https://pub.dev/packages/jaspr
background_downloader 9.2.3 - пакет для скачивания и загрузки файлов в фоновом режиме на платформах iOS, Android, MacOS, Windows и Linux. В новой версии исправлены незначительные ошибки, улучшены разрешения на iOS и добавлена возможность использования символа $ в уведомлениях на Android.
👍 Лайки: 416, 📥 Скачиваний: 73.3К
https://pub.dev/packages/background_downloader
pdfrx 1.3.5 - быстрый и функциональный просмотрщик PDF-файлов, поддерживающий множество платформ, включая Android, iOS, Windows, macOS, Linux и Web. В новой версии улучшена поддержка прогрессивной загрузки для PdfDocumentViewBuilder, а также исправлена ошибка с прокруткой колесом мыши.
👍 Лайки: 233, 📥 Скачиваний: 178К
https://pub.dev/packages/pdfrx
Tostore 2.2.2 - единственный распределенный векторный базовый движок хранения в экосистеме Dart/Flutter с исключительной производительностью. В новой версии удалено автоматическое управление кэшем запросов, оптимизирована плавность и отзывчивость интерфейса для крупномасштабных операций с данными, улучшена производительность для limit, сортировки и постраничного вывода.
👍 Лайки: 31, 📥 Скачиваний: 131К
https://pub.dev/packages/tostore
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #flutter_chat_ui #google_api_headers #jaspr #background_downloader #pdfrx #Tostore
flutter_chat_ui 2.8.1 - плагин для Flutter, который позволяет создавать чаты. Теперь с исправлением composer inputClearMode и возможностью использования кастомного редактора.
👍 Лайки: 1510, 📥 Скачиваний: 69.9К
https://pub.dev/packages/flutter_chat_ui
google_api_headers 2.0.0 - пакет для получения заголовков, необходимых для вызова Google API с ограниченным ключом. Теперь с совместимостью с Android Gradle Plugin 8.0 и обновленными версиями SDK.
👍 Лайки: 30, 📥 Скачиваний: 82.7К
https://pub.dev/packages/google_api_headers
jaspr 0.20.0 - современный фреймворк для построения веб-сайтов на Dart, поддерживающий как клиентскую, так и серверную отрисовку. В новой версии удалены устаревшие параметры и методы, добавлены новые html-методы и улучшена обработка ошибок.
👍 Лайки: 533, 📥 Скачиваний: 15.9К
https://pub.dev/packages/jaspr
background_downloader 9.2.3 - пакет для скачивания и загрузки файлов в фоновом режиме на платформах iOS, Android, MacOS, Windows и Linux. В новой версии исправлены незначительные ошибки, улучшены разрешения на iOS и добавлена возможность использования символа $ в уведомлениях на Android.
👍 Лайки: 416, 📥 Скачиваний: 73.3К
https://pub.dev/packages/background_downloader
pdfrx 1.3.5 - быстрый и функциональный просмотрщик PDF-файлов, поддерживающий множество платформ, включая Android, iOS, Windows, macOS, Linux и Web. В новой версии улучшена поддержка прогрессивной загрузки для PdfDocumentViewBuilder, а также исправлена ошибка с прокруткой колесом мыши.
👍 Лайки: 233, 📥 Скачиваний: 178К
https://pub.dev/packages/pdfrx
Tostore 2.2.2 - единственный распределенный векторный базовый движок хранения в экосистеме Dart/Flutter с исключительной производительностью. В новой версии удалено автоматическое управление кэшем запросов, оптимизирована плавность и отзывчивость интерфейса для крупномасштабных операций с данными, улучшена производительность для limit, сортировки и постраничного вывода.
👍 Лайки: 31, 📥 Скачиваний: 131К
https://pub.dev/packages/tostore
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #flutter_chat_ui #google_api_headers #jaspr #background_downloader #pdfrx #Tostore
Как использовать Isolates во Flutter
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим одну из ключевых тем в разработке высокопроизводительных приложений — использование Isolates для выполнения фоновых задач. Isolates позволяют выполнять тяжелые вычисления в отдельных потоках, не блокируя основной поток приложения. 📈
Зачем нужны Isolates?
Isolates помогают избежать зависания интерфейса пользователя при выполнении сложных операций, таких как обработка больших объемов данных или сложные вычисления. Они позволяют распределить нагрузку между несколькими потоками, обеспечивая плавную работу приложения. 💻
Пример использования Isolates
Давайте рассмотрим пример, как отправлять и получать данные из Isolates. В этом примере мы создадим Isolate и организуем двустороннюю связь между основным потоком и Isolate.
В этом примере мы создаем Isolate и организуем двустороннюю связь между основным потоком и Isolate. Это позволяет выполнять тяжелые задачи в фоновом режиме и получать результаты в основном потоке. 🔄
Не забудьте остановить Isolate, когда закончите работу с ним, чтобы избежать утечек памяти. 💡
Оцените новую рубрику и напишите в комментариях, какие темы вам интересны! 👇
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #performanceoptimization #isolates #concurrency #multithreading
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим одну из ключевых тем в разработке высокопроизводительных приложений — использование Isolates для выполнения фоновых задач. Isolates позволяют выполнять тяжелые вычисления в отдельных потоках, не блокируя основной поток приложения. 📈
Зачем нужны Isolates?
Isolates помогают избежать зависания интерфейса пользователя при выполнении сложных операций, таких как обработка больших объемов данных или сложные вычисления. Они позволяют распределить нагрузку между несколькими потоками, обеспечивая плавную работу приложения. 💻
Пример использования Isolates
Давайте рассмотрим пример, как отправлять и получать данные из Isolates. В этом примере мы создадим Isolate и организуем двустороннюю связь между основным потоком и Isolate.
static void _update(String data) async {
// создаем канал ответа для основного потока
var _toIsolate = ReceivePort();
// отправляем этот канал ответа
data.sendPort.send(_toIsolate.sendPort);
// слушаем данные, отправленные из основного потока, чтобы их обработать
_toIsolate.listen((message) {
// выполняем тяжелую работу здесь
data.sendPort.send("Мой потрясающий результат...");
});
}
Isolate? isolate;
StreamController<String>? _streamController;
Stream<String>? _stream;
void runIsolate() {
// создаем канал связи для ответов Isolate
var fromIsolate = ReceivePort();
// контроллер потока для отправки данных и отображения их в UI
_streamController = StreamController<String>();
// первый канал ответа — это канал связи, по которому мы можем снова отправлять данные
fromIsolate.listen((data) {
if (data is SendPort) {
_toIsolate = data;
}
// обработанные данные (здесь это String, но можно использовать и другие типы
// или классы с базовыми типами)
if (data is String) {
_streamController!.sink.add(data);
}
});
// запускаем Isolate
Isolate.spawn(_update, initialData).then((value) => isolate = value);
// используем этот поток, чтобы слушать данные из нашего UI или откуда угодно еще
_stream = _streamController!.stream.asBroadcastStream();
// не забудьте закрыть его, когда закончите
}
В этом примере мы создаем Isolate и организуем двустороннюю связь между основным потоком и Isolate. Это позволяет выполнять тяжелые задачи в фоновом режиме и получать результаты в основном потоке. 🔄
Не забудьте остановить Isolate, когда закончите работу с ним, чтобы избежать утечек памяти. 💡
Оцените новую рубрику и напишите в комментариях, какие темы вам интересны! 👇
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #mobiledevelopment #appdevelopment #performanceoptimization #isolates #concurrency #multithreading
👍2