📢 Сенсация в мире Dart: Static Enough Metaprogramming! 🥳
Появилась новая фича в Dart, которая обещает революционизировать процесс разработки! 🤩
После долгих лет ожидания, команда Dart наконец-то решила проблему с макросами и рефлексией. 🙌
Новая спецификация, предложенная Славой Егоровым, позволяет использовать статическое метапрограммирование в Dart! 🚀
Что это значит? 🤔
Это значит, что разработчики смогут использовать часть Dart-кода, который ранее был невозможен в константных выражениях (циклы, условные операторы, списки и таблицы/карты). 📈
Новая фича предлагает введение аннотации @konst, указывающей компилятору выполнить вычисления на этапе компиляции. 📊
Это открывает новые возможности для разработчиков, такие как генерация кода, оптимизация производительности и многое другое! 🚀
Примеры применения 📝
JSON-сериализация, генерация метода hashCode и operator==, или автоматическая маршрутизация запросов можно будет реализовать прямо внутри Dart без дополнительного кодогена! 📈
Мixin DataClass, например, может быть реализован с помощью новой фичи, что упростит разработку и улучшит производительность! 📊
Хотите узнать больше? 🤔
Читайте полную новость здесь:📄
И не забудьте подписаться на канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter и Dart! 📱
#flutter #dart #flutterpulse 🚀
Появилась новая фича в Dart, которая обещает революционизировать процесс разработки! 🤩
После долгих лет ожидания, команда Dart наконец-то решила проблему с макросами и рефлексией. 🙌
Новая спецификация, предложенная Славой Егоровым, позволяет использовать статическое метапрограммирование в Dart! 🚀
Что это значит? 🤔
Это значит, что разработчики смогут использовать часть Dart-кода, который ранее был невозможен в константных выражениях (циклы, условные операторы, списки и таблицы/карты). 📈
Новая фича предлагает введение аннотации @konst, указывающей компилятору выполнить вычисления на этапе компиляции. 📊
Это открывает новые возможности для разработчиков, такие как генерация кода, оптимизация производительности и многое другое! 🚀
Примеры применения 📝
JSON-сериализация, генерация метода hashCode и operator==, или автоматическая маршрутизация запросов можно будет реализовать прямо внутри Dart без дополнительного кодогена! 📈
Мixin DataClass, например, может быть реализован с помощью новой фичи, что упростит разработку и улучшит производительность! 📊
Хотите узнать больше? 🤔
Читайте полную новость здесь:📄
И не забудьте подписаться на канал flutterpulse, чтобы быть в курсе всех последних новостей и обновлений в мире Flutter и Dart! 📱
#flutter #dart #flutterpulse 🚀
Автоматическое перерисовывание холста с помощью ChangeNotifier
Привет, подписчики! 👋 Сегодня мы рассмотрим полезный совет по Flutter, который поможет вам оптимизировать процесс отрисовки пользовательского интерфейса. 📱💻
Вы когда-нибудь сталкивались с ситуацией, когда ваш
Использование ChangeNotifier для автоматического обновления
Один из способов обеспечить автоматическое перерисовывание холста — использовать
В этом примере
Преимущества этого подхода
* Автоматическое обновление холста при изменении данных 🔄
* Упрощение кода за счет использования встроенных механизмов Flutter 📚
* Повышение производительности приложения за счет оптимального управления отрисовкой 🚀
Оцените новую рубрику и напишите в комментариях, какие темы вам наиболее интересны! 👇
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment
Привет, подписчики! 👋 Сегодня мы рассмотрим полезный совет по Flutter, который поможет вам оптимизировать процесс отрисовки пользовательского интерфейса. 📱💻
Вы когда-нибудь сталкивались с ситуацией, когда ваш
CustomPainter
не обновлялся автоматически при изменении данных? 🤔 Это может быть раздражающим, особенно когда вы работаете с динамическим содержимым. Но не волнуйтесь, у нас есть решение! 😊Использование ChangeNotifier для автоматического обновления
Один из способов обеспечить автоматическое перерисовывание холста — использовать
ChangeNotifier
. Давайте разберемся, как это работает: 🔍
class WaveModel extends ChangeNotifier {
// ...
void notify() => notifyListeners(); // Уведомляем слушателей об изменении
}
class WorldPainter extends CustomPainter {
final WaveModel model;
WorldPainter({required this.model}) : super(repaint: model);
@override
bool shouldRepaint(covariant WorldPainter oldDelegate) => false;
}
В этом примере
WaveModel
расширяет ChangeNotifier
и уведомляет своих слушателей при вызове метода notify()
. 🔔WorldPainter
, который расширяет CustomPainter
, принимает WaveModel
в качестве параметра и передает его в конструктор суперкласса с параметром repaint
. 🔄 Это означает, что всякий раз, когда WaveModel
уведомляет своих слушателей, WorldPainter
будет перерисовываться автоматически. 🎨Преимущества этого подхода
* Автоматическое обновление холста при изменении данных 🔄
* Упрощение кода за счет использования встроенных механизмов Flutter 📚
* Повышение производительности приложения за счет оптимального управления отрисовкой 🚀
Оцените новую рубрику и напишите в комментариях, какие темы вам наиболее интересны! 👇
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #UIUX #CodingTips #AppDevelopment
Обзор пакетов на тему Индикаторы: Загрузка, Обновление, Прогресс
Loader Overlay - пакет для Flutter, позволяющий легко создавать экраны загрузки и блокировать взаимодействие пользователя с экраном во время асинхронной обработки. 👍 Лайки: 530, 📥 Скачиваний: 53.5К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/loader_overlay
Custom Refresh Indicator - пакет для Flutter, позволяющий создавать свои собственные индикаторы обновления. 👍 Лайки: 946, 📥 Скачиваний: 257К
Последнее обновление 📅: 11 месяцев назад
https://pub.dev/packages/custom_refresh_indicator
Loading Animation Widget - пакет для Flutter, предназначенный для создания анимаций загрузки в ваших приложениях. 👍 Лайки: 1880, 📥 Скачиваний: 108К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/loading_animation_widget
Sn Progress Dialog - пакет для Flutter, позволяющий создавать диалоговые окна прогресса для отображения статуса выполнения задач. 👍 Лайки: 272, 📥 Скачиваний: 6.2К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/sn_progress_dialog
Loading Overlay - пакет для Flutter, позволяющий упростить отображение модального индикатора прогресса в ваших приложениях. 👍 Лайки: 188, 📥 Скачиваний: 11.2К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/loading_overlay
Percent Indicator - пакет для Flutter, позволяющий создавать круговые и линейные индикаторы прогресса с анимацией и настраиваемыми параметрами. 👍 Лайки: 2710, 📥 Скачиваний: 836К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/percent_indicator
#LoaderOverlay #CustomRefreshIndicator #LoadingAnimationWidget #SnProgressDialog #LoadingOverlay #PercentIndicator #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Loader Overlay - пакет для Flutter, позволяющий легко создавать экраны загрузки и блокировать взаимодействие пользователя с экраном во время асинхронной обработки. 👍 Лайки: 530, 📥 Скачиваний: 53.5К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/loader_overlay
Custom Refresh Indicator - пакет для Flutter, позволяющий создавать свои собственные индикаторы обновления. 👍 Лайки: 946, 📥 Скачиваний: 257К
Последнее обновление 📅: 11 месяцев назад
https://pub.dev/packages/custom_refresh_indicator
Loading Animation Widget - пакет для Flutter, предназначенный для создания анимаций загрузки в ваших приложениях. 👍 Лайки: 1880, 📥 Скачиваний: 108К
Последнее обновление 📅: 9 месяцев назад
https://pub.dev/packages/loading_animation_widget
Sn Progress Dialog - пакет для Flutter, позволяющий создавать диалоговые окна прогресса для отображения статуса выполнения задач. 👍 Лайки: 272, 📥 Скачиваний: 6.2К
Последнее обновление 📅: 6 месяцев назад
https://pub.dev/packages/sn_progress_dialog
Loading Overlay - пакет для Flutter, позволяющий упростить отображение модального индикатора прогресса в ваших приложениях. 👍 Лайки: 188, 📥 Скачиваний: 11.2К
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/loading_overlay
Percent Indicator - пакет для Flutter, позволяющий создавать круговые и линейные индикаторы прогресса с анимацией и настраиваемыми параметрами. 👍 Лайки: 2710, 📥 Скачиваний: 836К
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/percent_indicator
#LoaderOverlay #CustomRefreshIndicator #LoadingAnimationWidget #SnProgressDialog #LoadingOverlay #PercentIndicator #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
🎯 Dart — полный курс для начинающих. Максимальная подготовка к Flutter
🔥 21 ЧАС мощного видеокурса от MAD Teacher уже на YouTube! Это абсолютный маст-хэв для всех, кто хочет с нуля освоить Dart и уверенно шагнуть в мир Flutter.
📺 СМОТРЕТЬ КУРС:
👉 https://www.youtube.com/watch?v=Na_Qjvx8piI
💡 Что внутри:
Ты пройдёшь путь от установки и настройки окружения до продвинутого сетевого и асинхронного программирования. Рассмотрены все типы данных, функции, замыкания, ООП, файлы, JSON, Future, Stream, Isolate, TCP, HTTP и ещё много чего!
📌 Таймкоды главных тем (прямые ссылки):
🔧 Установка и типы данных:
00:00 — Вводное слово
01:00 — Установка Dart
11:13 — int, double
29:20 — bool
49:15 — String
01:25:10 — List
02:14:25 — Map
02:36:44 — Set
02:54:10 — Record
⚙️ Управление потоком, функции:
04:27:05 — if-else
05:05:10 — switch, pattern matching
06:26:57 — Функции
07:33:03 — Замыкания
08:47:02 — Классы
🏗 ООП и расширения:
10:27:06 — Наследование и полиморфизм
11:52:15 — Sealed классы
12:30:29 — Extension methods
13:00:46 — Generics
13:36:58 — Обработка исключений
📂 Работа с файлами, сетью и асинхронностью:
14:05:20 — Работа с файлами
15:24:58 — JSON и кодогенерация
16:00:10 — Future
16:59:10 — Stream
18:11:47 — Isolate
19:04:17 — TCP/UDP/HTTP
🚀 Завершение и сборка:
20:06:40 — Сборка приложения
21:01:07 — Финал
📚 Код к курсу найдёте тут
Книга по основам DART и описание вот тут
#dart #flutter #madteacher #tutorial #курс #21час #программирование #обучение #FlutterPulse
🔥 21 ЧАС мощного видеокурса от MAD Teacher уже на YouTube! Это абсолютный маст-хэв для всех, кто хочет с нуля освоить Dart и уверенно шагнуть в мир Flutter.
📺 СМОТРЕТЬ КУРС:
👉 https://www.youtube.com/watch?v=Na_Qjvx8piI
💡 Что внутри:
Ты пройдёшь путь от установки и настройки окружения до продвинутого сетевого и асинхронного программирования. Рассмотрены все типы данных, функции, замыкания, ООП, файлы, JSON, Future, Stream, Isolate, TCP, HTTP и ещё много чего!
📌 Таймкоды главных тем (прямые ссылки):
🔧 Установка и типы данных:
00:00 — Вводное слово
01:00 — Установка Dart
11:13 — int, double
29:20 — bool
49:15 — String
01:25:10 — List
02:14:25 — Map
02:36:44 — Set
02:54:10 — Record
⚙️ Управление потоком, функции:
04:27:05 — if-else
05:05:10 — switch, pattern matching
06:26:57 — Функции
07:33:03 — Замыкания
08:47:02 — Классы
🏗 ООП и расширения:
10:27:06 — Наследование и полиморфизм
11:52:15 — Sealed классы
12:30:29 — Extension methods
13:00:46 — Generics
13:36:58 — Обработка исключений
📂 Работа с файлами, сетью и асинхронностью:
14:05:20 — Работа с файлами
15:24:58 — JSON и кодогенерация
16:00:10 — Future
16:59:10 — Stream
18:11:47 — Isolate
19:04:17 — TCP/UDP/HTTP
🚀 Завершение и сборка:
20:06:40 — Сборка приложения
21:01:07 — Финал
📚 Код к курсу найдёте тут
Книга по основам DART и описание вот тут
#dart #flutter #madteacher #tutorial #курс #21час #программирование #обучение #FlutterPulse
Новые пакеты за неделю
cep_fetcher
Получайте данные об адресе по почтовому индексу (CEP) с помощью этого пакета, который использует несколько API для обеспечения максимальной доступности данных.
👍 Лайки: 12, 📥 Скачиваний: 286
Узнайте больше: https://pub.dev/packages/cep_fetcher
appdraft_plugin
Пакет для продвинутого управления и распространения обновлений приложений.
👍 Лайки: 2, 📥 Скачиваний: 324
Подробнее: https://pub.dev/packages/appdraft_plugin
vietqr_core
Пакет для работы с VietQR-кодами теперь доступен!
Этот пакет позволяет кодировать и декодировать данные VietQR в соответствии со стандартом EMVCo. Поддерживает более 18 банков Вьетнама.
👍 Лайки: 9, 📥 Скачиваний: 202
Узнать больше: https://pub.dev/packages/vietqr_core
card_stack_swiper
Этот пакет позволяет создавать стек-карточки с возможностью свайпа в любом направлении. Поддерживает Android и iOS.
👍 Лайки: 9, 📥 Скачиваний: 107
Узнать больше: https://pub.dev/packages/card_stack_swiper
dot_face_core
Этот плагин предоставляет компоненты для захвата лица и связанных функций, которые легко интегрируются в проекты Flutter.
👍 Лайки: 1, 📥 Скачиваний: 342
Узнать больше: https://pub.dev/packages/dot_face_core
video_view
Он поддерживает субтитры и переключение аудиодорожек, а также использует системные или приложенные компоненты для бесшовного воспроизведения.
👍 Лайки: 2, 📥 Скачиваний: 871
Подробнее: https://pub.dev/packages/video_view
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #cep_fetcher #appdraft_plugin #vietqr_core #card_stack_swiper #dot_face_core #video_view
cep_fetcher
Получайте данные об адресе по почтовому индексу (CEP) с помощью этого пакета, который использует несколько API для обеспечения максимальной доступности данных.
👍 Лайки: 12, 📥 Скачиваний: 286
Узнайте больше: https://pub.dev/packages/cep_fetcher
appdraft_plugin
Пакет для продвинутого управления и распространения обновлений приложений.
👍 Лайки: 2, 📥 Скачиваний: 324
Подробнее: https://pub.dev/packages/appdraft_plugin
vietqr_core
Пакет для работы с VietQR-кодами теперь доступен!
Этот пакет позволяет кодировать и декодировать данные VietQR в соответствии со стандартом EMVCo. Поддерживает более 18 банков Вьетнама.
👍 Лайки: 9, 📥 Скачиваний: 202
Узнать больше: https://pub.dev/packages/vietqr_core
card_stack_swiper
Этот пакет позволяет создавать стек-карточки с возможностью свайпа в любом направлении. Поддерживает Android и iOS.
👍 Лайки: 9, 📥 Скачиваний: 107
Узнать больше: https://pub.dev/packages/card_stack_swiper
dot_face_core
Этот плагин предоставляет компоненты для захвата лица и связанных функций, которые легко интегрируются в проекты Flutter.
👍 Лайки: 1, 📥 Скачиваний: 342
Узнать больше: https://pub.dev/packages/dot_face_core
video_view
Он поддерживает субтитры и переключение аудиодорожек, а также использует системные или приложенные компоненты для бесшовного воспроизведения.
👍 Лайки: 2, 📥 Скачиваний: 871
Подробнее: https://pub.dev/packages/video_view
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestNewPackages #cep_fetcher #appdraft_plugin #vietqr_core #card_stack_swiper #dot_face_core #video_view
Самые лучшие обновлённые пакеты за последние 24 часа
flame 0.1.0 - игровой движок на основе Flutter, добавлены базовые утилиты.
👍 Лайки: 2190, 📥 Скачиваний: 79.2К
https://pub.dev/packages/flame
video_player_avfoundation 2.7.2 - использует CADisplayLink на macOS 14.0+, обновлена минимальная версия SDK до Flutter 3.27/Dart 3.6 и улучшен native код для тестирования.
👍 Лайки: 8, 📥 Скачиваний: 2.7М
https://pub.dev/packages/video_player_avfoundation
google_maps_flutter_android 2.16.2 - используется для интеграции Google Maps в Android-приложения, написанные на Flutter. Удалена документация, связанная с выбором рендера карты.
👍 Лайки: 15, 📥 Скачиваний: 722К
https://pub.dev/packages/google_maps_flutter_android
rename_app 1.6.5 - позволяет изменить название приложения для всех платформ с помощью одной команды. Обновлена документация.
👍 Лайки: 264, 📥 Скачиваний: 14.9К
https://pub.dev/packages/rename_app
Chewie 1.12.1 - используется для создания видеоплеера в приложениях Flutter с дружественным интерфейсом Material или Cupertino. Исправлена ошибка с масштабированием и перемещением видео.
👍 Лайки: 2240, 📥 Скачиваний: 708К
https://pub.dev/packages/chewie
stream_chat_flutter 9.13.0 - используется для создания чат-приложений в Flutter. Исправлены ошибки с отображением даты в FloatingDateDivider и кнопкой ScrollToBottom.
👍 Лайки: 373, 📥 Скачиваний: 15.5К
https://pub.dev/packages/stream_chat_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flame #video_player_avfoundation #google_maps_flutter_android #rename_app #Chewie #stream_chat_flutter
flame 0.1.0 - игровой движок на основе Flutter, добавлены базовые утилиты.
👍 Лайки: 2190, 📥 Скачиваний: 79.2К
https://pub.dev/packages/flame
video_player_avfoundation 2.7.2 - использует CADisplayLink на macOS 14.0+, обновлена минимальная версия SDK до Flutter 3.27/Dart 3.6 и улучшен native код для тестирования.
👍 Лайки: 8, 📥 Скачиваний: 2.7М
https://pub.dev/packages/video_player_avfoundation
google_maps_flutter_android 2.16.2 - используется для интеграции Google Maps в Android-приложения, написанные на Flutter. Удалена документация, связанная с выбором рендера карты.
👍 Лайки: 15, 📥 Скачиваний: 722К
https://pub.dev/packages/google_maps_flutter_android
rename_app 1.6.5 - позволяет изменить название приложения для всех платформ с помощью одной команды. Обновлена документация.
👍 Лайки: 264, 📥 Скачиваний: 14.9К
https://pub.dev/packages/rename_app
Chewie 1.12.1 - используется для создания видеоплеера в приложениях Flutter с дружественным интерфейсом Material или Cupertino. Исправлена ошибка с масштабированием и перемещением видео.
👍 Лайки: 2240, 📥 Скачиваний: 708К
https://pub.dev/packages/chewie
stream_chat_flutter 9.13.0 - используется для создания чат-приложений в Flutter. Исправлены ошибки с отображением даты в FloatingDateDivider и кнопкой ScrollToBottom.
👍 Лайки: 373, 📥 Скачиваний: 15.5К
https://pub.dev/packages/stream_chat_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flame #video_player_avfoundation #google_maps_flutter_android #rename_app #Chewie #stream_chat_flutter
🚀 Глубокое погружение в хранение данных во Flutter: от Shared Preferences до ObjectBox!
Привет, Flutter-энтузиасты! Сегодня у нас суперполезное видео, которое точно стоит вашего внимания. Речь о надежном хранении данных — ключевом аспекте для любого приложения. Лектор Дмитрий (Яндекс Pro) на примере MoodTracker++ разбирает все тонкости Persistence.
🔥 Что внутри?
👉 Основные подходы:
- Shared Preferences для простых настроек (тема, счетчики).
- Secure Storage для токенов и паролей (аппаратное шифрование!).
- Работа с файлами (фото, CSV-экспорт) через
- NoSQL: ObjectBox и Realm для сложных объектов.
- SQL-решения: Drift с миграциями и транзакциями.
- Облака: Firebase и Supabase для синхронизации.
💡 Фишки:
- Как выбрать инструмент под задачу?
- Тестирование хранилищ: моки, подмена путей.
- Offline-first архитектура: чтобы приложение не «забывало» данные.
- GDPR-совместимость: очистка данных по запросу.
📌 Практика:
На примере MoodTracker++ вы увидите:
- Сохранение настроек, записей, фото.
- Экспорт статистики в CSV.
- Синхронизацию между устройствами.
👉 Смотрите запись лекции с живыми примерами кода и лайфхаками от эксперта:
Хранение данных (Persistence) — ШМР Flutter 2025
💬 «Если приложение не хранит данные — оно как кот, который всё забывает. Наша цель — чтобы пользователь чувствовал заботу!» (Дмитрий, Яндекс Pro)
🔔 Подписывайтесь на Flutter Pulse — каждый день актуальные туториалы, кейсы и новости! Ищите другие видео по хэштегу#FlutterPulseYoutube .
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Привет, Flutter-энтузиасты! Сегодня у нас суперполезное видео, которое точно стоит вашего внимания. Речь о надежном хранении данных — ключевом аспекте для любого приложения. Лектор Дмитрий (Яндекс Pro) на примере MoodTracker++ разбирает все тонкости Persistence.
🔥 Что внутри?
👉 Основные подходы:
- Shared Preferences для простых настроек (тема, счетчики).
- Secure Storage для токенов и паролей (аппаратное шифрование!).
- Работа с файлами (фото, CSV-экспорт) через
path_provider
.- NoSQL: ObjectBox и Realm для сложных объектов.
- SQL-решения: Drift с миграциями и транзакциями.
- Облака: Firebase и Supabase для синхронизации.
💡 Фишки:
- Как выбрать инструмент под задачу?
- Тестирование хранилищ: моки, подмена путей.
- Offline-first архитектура: чтобы приложение не «забывало» данные.
- GDPR-совместимость: очистка данных по запросу.
📌 Практика:
На примере MoodTracker++ вы увидите:
- Сохранение настроек, записей, фото.
- Экспорт статистики в CSV.
- Синхронизацию между устройствами.
👉 Смотрите запись лекции с живыми примерами кода и лайфхаками от эксперта:
Хранение данных (Persistence) — ШМР Flutter 2025
💬 «Если приложение не хранит данные — оно как кот, который всё забывает. Наша цель — чтобы пользователь чувствовал заботу!» (Дмитрий, Яндекс Pro)
🔔 Подписывайтесь на Flutter Pulse — каждый день актуальные туториалы, кейсы и новости! Ищите другие видео по хэштегу
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Технический дизайн - это важнейший этап в разработке любого проекта, особенно когда речь идет о создании сложных приложений с использованием Flutter и Dart! 🚀💻
В нашей новой статье "Этапы технического дизайна на примере Flutter" мы расскажем, как с помощью технического дизайна ускорить разработку и обеспечить проект качественной документацией 📝💡.
Узнайте, как правильно спланировать свой проект, чтобы снизить количество ошибок, сэкономить время и повысить качество кода 🕒💻.
Читайте полную статью на нашем сайте и откройте для себя новые возможности с Flutter и FlutterPulse! 📚👉 читать здесь #flutter #dart #flutterpulse 💻📈
В нашей новой статье "Этапы технического дизайна на примере Flutter" мы расскажем, как с помощью технического дизайна ускорить разработку и обеспечить проект качественной документацией 📝💡.
Узнайте, как правильно спланировать свой проект, чтобы снизить количество ошибок, сэкономить время и повысить качество кода 🕒💻.
Читайте полную статью на нашем сайте и откройте для себя новые возможности с Flutter и FlutterPulse! 📚👉 читать здесь #flutter #dart #flutterpulse 💻📈
Flutter Canvas: что делают canvas.save() и canvas.restore()?
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим важный аспект работы с Canvas во Flutter - методы save() и restore(). Эти методы крайне полезны при создании сложных графических элементов и анимаций. 🔍
Когда вы работаете с Canvas, вы часто выполняете различные трансформации, такие как вращение, масштабирование или перемещение. Эти трансформации изменяют текущее состояние Canvas, и иногда вам нужно временно сохранить это состояние, чтобы позже вернуться к нему. Именно здесь на помощь приходят save() и restore(). 🔄
canvas.save() сохраняет текущее состояние Canvas, включая все примененные трансформации и настройки отрисовки. Это позволяет вам временно изменить состояние Canvas, выполнив необходимые операции, а затем вернуться к сохраненному состоянию с помощью canvas.restore().
Рассмотрим пример кода:
В этом примере мы сохраняем текущее состояние Canvas перед тем, как переместиться в центр экрана. После выполнения необходимых операций мы восстанавливаем сохраненное состояние, возвращая Canvas в исходное положение.
Использование save() и restore() позволяет вам создавать сложные графические элементы, сохраняя чистоту и управляемость кода. 💻
Оцените нашу новую рубрику и оставьте свои комментарии! 💬 Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами и трюками! 😉
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CanvasTips #FlutterTips #ProgrammingTips
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим важный аспект работы с Canvas во Flutter - методы save() и restore(). Эти методы крайне полезны при создании сложных графических элементов и анимаций. 🔍
Когда вы работаете с Canvas, вы часто выполняете различные трансформации, такие как вращение, масштабирование или перемещение. Эти трансформации изменяют текущее состояние Canvas, и иногда вам нужно временно сохранить это состояние, чтобы позже вернуться к нему. Именно здесь на помощь приходят save() и restore(). 🔄
canvas.save() сохраняет текущее состояние Canvas, включая все примененные трансформации и настройки отрисовки. Это позволяет вам временно изменить состояние Canvas, выполнив необходимые операции, а затем вернуться к сохраненному состоянию с помощью canvas.restore().
Рассмотрим пример кода:
class WorldPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
canvas.save(); // сохраняем текущее положение
canvas.translate(size.width/2, size.height/2); // перемещаемся в центр
...
canvas.drawLine(Offset(0, 0), model.offset, whitePainter); // выполняем необходимые действия
canvas.restore(); // сбрасываем до последнего сохраненного положения
}
}
В этом примере мы сохраняем текущее состояние Canvas перед тем, как переместиться в центр экрана. После выполнения необходимых операций мы восстанавливаем сохраненное состояние, возвращая Canvas в исходное положение.
Использование save() и restore() позволяет вам создавать сложные графические элементы, сохраняя чистоту и управляемость кода. 💻
Оцените нашу новую рубрику и оставьте свои комментарии! 💬 Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами и трюками! 😉
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #CanvasTips #FlutterTips #ProgrammingTips
Обзор пакетов на тему "Домашний экран, иконка приложения и имя" 📱
Icons Launcher 🚀
Пакет для обновления иконок Flutter-приложения на всех основных платформах.
✨ 898 лайков, 📦 270К скачиваний
Версия: 3.0.1
Последнее обновление: 3 месяца назад
https://pub.dev/packages/icons_launcher
Change App Package Name 📈
Пакет для изменения имени пакета Flutter-приложения с помощью одной команды.
✨ 1830 лайков, 📦 98К скачиваний
Версия: 1.5.0
Последнее обновление: 4 месяца назад
https://pub.dev/packages/change_app_package_name
Home Widget 📊
Пакет для создания виджетов на домашнем экране Android и iOS.
✨ 1980 лайков, 📦 28К скачиваний
Версия: 0.8.0
Последнее обновление: 36 дней назад
https://pub.dev/packages/home_widget
live_activities 📱
Пакет для создания живых уведомлений и использования функции Dynamic Island на iPhone.
✨ 518 лайков, 📦 10К скачиваний
Версия: 2.4.1
Последнее обновление: 13 дней назад
https://pub.dev/packages/live_activities
Flutter Launcher Icons 📈
Пакет для обновления иконки запуска Flutter-приложения на различных платформах.
✨ 7670 лайков, 📦 1.63М скачиваний
Версия: 0.14.4
Последнее обновление: 20 дней назад
https://pub.dev/packages/flutter_launcher_icons
Rename CLI Tool 📊
Утилита для переименования проектов Flutter на различных платформах.
✨ 1240 лайков, 📦 34.9К скачиваний
Версия: 3.1.0
Последнее обновление: 55 дней назад
https://pub.dev/packages/rename
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #IconsLauncher #ChangeAppPackageName #HomeWidget #live_activities #FlutterLauncherIcons #RenameCLITool
Icons Launcher 🚀
Пакет для обновления иконок Flutter-приложения на всех основных платформах.
✨ 898 лайков, 📦 270К скачиваний
Версия: 3.0.1
Последнее обновление: 3 месяца назад
https://pub.dev/packages/icons_launcher
Change App Package Name 📈
Пакет для изменения имени пакета Flutter-приложения с помощью одной команды.
✨ 1830 лайков, 📦 98К скачиваний
Версия: 1.5.0
Последнее обновление: 4 месяца назад
https://pub.dev/packages/change_app_package_name
Home Widget 📊
Пакет для создания виджетов на домашнем экране Android и iOS.
✨ 1980 лайков, 📦 28К скачиваний
Версия: 0.8.0
Последнее обновление: 36 дней назад
https://pub.dev/packages/home_widget
live_activities 📱
Пакет для создания живых уведомлений и использования функции Dynamic Island на iPhone.
✨ 518 лайков, 📦 10К скачиваний
Версия: 2.4.1
Последнее обновление: 13 дней назад
https://pub.dev/packages/live_activities
Flutter Launcher Icons 📈
Пакет для обновления иконки запуска Flutter-приложения на различных платформах.
✨ 7670 лайков, 📦 1.63М скачиваний
Версия: 0.14.4
Последнее обновление: 20 дней назад
https://pub.dev/packages/flutter_launcher_icons
Rename CLI Tool 📊
Утилита для переименования проектов Flutter на различных платформах.
✨ 1240 лайков, 📦 34.9К скачиваний
Версия: 3.1.0
Последнее обновление: 55 дней назад
https://pub.dev/packages/rename
#flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages #IconsLauncher #ChangeAppPackageName #HomeWidget #live_activities #FlutterLauncherIcons #RenameCLITool
Самые лучшие обновлённые пакеты за последние 24 часа
firebase_auth 5.6.1
Плагин для аутентификации в Firebase при разработке приложений на Flutter. Убраны устаревшие зависимости.
👍 Лайки: 4150, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_auth
firebase_messaging 15.2.8
Плагин для интеграции Firebase Cloud Messaging в приложения Flutter. Убрана устаревшая зависимость.
👍 Лайки: 3790, 📥 Скачиваний: 1.6M
https://pub.dev/packages/firebase_messaging
_flutterfire_internals 1.3.57
Пакет содержит общий Dart-код для плагинов FlutterFire и не предназначен для публичного использования.
В обновлении была обновлена зависимость до последнего релиза.
👍 Лайки: 3, 📥 Скачиваний: 2.6M
https://pub.dev/packages/_flutterfire_internals
firebase_core 3.15.0
Пакет с обновленными SDK для iOS и Android.
👍 Лайки: 3890, 📥 Скачиваний: 2.7M
https://pub.dev/packages/firebase_core
firebase_core_web 2.24.0
Пакет включает обновление JS SDK до версии 11.9.1.
👍 Лайки: 53, 📥 Скачиваний: 2.6M
https://pub.dev/packages/firebase_core_web
go_router 16.0.0
Пакет для декларативного маршрутизации в Flutter, предоставляя удобный, основанный на URL, API для навигации между разными экранами.
В новой версии исправлены ошибки, связанные с регистром URL, обновлена документация по типобезопасным маршрутам и добавлены новые методы для типобезопасной навигации.
👍 Лайки: 5340, 📥 Скачиваний: 1.8M
https://pub.dev/packages/go_router
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_auth #firebase_messaging #_flutterfire_internals #firebase_core #firebase_core_web #go_router
firebase_auth 5.6.1
Плагин для аутентификации в Firebase при разработке приложений на Flutter. Убраны устаревшие зависимости.
👍 Лайки: 4150, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_auth
firebase_messaging 15.2.8
Плагин для интеграции Firebase Cloud Messaging в приложения Flutter. Убрана устаревшая зависимость.
👍 Лайки: 3790, 📥 Скачиваний: 1.6M
https://pub.dev/packages/firebase_messaging
_flutterfire_internals 1.3.57
Пакет содержит общий Dart-код для плагинов FlutterFire и не предназначен для публичного использования.
В обновлении была обновлена зависимость до последнего релиза.
👍 Лайки: 3, 📥 Скачиваний: 2.6M
https://pub.dev/packages/_flutterfire_internals
firebase_core 3.15.0
Пакет с обновленными SDK для iOS и Android.
👍 Лайки: 3890, 📥 Скачиваний: 2.7M
https://pub.dev/packages/firebase_core
firebase_core_web 2.24.0
Пакет включает обновление JS SDK до версии 11.9.1.
👍 Лайки: 53, 📥 Скачиваний: 2.6M
https://pub.dev/packages/firebase_core_web
go_router 16.0.0
Пакет для декларативного маршрутизации в Flutter, предоставляя удобный, основанный на URL, API для навигации между разными экранами.
В новой версии исправлены ошибки, связанные с регистром URL, обновлена документация по типобезопасным маршрутам и добавлены новые методы для типобезопасной навигации.
👍 Лайки: 5340, 📥 Скачиваний: 1.8M
https://pub.dev/packages/go_router
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_auth #firebase_messaging #_flutterfire_internals #firebase_core #firebase_core_web #go_router
🚀 Build and Release — ШМР Flutter 2025: Глубокий разбор CI/CD и релиза!
Привет, Flutter-энтузиасты! 👋 Только что наткнулся на 🔥 суперполезное видео от Никиты (разработчика в команде Яндекс.ПРО), которое просто нельзя пропустить! Если вы хоть раз задавались вопросами о CI/CD, сборке приложений или релизе в сторы — это для вас.
👉 Смотреть видео здесь 👈
📌 В лекции разобрано:
🔹 Что такое CI/CD и зачем это нужно
🔹 Настройка пайплайна в GitHub Actions для Flutter
🔹 Магия Flavors (таргеты, dart-define)
🔹 Подписание приложений для Android/iOS
🔹 Публикация в Google Play и App Store
🔹 Как ваш код превращается в артефакт: от
💡 Никита объясняет сложные вещи простым языком: ошибки сборки, кэширование, branch protection, Firebase Distribution — всё с реальными примерами. А ещё — ответы на вопросы зрителей!
✨ Почему стоит посмотреть?
- Узнаете, как автоматизировать рутину и экономить время ⏳
- Поймёте, как избежать "ад зависимостей" в Gradle/CocoaPods
- Научитесь настраивать тришейкинг для уменьшения размера приложения
- Увидите разбор частых ошибок сборки (+ фиксы!)
🔔 Не забудьте подписаться на наш канал — здесь мы регулярно делимся такими находками! Ищите другие полезные ролики по хэштегу 👇
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
P.S. Видео длинное (2+ часа), но оно того стоит — сохраняйте в закладки и пересматривайте сложные моменты!
Привет, Flutter-энтузиасты! 👋 Только что наткнулся на 🔥 суперполезное видео от Никиты (разработчика в команде Яндекс.ПРО), которое просто нельзя пропустить! Если вы хоть раз задавались вопросами о CI/CD, сборке приложений или релизе в сторы — это для вас.
👉 Смотреть видео здесь 👈
📌 В лекции разобрано:
🔹 Что такое CI/CD и зачем это нужно
🔹 Настройка пайплайна в GitHub Actions для Flutter
🔹 Магия Flavors (таргеты, dart-define)
🔹 Подписание приложений для Android/iOS
🔹 Публикация в Google Play и App Store
🔹 Как ваш код превращается в артефакт: от
flutter build
до запуска! 💡 Никита объясняет сложные вещи простым языком: ошибки сборки, кэширование, branch protection, Firebase Distribution — всё с реальными примерами. А ещё — ответы на вопросы зрителей!
✨ Почему стоит посмотреть?
- Узнаете, как автоматизировать рутину и экономить время ⏳
- Поймёте, как избежать "ад зависимостей" в Gradle/CocoaPods
- Научитесь настраивать тришейкинг для уменьшения размера приложения
- Увидите разбор частых ошибок сборки (+ фиксы!)
🔔 Не забудьте подписаться на наш канал — здесь мы регулярно делимся такими находками! Ищите другие полезные ролики по хэштегу 👇
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
P.S. Видео длинное (2+ часа), но оно того стоит — сохраняйте в закладки и пересматривайте сложные моменты!
Работа с формами во Flutter 📝💻!
Узнайте, как эффективно работать с формами в своих приложениях и избежать распространенных ошибок 🤔.
В статье мы рассмотрим Flutter и Dart, и как они могут помочь в создании форм 📊.
Также вы узнаете, как работать с формами, создавать кастомные поля и проверять на изменения перед выходом 📝.
И самое интересное: как работать с формами во Flutter без использования TextEditingController и как правильно тестировать формы 📊.
FlutterPulse поможет вам разобраться в проблемах работы с формами в Flutter и о том, как популярные инструменты могут упростить процесс разработки и повысить производительность 🚀.
Читать здесь: https://habr.com/ru/articles/922846/
#flutter #dart #flutterpulse 📈💻
Узнайте, как эффективно работать с формами в своих приложениях и избежать распространенных ошибок 🤔.
В статье мы рассмотрим Flutter и Dart, и как они могут помочь в создании форм 📊.
Также вы узнаете, как работать с формами, создавать кастомные поля и проверять на изменения перед выходом 📝.
И самое интересное: как работать с формами во Flutter без использования TextEditingController и как правильно тестировать формы 📊.
FlutterPulse поможет вам разобраться в проблемах работы с формами в Flutter и о том, как популярные инструменты могут упростить процесс разработки и повысить производительность 🚀.
Читать здесь: https://habr.com/ru/articles/922846/
#flutter #dart #flutterpulse 📈💻
Canvas с GestureDetector: обработка событий только в пределах радиуса
Привет, Flutter-разработчики! 👋 Сегодня мы поделимся с вами полезным советом о том, как использовать GestureDetector с CustomPaint для обработки жестов только в определенной области. 📱💡
Вы когда-нибудь сталкивались с ситуацией, когда ваш CustomPaint должен реагировать на жесты только в определенной области? Например, вам нужно, чтобы нажатие обрабатывалось только если оно произошло в пределах определенного радиуса вокруг объекта? 🔍
Для этого можно использовать метод
Затем оберните ваш CustomPaint в GestureDetector:
Таким образом, событие нажатия будет обрабатываться только если оно произошло в пределах заданного радиуса. 🔝
Оцените нашу новую рубрику и оставьте свои комментарии! 💬 Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. 👉 #flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #UIUX #FlutterTips #CodingTips #AppDevelopment
Привет, Flutter-разработчики! 👋 Сегодня мы поделимся с вами полезным советом о том, как использовать GestureDetector с CustomPaint для обработки жестов только в определенной области. 📱💡
Вы когда-нибудь сталкивались с ситуацией, когда ваш CustomPaint должен реагировать на жесты только в определенной области? Например, вам нужно, чтобы нажатие обрабатывалось только если оно произошло в пределах определенного радиуса вокруг объекта? 🔍
Для этого можно использовать метод
hitTest
в вашем CustomPainter. Вот пример кода:
class WorldPainter extends CustomPainter {
...
bool hitTest(Offset position) {
// вычисляем расстояние от позиции до нужной точки
var distance = position.distanceTo(this.location);
// возвращаем true, если расстояние меньше радиуса обнаружения
return distance < detectionRadius;
}
...
}
Затем оберните ваш CustomPaint в GestureDetector:
class MyPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () => print("do what you want"), // действие при нажатии
child: CustomPaint(
size: Size.infinite, // размер canvas
painter: WorldPainter(), // ваш кастомный painter
),
);
}
}
Таким образом, событие нажатия будет обрабатываться только если оно произошло в пределах заданного радиуса. 🔝
Оцените нашу новую рубрику и оставьте свои комментарии! 💬 Все подобные новости вы можете найти по хэштегу #FlutterPulseTips. 👉 #flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #UIUX #FlutterTips #CodingTips #AppDevelopment
Обзор пакетов на тему HTML, CSS & SASS
linkcheck 3.1.0 📈
linkcheck - это быстрый и удобный инструмент для проверки ссылок на вашем сайте. Он может обнаруживать проблемы с ссылками, проверять внешние ссылки и многое другое.
👍 Лайки: 15, 📥 Скачиваний: 5.9К
Последнее обновление 📅: 21 день назад
https://pub.dev/packages/linkcheck
Dart Sass 1.89.2 🎉
Dart Sass - это реализация Sass на языке Dart, позволяющая сделать CSS более интересным и удобным в использовании.
👍 Лайки: 19, 📥 Скачиваний: 167К
Последнее обновление 📅: 22 дня назад
https://pub.dev/packages/sass
csslib 1.0.2 📊
Парсит CSS-код и преобразует его в удобный для работы формат.
👍 Лайки: 57, 📥 Скачиваний: 7.1М
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/csslib
html 0.15.6 📄
Парсинг HTML теперь стал проще! Этот пакет позволяет легко обрабатывать HTML-документы и фрагменты.
👍 Лайки: 629, 📥 Скачиваний: 6.4М
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/html
Html Editor Enhanced 2.7.0 📝
Пакет Html Editor Enhanced - это текстовый редактор для Android, iOS и Web, который позволяет писать WYSIWYG HTML-код с помощью обертки JavaScript Summernote.
👍 Лайки: 626, 📥 Скачиваний: 31.6К
Последнее обновление 📅: 17 дней назад
https://pub.dev/packages/html_editor_enhanced
HTMLtoPDFWidgets 1.1.0 📄
Преобразуйте HTML и Markdown контент в PDF документы с поддержкой различных форматов Rich Text Editor.
👍 Лайки: 61, 📥 Скачиваний: 11.8К
Последнее обновление 📅: 37 дней назад
https://pub.dev/packages/htmltopdfwidgets
#linkcheck #DartSass #csslib #html #HtmlEditorEnhanced #HTMLtoPDFWidgets #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
linkcheck 3.1.0 📈
linkcheck - это быстрый и удобный инструмент для проверки ссылок на вашем сайте. Он может обнаруживать проблемы с ссылками, проверять внешние ссылки и многое другое.
👍 Лайки: 15, 📥 Скачиваний: 5.9К
Последнее обновление 📅: 21 день назад
https://pub.dev/packages/linkcheck
Dart Sass 1.89.2 🎉
Dart Sass - это реализация Sass на языке Dart, позволяющая сделать CSS более интересным и удобным в использовании.
👍 Лайки: 19, 📥 Скачиваний: 167К
Последнее обновление 📅: 22 дня назад
https://pub.dev/packages/sass
csslib 1.0.2 📊
Парсит CSS-код и преобразует его в удобный для работы формат.
👍 Лайки: 57, 📥 Скачиваний: 7.1М
Последнее обновление 📅: 8 месяцев назад
https://pub.dev/packages/csslib
html 0.15.6 📄
Парсинг HTML теперь стал проще! Этот пакет позволяет легко обрабатывать HTML-документы и фрагменты.
👍 Лайки: 629, 📥 Скачиваний: 6.4М
Последнее обновление 📅: 2 месяца назад
https://pub.dev/packages/html
Html Editor Enhanced 2.7.0 📝
Пакет Html Editor Enhanced - это текстовый редактор для Android, iOS и Web, который позволяет писать WYSIWYG HTML-код с помощью обертки JavaScript Summernote.
👍 Лайки: 626, 📥 Скачиваний: 31.6К
Последнее обновление 📅: 17 дней назад
https://pub.dev/packages/html_editor_enhanced
HTMLtoPDFWidgets 1.1.0 📄
Преобразуйте HTML и Markdown контент в PDF документы с поддержкой различных форматов Rich Text Editor.
👍 Лайки: 61, 📥 Скачиваний: 11.8К
Последнее обновление 📅: 37 дней назад
https://pub.dev/packages/htmltopdfwidgets
#linkcheck #DartSass #csslib #html #HtmlEditorEnhanced #HTMLtoPDFWidgets #flutter #dart #pubdev #flutterpulse #flutterpulsethemedpackages
Самые лучшие обновлённые пакеты за последние 24 часа
skeletonizer 2.1.0
Плагин для создания скелетных загрузок в приложениях, что улучшает пользовательский опыт во время загрузки контента. В новой версии добавлена поддержка RoundedSuperellipseBorder через TextBoneBorderShape в TextBoneBorderRadius.
👍 Лайки: 1870, 📥 Скачиваний: 261К
https://pub.dev/packages/skeletonizer
analyzer 7.5.4
Пакет для статического анализа кода на языке Dart и полезен для интеграции с инструментами и встраивания в редакторы.
В новой версии были устарены интерфейсы PromotableFragment и PromotableElement, которые являются внутренними деталями реализации.
👍 Лайки: 288, 📥 Скачиваний: 11.9М
https://pub.dev/packages/analyzer
syncfusion_flutter_pdfviewer 30.1.38
Плагин для просмотра PDF-документов на платформах Android, iOS, Web, Windows и macOS. В новой версии добавлена поддержка Linux, улучшена работа с формами и исправлены ошибки.
👍 Лайки: 1070, 📥 Скачиваний: 180К
https://pub.dev/packages/syncfusion_flutter_pdfviewer
freezed 3.1.0
Пакет для генерации кода для данных классов, помеченных объединений, вложенных классов и клонирования в Dart.
В новой версии 3.1.0 добавлены методы `when` и `map`, а также удалена необходимость писать `// dart format width=80` в сгенерированных файлах.
👍 Лайки: 4270, 📥 Скачиваний: 1.85М
https://pub.dev/packages/freezed
geolocator 14.0.2
Плагин для Flutter, который предоставляет легкий доступ к сервисам геолокации на платформах Android и iOS. Он позволяет получать последнее известное местоположение, текущее местоположение устройства, непрерывные обновления местоположения и многое другое.
В новой версии 14.0.2 добавлена секция о UIBackgroundModes в README и добавлена поддержка платформы Linux в pubspec.
👍 Лайки: 5870, 📥 Скачиваний: 1.11М
https://pub.dev/packages/geolocator
freezed_annotation 3.1.0
Теперь доступны when и map back.
👍 Лайки: 497, 📥 Скачиваний: 3.76М
https://pub.dev/packages/freezed_annotation
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #skeletonizer #analyzer #syncfusion_flutter_pdfviewer #freezed #geolocator #freezed_annotation
skeletonizer 2.1.0
Плагин для создания скелетных загрузок в приложениях, что улучшает пользовательский опыт во время загрузки контента. В новой версии добавлена поддержка RoundedSuperellipseBorder через TextBoneBorderShape в TextBoneBorderRadius.
👍 Лайки: 1870, 📥 Скачиваний: 261К
https://pub.dev/packages/skeletonizer
analyzer 7.5.4
Пакет для статического анализа кода на языке Dart и полезен для интеграции с инструментами и встраивания в редакторы.
В новой версии были устарены интерфейсы PromotableFragment и PromotableElement, которые являются внутренними деталями реализации.
👍 Лайки: 288, 📥 Скачиваний: 11.9М
https://pub.dev/packages/analyzer
syncfusion_flutter_pdfviewer 30.1.38
Плагин для просмотра PDF-документов на платформах Android, iOS, Web, Windows и macOS. В новой версии добавлена поддержка Linux, улучшена работа с формами и исправлены ошибки.
👍 Лайки: 1070, 📥 Скачиваний: 180К
https://pub.dev/packages/syncfusion_flutter_pdfviewer
freezed 3.1.0
Пакет для генерации кода для данных классов, помеченных объединений, вложенных классов и клонирования в Dart.
В новой версии 3.1.0 добавлены методы `when` и `map`, а также удалена необходимость писать `// dart format width=80` в сгенерированных файлах.
👍 Лайки: 4270, 📥 Скачиваний: 1.85М
https://pub.dev/packages/freezed
geolocator 14.0.2
Плагин для Flutter, который предоставляет легкий доступ к сервисам геолокации на платформах Android и iOS. Он позволяет получать последнее известное местоположение, текущее местоположение устройства, непрерывные обновления местоположения и многое другое.
В новой версии 14.0.2 добавлена секция о UIBackgroundModes в README и добавлена поддержка платформы Linux в pubspec.
👍 Лайки: 5870, 📥 Скачиваний: 1.11М
https://pub.dev/packages/geolocator
freezed_annotation 3.1.0
Теперь доступны when и map back.
👍 Лайки: 497, 📥 Скачиваний: 3.76М
https://pub.dev/packages/freezed_annotation
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #skeletonizer #analyzer #syncfusion_flutter_pdfviewer #freezed #geolocator #freezed_annotation
Вы не поняли extension types в Dart 🤔!
Узнайте, как использовать Extension Types в Dart для обеспечения типобезопасности, абстракции без накладных расходов и семантики взаимодействия с JS 📈.
Прочитайте статью здесь и откройте новые возможности для вашего кода! 🚀
Extension types в Dart - новый способ проектирования абстракций, позволяющий добиться статической типобезопасности без оверхеда в runtime 🕒.
Узнайте, как использовать их для создания более выразительного и безопасного кода 📝.
#flutter #dart #flutterpulse 🚀💻
Узнайте, как использовать Extension Types в Dart для обеспечения типобезопасности, абстракции без накладных расходов и семантики взаимодействия с JS 📈.
Прочитайте статью здесь и откройте новые возможности для вашего кода! 🚀
Extension types в Dart - новый способ проектирования абстракций, позволяющий добиться статической типобезопасности без оверхеда в runtime 🕒.
Узнайте, как использовать их для создания более выразительного и безопасного кода 📝.
#flutter #dart #flutterpulse 🚀💻
🚀 Погружаемся в мир статического анализа Flutter: как сделать код идеальным?
Привет, Flutter-энтузиасты! 👋 Только что наткнулся на 🔥горячее видео от Кости Фидурова (Flutter-разработчик Яндекс Pro), которое перевернёт ваше представление о качестве кода! Если вы хоть раз задумывались о:
🔧 Настройке анализатора
✍️ Создании своих lint-правил
🚫 Борьбе с "ворнингами" в проектах
— это must-watch! 💡
👉 О чём видео?
Костя детально разбирает работу статического анализа в Dart:
✅ Чем анализатор отличается от линтера
✅ Как настроить
✅ Секреты кастомизации правил (даже написали плагин для префикса my_ в реальном времени!)
✅ Практические примеры дебага AST (синтаксических деревьев)
💎 Самые сочные моменты:
✨ Разбор 4 ключевых компонентов анализа: код, анализатор, конфиг, analysis server
✨ Как избежать runtime-ошибок черезstrict-casts
✨ Создание кастомного линт-правила за 40 строк кода!
✨ Фикс типичных ошибок через Quick Fix в IDE
🔗 Смотрите запись лекции:
Анализатор — ШМР Flutter 2025
💬 "Приготовьтесь сделать ваш код чище и профессиональнее!" — обещаю, после просмотра вы:
• Пересмотрите настройки линтинга в своих проектах
• Научитесь ловить баги до запуска приложения
• Сможете создавать правила под специфику команды
👉 Не пропустите! Это глоток свежего воздуха для всех, кто устал от бесконечныхignore: todo в коде.
📌 Подписывайтесь на наш канал, чтобы первыми получать лучшие Flutter-материалы! Ищите другие сокровища по хэштегу: #FlutterPulseYoutube
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Привет, Flutter-энтузиасты! 👋 Только что наткнулся на 🔥горячее видео от Кости Фидурова (Flutter-разработчик Яндекс Pro), которое перевернёт ваше представление о качестве кода! Если вы хоть раз задумывались о:
🔧 Настройке анализатора
✍️ Создании своих lint-правил
🚫 Борьбе с "ворнингами" в проектах
— это must-watch! 💡
👉 О чём видео?
Костя детально разбирает работу статического анализа в Dart:
✅ Чем анализатор отличается от линтера
✅ Как настроить
analysis_options.yaml
под свои нужды ✅ Секреты кастомизации правил (даже написали плагин для префикса my_ в реальном времени!)
✅ Практические примеры дебага AST (синтаксических деревьев)
💎 Самые сочные моменты:
✨ Разбор 4 ключевых компонентов анализа: код, анализатор, конфиг, analysis server
✨ Как избежать runtime-ошибок через
✨ Создание кастомного линт-правила за 40 строк кода!
✨ Фикс типичных ошибок через Quick Fix в IDE
🔗 Смотрите запись лекции:
Анализатор — ШМР Flutter 2025
💬 "Приготовьтесь сделать ваш код чище и профессиональнее!" — обещаю, после просмотра вы:
• Пересмотрите настройки линтинга в своих проектах
• Научитесь ловить баги до запуска приложения
• Сможете создавать правила под специфику команды
👉 Не пропустите! Это глоток свежего воздуха для всех, кто устал от бесконечных
📌 Подписывайтесь на наш канал, чтобы первыми получать лучшие Flutter-материалы! Ищите другие сокровища по хэштегу: #FlutterPulseYoutube
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Имитация вызовов REST API
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим важный аспект тестирования приложений — имитацию вызовов REST API. 📱💻
Имитация вызовов API позволяет тестировать ваше приложение без фактического обращения к серверу, что делает процесс тестирования более быстрым и надежным. ⚡️
Как это работает?
1. Импортируйте пакет
2. Создайте класс
3. Используйте
Таким образом, вы можете легко тестировать ваше приложение, имитируя различные ответы сервера. 🌟
Оцените нашу новую рубрику и оставьте свои комментарии! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #AppTesting #MockingAPI #FlutterTips
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим важный аспект тестирования приложений — имитацию вызовов REST API. 📱💻
Имитация вызовов API позволяет тестировать ваше приложение без фактического обращения к серверу, что делает процесс тестирования более быстрым и надежным. ⚡️
Как это работает?
1. Импортируйте пакет
mocktail
:import 'package:mocktail/mocktail.dart';
2. Создайте класс
HttpClientMock
, который имитирует поведение HttpClient
:class HttpClientMock extends Mock implements HttpClient {}
final httpClientMock = HttpClientMock();
3. Используйте
when
для определения поведения имитированного клиента:when(() => httpClientMock
.get(Uri.parse('myapi/...')))
.thenAnswer((_) async => Response('''
{"id":"testId","route":"myPage"}
''', 200));
Таким образом, вы можете легко тестировать ваше приложение, имитируя различные ответы сервера. 🌟
Оцените нашу новую рубрику и оставьте свои комментарии! 💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #AppTesting #MockingAPI #FlutterTips
2D-скролл во Flutter 🚀💻!
Узнайте, как реализовать двумерный скролл в Flutter без потери производительности 📈!
Новый пакет two_dimensional_scrollables позволяет создавать эффективные двумерные скроллы с помощью виджетов TableView и TreeView 🌟.
Но иногда готовых решений может быть недостаточно, и требуется собственная реализация 2D-скролла для полного контроля над лэйаутом 🤔.
Читайте статью, чтобы узнать, как создать кастомный скролл для сложных интерфейсов и увеличить производительность приложения в 10 раз 🚀!
Узнайте, как использовать TwoDimensionalScrollView для создания двумерных прокручиваемых списков с поддержкой анимации и вложенных списков внутри ячеек 📊.
Эта новая реализация двумерного скролла открывает новые возможности для создания сложных приложений, таких как видеоредакторы 📹!
Читать статью можно здесь 📄.
#flutter #dart #flutterpulse #2Dскролл #производительность #мобильные_приложения #виджеты #TableView #TreeView #TwoDimensionalScrollView 🚀💻
Узнайте, как реализовать двумерный скролл в Flutter без потери производительности 📈!
Новый пакет two_dimensional_scrollables позволяет создавать эффективные двумерные скроллы с помощью виджетов TableView и TreeView 🌟.
Но иногда готовых решений может быть недостаточно, и требуется собственная реализация 2D-скролла для полного контроля над лэйаутом 🤔.
Читайте статью, чтобы узнать, как создать кастомный скролл для сложных интерфейсов и увеличить производительность приложения в 10 раз 🚀!
Узнайте, как использовать TwoDimensionalScrollView для создания двумерных прокручиваемых списков с поддержкой анимации и вложенных списков внутри ячеек 📊.
Эта новая реализация двумерного скролла открывает новые возможности для создания сложных приложений, таких как видеоредакторы 📹!
Читать статью можно здесь 📄.
#flutter #dart #flutterpulse #2Dскролл #производительность #мобильные_приложения #виджеты #TableView #TreeView #TwoDimensionalScrollView 🚀💻