Иван Галкин — Бьем по рукам при помощи своего Dart-линтера
Представляем вашему вниманию видео с конференции Mobius, где Иван Галкин, тимлид и разработчик из компании Surf, рассказывает о том, как создать свой собственный Dart-линтер и улучшить качество кода в вашем проекте.
В этом докладе Иван делится своим опытом и показывает, как можно реализовать кастомный линтер для Dart, какие проблемы он может решить и как его можно использовать для улучшения архитектуры и масштабируемости проекта.
🔹 Основные темы доклада:
👉 Как создать свой собственный Dart-линтер
👉 Как решить проблемы, связанные с архитектурой и масштабируемостью проекта
👉 Как использовать кастомный линтер для улучшения качества кода
📹 Смотреть видео: Youtube, VkVideo
👍 Если вам понравилось видео, подписывайтесь на наш канал и ставьте лайки! #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
👉 Посмотрите другие видео по хэштегу #FlutterPulseYoutube и улучшите свои навыки разработки на Flutter!
Представляем вашему вниманию видео с конференции Mobius, где Иван Галкин, тимлид и разработчик из компании Surf, рассказывает о том, как создать свой собственный Dart-линтер и улучшить качество кода в вашем проекте.
В этом докладе Иван делится своим опытом и показывает, как можно реализовать кастомный линтер для Dart, какие проблемы он может решить и как его можно использовать для улучшения архитектуры и масштабируемости проекта.
🔹 Основные темы доклада:
👉 Как создать свой собственный Dart-линтер
👉 Как решить проблемы, связанные с архитектурой и масштабируемостью проекта
👉 Как использовать кастомный линтер для улучшения качества кода
📹 Смотреть видео: Youtube, VkVideo
👍 Если вам понравилось видео, подписывайтесь на наш канал и ставьте лайки! #Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
👉 Посмотрите другие видео по хэштегу #FlutterPulseYoutube и улучшите свои навыки разработки на Flutter!
👍1
Самые лучшие обновлённые пакеты за последние 24 часа
flutter_sharing_intent 2.0.3
Плагин для Flutter, который позволяет приложениям получать фотографии, видео, текст, URL-адреса и другие типы файлов из других приложений.
В новой версии исправлены проблемы с iOS и обновлены инструкции по настройке.
Лайки: 98, Скачиваний: 5.2К
https://pub.dev/packages/flutter_sharing_intent
Flutter Sound 9.4.10
Пакет для проигрывания и записи аудио в приложениях для iOS, Android и Web. В новой версии исправлены ошибки, добавлены новые функции, такие как поддержка скорости проигрывания и буферизации.
Лайки: 1.6К, Скачиваний: 82.9К
https://pub.dev/packages/flutter_sound
oauth2_client 4.2.1
Пакет для взаимодействия с серверами OAuth2 в приложениях Flutter. Он предоставляет удобные классы для взаимодействия с популярными провайдерами, такими как Google, Facebook, LinkedIn и GitHub.
Лайки: 197, Скачиваний: 33.1К
https://pub.dev/packages/oauth2_client
sherpa_onnx 1.12.18
Пакет предназначен для распознавания речи, синтеза речи, разделения источников звука и других задач обработки аудио. Поддерживает различные платформы, включая Android, iOS, Windows, macOS, Linux и другие.
Лайки: 77, Скачиваний: 5.0К
https://pub.dev/packages/sherpa_onnx
skeletonizer 2.1.1
Пакет используется для создания скелетных загрузок в приложениях, что улучшает пользовательский опыт во время загрузки данных.
Лайки: 2.0К, Скачиваний: 160К
https://pub.dev/packages/skeletonizer
flutter_genius_scan
Пакет позволяет интегрировать функцию сканирования документов с автоматическим обнаружением, коррекцией перспективы и улучшением изображения.
Лайки: 91, Скачиваний: 8.3К
https://pub.dev/packages/flutter_genius_scan
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_sharing_intent #FlutterSound #oauth2_client #sherpa_onnx #skeletonizer #flutter_genius_scan
flutter_sharing_intent 2.0.3
Плагин для Flutter, который позволяет приложениям получать фотографии, видео, текст, URL-адреса и другие типы файлов из других приложений.
В новой версии исправлены проблемы с iOS и обновлены инструкции по настройке.
Лайки: 98, Скачиваний: 5.2К
https://pub.dev/packages/flutter_sharing_intent
Flutter Sound 9.4.10
Пакет для проигрывания и записи аудио в приложениях для iOS, Android и Web. В новой версии исправлены ошибки, добавлены новые функции, такие как поддержка скорости проигрывания и буферизации.
Лайки: 1.6К, Скачиваний: 82.9К
https://pub.dev/packages/flutter_sound
oauth2_client 4.2.1
Пакет для взаимодействия с серверами OAuth2 в приложениях Flutter. Он предоставляет удобные классы для взаимодействия с популярными провайдерами, такими как Google, Facebook, LinkedIn и GitHub.
Лайки: 197, Скачиваний: 33.1К
https://pub.dev/packages/oauth2_client
sherpa_onnx 1.12.18
Пакет предназначен для распознавания речи, синтеза речи, разделения источников звука и других задач обработки аудио. Поддерживает различные платформы, включая Android, iOS, Windows, macOS, Linux и другие.
Лайки: 77, Скачиваний: 5.0К
https://pub.dev/packages/sherpa_onnx
skeletonizer 2.1.1
Пакет используется для создания скелетных загрузок в приложениях, что улучшает пользовательский опыт во время загрузки данных.
Лайки: 2.0К, Скачиваний: 160К
https://pub.dev/packages/skeletonizer
flutter_genius_scan
Пакет позволяет интегрировать функцию сканирования документов с автоматическим обнаружением, коррекцией перспективы и улучшением изображения.
Лайки: 91, Скачиваний: 8.3К
https://pub.dev/packages/flutter_genius_scan
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #flutter_sharing_intent #FlutterSound #oauth2_client #sherpa_onnx #skeletonizer #flutter_genius_scan
Изоляционно-плагинная архитектура в Dart-приложениях: новые возможности и ограничения 🚀
Представляем вам видео с конференции Mobius, где Станислав Чернышев рассказывает про изоляционно-плагинную архитектуру в Dart-приложениях и ее применение во Flutter. 📹
В докладе обсуждаются проблемы добавления динамического поведения в Dart и Flutter-приложения, а также способы их решения с помощью изоляционно-плагинной архитектуры. 🤔
Основные темы:
🔹 Проблема добавления динамического поведения в Dart и Flutter-приложения
🔹 Изоляционно-плагинная архитектура и ее преимущества
🔹 Применение изоляционно-плагинной архитектуры во Flutter
🔹 Ограничения и сложности при реализации изоляционно-плагинной архитектуры
Станислав Чернышев делится своим опытом разработки мультиагентных систем и рассказывает, как он пришел к идее изоляционно-плагинной архитектуры. 💡
Ключевые выводы:
Изоляционно-плагинная архитектура позволяет добавлять динамическое поведение в Dart-приложения
Применение изоляционно-плагинной архитектуры во Flutter требует дополнительных усилий
Ограничения и сложности при реализации изоляционно-плагинной архитектуры
Смотрите видео полностью на YouTube: Youtube, VkVideo 📹
Понравилось видео? Подпишитесь на канал и смотрите другие видео по #FlutterPulseYoutube! 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
Представляем вам видео с конференции Mobius, где Станислав Чернышев рассказывает про изоляционно-плагинную архитектуру в Dart-приложениях и ее применение во Flutter. 📹
В докладе обсуждаются проблемы добавления динамического поведения в Dart и Flutter-приложения, а также способы их решения с помощью изоляционно-плагинной архитектуры. 🤔
Основные темы:
🔹 Проблема добавления динамического поведения в Dart и Flutter-приложения
🔹 Изоляционно-плагинная архитектура и ее преимущества
🔹 Применение изоляционно-плагинной архитектуры во Flutter
🔹 Ограничения и сложности при реализации изоляционно-плагинной архитектуры
Станислав Чернышев делится своим опытом разработки мультиагентных систем и рассказывает, как он пришел к идее изоляционно-плагинной архитектуры. 💡
Ключевые выводы:
Изоляционно-плагинная архитектура позволяет добавлять динамическое поведение в Dart-приложения
Применение изоляционно-плагинной архитектуры во Flutter требует дополнительных усилий
Ограничения и сложности при реализации изоляционно-плагинной архитектуры
Смотрите видео полностью на YouTube: Youtube, VkVideo 📹
Понравилось видео? Подпишитесь на канал и смотрите другие видео по #FlutterPulseYoutube! 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube
👍2
Универсальный переключатель виджетов в Flutter: простой способ отключения любого элемента
В разработке на Flutter часто возникает необходимость динамически включать или отключать элементы интерфейса. Теперь у вас есть простой и эффективный способ сделать это!
В статье рассматривается создание переиспользуемого виджета
🇷🇺Читать на русском
🇬🇧Read in English
🌐Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #uiux #widgetlibrary
В разработке на Flutter часто возникает необходимость динамически включать или отключать элементы интерфейса. Теперь у вас есть простой и эффективный способ сделать это!
В статье рассматривается создание переиспользуемого виджета
Toggleable, который позволяет легко управлять состоянием активности любого виджета в вашем приложении. Вы узнаете, как объединить Opacity и IgnorePointer, чтобы создать гибкий и простой в использовании компонент. В статье приведены примеры использования Toggleable для отключения пользовательских кнопок, карточек и элементов навигации, а также рассмотрены преимущества и лучшие практики применения этого виджета.🇷🇺Читать на русском
🇬🇧Read in English
🌐Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #uiux #widgetlibrary
❤🔥1
Обзор пакетов на тему Location, Place & Address Picker
flutter_osm_plugin 1.4.3
Этот пакет позволяет легко интегрировать карты OpenStreetMap в ваши Flutter-приложения для Android, iOS и Web. Он предоставляет широкий спектр функций, включая отображение карты, установку начальной позиции, создание маркеров и многое другое.
👍 Лайки: 7550, 📥 Скачиваний: 2.4M
📅 Обновлено: 48 дней назад
https://pub.dev/packages/flutter_osm_plugin
map_location_picker 3.1.0
Этот пакет предоставляет современный и настраиваемый интерфейс для выбора местоположения на карте, с поддержкой тем и модульной архитектурой конфигурации.
👍 Лайки: 132, 📥 Скачиваний: 2.7K
📅 Обновлено: 54 дня назад
https://pub.dev/packages/map_location_picker
google_places_flutter 2.1.1
Этот пакет позволяет добавлять автозаполнение адресов в ваши Flutter-приложения, используя Google Places API.
👍 Лайки: 99, 📥 Скачиваний: 31.9K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/google_places_flutter
flutter_google_places_sdk 0.4.2+1
Этот пакет позволяет использовать Google Places SDK в ваших Flutter-приложениях, используя нативные библиотеки на каждой платформе, обеспечивая безопасность и нативную производительность.
👍 Лайки: 106, 📥 Скачиваний: 13.9K
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/flutter_google_places_sdk
flutter_google_places_sdk_http 0.2.1
Этот пакет предоставляет HTTP-реализацию flutter_google_places, позволяя использовать Google Places API в ваших Flutter-приложениях.
👍 Лайки: 1, 📥 Скачиваний: 38.0K
📅 Обновлено: 8 месяцев назад
https://pub.dev/packages/flutter_google_places_sdk_http
mapbox_search 4.3.2
Этот пакет предоставляет простой доступ к API поиска MapBox, включая новый SearchBox API, и поддерживает различные функции, такие как PlaceSearch и ReverseGeoCoding.
👍 Лайки: 96, 📥 Скачиваний: 11.2K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/mapbox_search
#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #flutter_osm_plugin #map_location_picker #google_places_flutter #flutter_google_places_sdk #flutter_google_places_sdk_http #mapbox_search
flutter_osm_plugin 1.4.3
Этот пакет позволяет легко интегрировать карты OpenStreetMap в ваши Flutter-приложения для Android, iOS и Web. Он предоставляет широкий спектр функций, включая отображение карты, установку начальной позиции, создание маркеров и многое другое.
👍 Лайки: 7550, 📥 Скачиваний: 2.4M
📅 Обновлено: 48 дней назад
https://pub.dev/packages/flutter_osm_plugin
map_location_picker 3.1.0
Этот пакет предоставляет современный и настраиваемый интерфейс для выбора местоположения на карте, с поддержкой тем и модульной архитектурой конфигурации.
👍 Лайки: 132, 📥 Скачиваний: 2.7K
📅 Обновлено: 54 дня назад
https://pub.dev/packages/map_location_picker
google_places_flutter 2.1.1
Этот пакет позволяет добавлять автозаполнение адресов в ваши Flutter-приложения, используя Google Places API.
👍 Лайки: 99, 📥 Скачиваний: 31.9K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/google_places_flutter
flutter_google_places_sdk 0.4.2+1
Этот пакет позволяет использовать Google Places SDK в ваших Flutter-приложениях, используя нативные библиотеки на каждой платформе, обеспечивая безопасность и нативную производительность.
👍 Лайки: 106, 📥 Скачиваний: 13.9K
📅 Обновлено: 7 месяцев назад
https://pub.dev/packages/flutter_google_places_sdk
flutter_google_places_sdk_http 0.2.1
Этот пакет предоставляет HTTP-реализацию flutter_google_places, позволяя использовать Google Places API в ваших Flutter-приложениях.
👍 Лайки: 1, 📥 Скачиваний: 38.0K
📅 Обновлено: 8 месяцев назад
https://pub.dev/packages/flutter_google_places_sdk_http
mapbox_search 4.3.2
Этот пакет предоставляет простой доступ к API поиска MapBox, включая новый SearchBox API, и поддерживает различные функции, такие как PlaceSearch и ReverseGeoCoding.
👍 Лайки: 96, 📥 Скачиваний: 11.2K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/mapbox_search
#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages #flutter_osm_plugin #map_location_picker #google_places_flutter #flutter_google_places_sdk #flutter_google_places_sdk_http #mapbox_search
Самые лучшие обновлённые пакеты за последние 24 часа
expandable_page_view 1.2.0
Плагин для Flutter, который позволяет создавать расширяемые страницы. Теперь доступен параметр loop для бесконечного прокручивания страниц.
👍 Лайки: 573, 📥 Скачиваний: 153К
https://pub.dev/packages/expandable_page_view
haptic_feedback 0.6.3+2
Плагин для Flutter, который позволяет добавлять тактильную обратную связь в приложения для iOS и Android.
В новой версии обновлены readme и changelog.
👍 Лайки: 114, 📥 Скачиваний: 7.7К
https://pub.dev/packages/haptic_feedback
flutter_sharing_intent 2.0.4
Плагин для Flutter, который позволяет приложениям получать фотографии, видео, текст, URL и другие типы файлов из других приложений.
В новой версии исправлена проблема на iOS и обновлена документация.
👍 Лайки: 100, 📥 Скачиваний: 5.4К
https://pub.dev/packages/flutter_sharing_intent
parse_server_sdk 8.0.2
Плагин для Flutter, который позволяет работать с Parse Server.
Теперь исправлена ошибка загрузки файлов с типом контента application/octet-stream.
👍 Лайки: 144, 📥 Скачиваний: 4.3К
https://pub.dev/packages/parse_server_sdk
data_table_2 2.7.2
Плагин для Flutter, который позволяет создавать таблицы и данные с фиксированными заголовками и левыми столбцами.
В новой версии исправлена проблема с задержкой в DataCell InkWell.
👍 Лайки: 957, 📥 Скачиваний: 166К
https://pub.dev/packages/data_table_2
biometric_signature 8.4.0
Плагин для Flutter, который позволяет генерировать верифицируемые криптографические подписи с использованием приватного ключа, хранящегося в аппаратном обеспечении безопасности.
В новой версии добавлена поддержка ECIES-расшифровки на Android и iOS, а также поддержка RSA-расшифровки.
👍 Лайки: 33, 📥 Скачиваний: 41.2К
https://pub.dev/packages/biometric_signature
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #expandable_page_view #haptic_feedback #flutter_sharing_intent #parse_server_sdk #data_table_2 #biometric_signature
expandable_page_view 1.2.0
Плагин для Flutter, который позволяет создавать расширяемые страницы. Теперь доступен параметр loop для бесконечного прокручивания страниц.
👍 Лайки: 573, 📥 Скачиваний: 153К
https://pub.dev/packages/expandable_page_view
haptic_feedback 0.6.3+2
Плагин для Flutter, который позволяет добавлять тактильную обратную связь в приложения для iOS и Android.
В новой версии обновлены readme и changelog.
👍 Лайки: 114, 📥 Скачиваний: 7.7К
https://pub.dev/packages/haptic_feedback
flutter_sharing_intent 2.0.4
Плагин для Flutter, который позволяет приложениям получать фотографии, видео, текст, URL и другие типы файлов из других приложений.
В новой версии исправлена проблема на iOS и обновлена документация.
👍 Лайки: 100, 📥 Скачиваний: 5.4К
https://pub.dev/packages/flutter_sharing_intent
parse_server_sdk 8.0.2
Плагин для Flutter, который позволяет работать с Parse Server.
Теперь исправлена ошибка загрузки файлов с типом контента application/octet-stream.
👍 Лайки: 144, 📥 Скачиваний: 4.3К
https://pub.dev/packages/parse_server_sdk
data_table_2 2.7.2
Плагин для Flutter, который позволяет создавать таблицы и данные с фиксированными заголовками и левыми столбцами.
В новой версии исправлена проблема с задержкой в DataCell InkWell.
👍 Лайки: 957, 📥 Скачиваний: 166К
https://pub.dev/packages/data_table_2
biometric_signature 8.4.0
Плагин для Flutter, который позволяет генерировать верифицируемые криптографические подписи с использованием приватного ключа, хранящегося в аппаратном обеспечении безопасности.
В новой версии добавлена поддержка ECIES-расшифровки на Android и iOS, а также поддержка RSA-расшифровки.
👍 Лайки: 33, 📥 Скачиваний: 41.2К
https://pub.dev/packages/biometric_signature
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #expandable_page_view #haptic_feedback #flutter_sharing_intent #parse_server_sdk #data_table_2 #biometric_signature
❤1
Обработка в фоне в приложениях Flutter: подробный разбор 💻
Flutter-разработчики, вы когда-нибудь задумывались, как улучшить производительность вашего приложения, выполняя ресурсоёмкие задачи в фоне? 🤔
В этой статье мы погрузимся в мир обработки в фоне в приложениях Flutter и рассмотрим различные подходы к реализации фоновых задач. Вы узнаете о таких приёмах, как использование Isolates, compute-функций, Background Services и WorkManager, а также о платформо-зависимой обработке и лучших практиках для оптимизации производительности и обработки ошибок. 📊
В статье будут рассмотрены следующие темы:
- Использование Isolates для CPU-интенсивных задач
- Реализация Background Services для длительных операций
- Применение WorkManager для запланированных задач
- Платформо-зависимая обработка в фоне
- Мониторинг и оптимизация производительности
- Обработка ошибок в фоновых задачах
Читаем подробности и улучшаем наши приложения! 📖
🇷🇺Обработка в фоне в приложениях Flutter: подробный разбор
🇬🇧Background Processing in Flutter Applications: A Deep Dive
🌐Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #backgroundprocessing #performanceoptimization
Flutter-разработчики, вы когда-нибудь задумывались, как улучшить производительность вашего приложения, выполняя ресурсоёмкие задачи в фоне? 🤔
В этой статье мы погрузимся в мир обработки в фоне в приложениях Flutter и рассмотрим различные подходы к реализации фоновых задач. Вы узнаете о таких приёмах, как использование Isolates, compute-функций, Background Services и WorkManager, а также о платформо-зависимой обработке и лучших практиках для оптимизации производительности и обработки ошибок. 📊
В статье будут рассмотрены следующие темы:
- Использование Isolates для CPU-интенсивных задач
- Реализация Background Services для длительных операций
- Применение WorkManager для запланированных задач
- Платформо-зависимая обработка в фоне
- Мониторинг и оптимизация производительности
- Обработка ошибок в фоновых задачах
Читаем подробности и улучшаем наши приложения! 📖
🇷🇺Обработка в фоне в приложениях Flutter: подробный разбор
🇬🇧Background Processing in Flutter Applications: A Deep Dive
🌐Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите, понравилась ли вам новая рубрика!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #backgroundprocessing #performanceoptimization
Самые лучшие обновлённые пакеты за последние 24 часа
flex_color_scheme 8.4.0
Пакет flex_color_scheme используется для создания красивых тем Material Design в Flutter. В новой версии добавлены новые функции, такие как возможность выбора между старым и новым стилем слайдеров M3, темизация прогресс-индикаторов и карточек.
👍 Лайки: 3140, 📥 Скачиваний: 62.9К
https://pub.dev/packages/flex_color_scheme
flutter_background_geolocation 4.18.2
Теперь с поддержкой Android ELF Alignment.
👍 Лайки: 822, 📥 Скачиваний: 37К
https://pub.dev/packages/flutter_background_geolocation
shimmer_animation 2.2.2+1
Этот пакет используется для создания простых и красивых скелетных загрузчиков в проектах.
В новой версии исправлены проблемы со статическим анализом.
👍 Лайки: 498, 📥 Скачиваний: 46.6К
https://pub.dev/packages/shimmer_animation
screen_protector 1.4.8
Пакет screen_protector используется для защиты данных от утечки через скриншоты и запись экрана на Android и iOS.
В новой версии исправлена ошибка, вызывающая крах на iOS 18 при возвращении из фона.
👍 Лайки: 298, 📥 Скачиваний: 59.6К
https://pub.dev/packages/screen_protector
tar 2.0.2
Пакет tar используется для чтения и записи файлов в формате tar.
В новой версии добавлены документационные комментарии для всех публичных членов.
👍 Лайки: 40, 📥 Скачиваний: 249К
https://pub.dev/packages/tar
desktop 6.0.2
Используется для создания минимальных виджетов рабочего стола для Flutter.
В этом обновлении исправлено определение типа.
👍 Лайки: 169, 📥 Скачиваний: 243
https://pub.dev/packages/desktop
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flex_color_scheme #flutter_background_geolocation #shimmer_animation #screen_protector #tar #desktop
flex_color_scheme 8.4.0
Пакет flex_color_scheme используется для создания красивых тем Material Design в Flutter. В новой версии добавлены новые функции, такие как возможность выбора между старым и новым стилем слайдеров M3, темизация прогресс-индикаторов и карточек.
👍 Лайки: 3140, 📥 Скачиваний: 62.9К
https://pub.dev/packages/flex_color_scheme
flutter_background_geolocation 4.18.2
Теперь с поддержкой Android ELF Alignment.
👍 Лайки: 822, 📥 Скачиваний: 37К
https://pub.dev/packages/flutter_background_geolocation
shimmer_animation 2.2.2+1
Этот пакет используется для создания простых и красивых скелетных загрузчиков в проектах.
В новой версии исправлены проблемы со статическим анализом.
👍 Лайки: 498, 📥 Скачиваний: 46.6К
https://pub.dev/packages/shimmer_animation
screen_protector 1.4.8
Пакет screen_protector используется для защиты данных от утечки через скриншоты и запись экрана на Android и iOS.
В новой версии исправлена ошибка, вызывающая крах на iOS 18 при возвращении из фона.
👍 Лайки: 298, 📥 Скачиваний: 59.6К
https://pub.dev/packages/screen_protector
tar 2.0.2
Пакет tar используется для чтения и записи файлов в формате tar.
В новой версии добавлены документационные комментарии для всех публичных членов.
👍 Лайки: 40, 📥 Скачиваний: 249К
https://pub.dev/packages/tar
desktop 6.0.2
Используется для создания минимальных виджетов рабочего стола для Flutter.
В этом обновлении исправлено определение типа.
👍 Лайки: 169, 📥 Скачиваний: 243
https://pub.dev/packages/desktop
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #flex_color_scheme #flutter_background_geolocation #shimmer_animation #screen_protector #tar #desktop
Как работает сборщик мусора в Dart и когда он подводит?
🚨 Хотите писать эффективный и безошибочный код на Dart? 🤔 Тогда вам нужно знать, как работает сборщик мусора! 💻
В статье рассматривается работа сборщика мусора в Dart, его сильные стороны и потенциальные проблемы. Вы узнаете о генерационном подходе к сборке мусора, алгоритме mark-and-sweep и оптимизациях, используемых в Dart. 📚
Также в статье обсуждаются распространенные сценарии утечек памяти в Dart и Flutter, такие как не закрытые потоки и подписки, слушатели и замыкания. 🤯 Вы узнаете, как использовать
Переходите по ссылкам, чтобы узнать больше:
🇷🇺 Как работает сборщик мусора в Dart и когда он вас подводит!
🇬🇧 How Dart's Garbage Collector Works And When It Fails You
🌐 Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените новую рубрику! 👍
#flutter #dart #flutterpulse #FlutterPulseMedium #memorymanagement #garbagecollection #performanceoptimization
🚨 Хотите писать эффективный и безошибочный код на Dart? 🤔 Тогда вам нужно знать, как работает сборщик мусора! 💻
В статье рассматривается работа сборщика мусора в Dart, его сильные стороны и потенциальные проблемы. Вы узнаете о генерационном подходе к сборке мусора, алгоритме mark-and-sweep и оптимизациях, используемых в Dart. 📚
Также в статье обсуждаются распространенные сценарии утечек памяти в Dart и Flutter, такие как не закрытые потоки и подписки, слушатели и замыкания. 🤯 Вы узнаете, как использовать
WeakReference и Finalizer, чтобы избежать утечек памяти. 💡Переходите по ссылкам, чтобы узнать больше:
🇷🇺 Как работает сборщик мусора в Dart и когда он вас подводит!
🇬🇧 How Dart's Garbage Collector Works And When It Fails You
🌐 Оригинальная статья
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените новую рубрику! 👍
#flutter #dart #flutterpulse #FlutterPulseMedium #memorymanagement #garbagecollection #performanceoptimization
Воспроизведение RTSP-потоков во Flutter: проблемы и решения
Вы когда-нибудь сталкивались с проблемой воспроизведения RTSP-потоков во Flutter? 🤔 Это может быть настоящей головной болью, поскольку штатные средства фреймворка не могут справиться с этой задачей. 😩 Но не волнуйтесь, есть решения! 🎉 Для этого необходимо использовать сторонние библиотеки, такие как flutter_vlc_player, fijkplayer и media_kit. Эти библиотеки позволяют работать с потоковым видео в реальном времени и дают возможность тонко настраивать параметры воспроизведения. 📹
Каждая из этих библиотек имеет свои особенности и достоинства. flutter_vlc_player основан на VLC и обеспечивает широкую поддержку сетевых форматов, но может иметь более высокую задержку и увеличивать вес приложения. 📊 fijkplayer использует FFmpeg и позволяет гибко настраивать параметры буферизации и декодирования, что особенно полезно при работе с низкой задержкой. 📈 media_kit - более современная кроссплатформенная библиотека, построенная на базе FFmpeg, с удобным API и хорошей поддержкой различных протоколов, включая RTSP. 📱
Для минимизации задержки воспроизведения можно использовать различные настройки, такие как настройки буферизации и декодирования, а также выбор транспортного протокола. 📊 Правильный выбор библиотеки и настройка параметров могут обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях. 📈 Статья описывает настройки плеера для оптимизации воспроизведения видео по протоколу RTSP. Для снижения задержки используется протокол UDP, который позволяет передавать данные без ожидания подтверждений, но может привести к небольшим потерям пакетов. 📊
Читать здесь: ссылка
#flutter #dart #flutterpulse #flutterpulsehabr #rtsp #videostreaming #flutterdevelopmentp
Вы когда-нибудь сталкивались с проблемой воспроизведения RTSP-потоков во Flutter? 🤔 Это может быть настоящей головной болью, поскольку штатные средства фреймворка не могут справиться с этой задачей. 😩 Но не волнуйтесь, есть решения! 🎉 Для этого необходимо использовать сторонние библиотеки, такие как flutter_vlc_player, fijkplayer и media_kit. Эти библиотеки позволяют работать с потоковым видео в реальном времени и дают возможность тонко настраивать параметры воспроизведения. 📹
Каждая из этих библиотек имеет свои особенности и достоинства. flutter_vlc_player основан на VLC и обеспечивает широкую поддержку сетевых форматов, но может иметь более высокую задержку и увеличивать вес приложения. 📊 fijkplayer использует FFmpeg и позволяет гибко настраивать параметры буферизации и декодирования, что особенно полезно при работе с низкой задержкой. 📈 media_kit - более современная кроссплатформенная библиотека, построенная на базе FFmpeg, с удобным API и хорошей поддержкой различных протоколов, включая RTSP. 📱
Для минимизации задержки воспроизведения можно использовать различные настройки, такие как настройки буферизации и декодирования, а также выбор транспортного протокола. 📊 Правильный выбор библиотеки и настройка параметров могут обеспечить быстрый старт потока, минимальную задержку и стабильную работу в практических сценариях. 📈 Статья описывает настройки плеера для оптимизации воспроизведения видео по протоколу RTSP. Для снижения задержки используется протокол UDP, который позволяет передавать данные без ожидания подтверждений, но может привести к небольшим потерям пакетов. 📊
Читать здесь: ссылка
#flutter #dart #flutterpulse #flutterpulsehabr #rtsp #videostreaming #flutterdevelopmentp
Самые лучшие обновлённые пакеты за последние 24 часа
auto_route_generator 10.4.0
Плагин для Flutter, который позволяет автоматически генерировать код для навигации по маршрутам. Убрано устаревшее сообщение.
👍 Лайки: 158, 📥 Скачиваний: 369К
https://pub.dev/packages/auto_route_generator
signals 6.3.0
Плагин для Flutter, который позволяет создавать реактивные системы в приложениях на языке Dart. Исправлена ошибка, связанная с доступом к кэшированному SignalContainer в Effect.
👍 Лайки: 604, 📥 Скачиваний: 8.8К
https://pub.dev/packages/signals
once 1.7.1
Плагин для Flutter, который позволяет запускать или отображать код/виджет один раз в определенный период времени. Обновлены зависимости, включая package_info_plus до версии ^9.0.0.
👍 Лайки: 298, 📥 Скачиваний: 3К
https://pub.dev/packages/once
auto_route 11.0.0
Плагин для Flutter, который позволяет упростить настройку маршрутов и передачу аргументов между экранами. Произошли значительные изменения: метод `redirectUntil` теперь возвращает `void` вместо `Future<T?>` и обрабатывает завершение поп-комплекта внутренне.
👍 Лайки: 3350, 📥 Скачиваний: 276К
https://pub.dev/packages/auto_route
sqlite3 3.1.1
Плагин для Flutter, который предоставляет Dart-bindings к SQLite и используется для работы с базами данных. Учтены переменные среды HTTPS_PROXY и другие при скачивании SQLite.
👍 Лайки: 419, 📥 Скачиваний: 893К
https://pub.dev/packages/sqlite3
go_router_builder 4.1.2
Плагин для Flutter, который используется для создания типобезопасных маршрутов в приложениях Flutter с помощью go_router. Обновлены поддерживаемые версии анализатора до 8.x или 9.x и минимальная поддерживаемая версия SDK до Flutter 3.32/Dart 3.8.
👍 Лайки: 270, 📥 Скачиваний: 184К
https://pub.dev/packages/go_router_builder
FlutterPulse — канал о мире Flutter!
Поддержать канал
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #auto_route_generator #signals #once #auto_route #sqlite3 #go_router_builder
auto_route_generator 10.4.0
Плагин для Flutter, который позволяет автоматически генерировать код для навигации по маршрутам. Убрано устаревшее сообщение.
👍 Лайки: 158, 📥 Скачиваний: 369К
https://pub.dev/packages/auto_route_generator
signals 6.3.0
Плагин для Flutter, который позволяет создавать реактивные системы в приложениях на языке Dart. Исправлена ошибка, связанная с доступом к кэшированному SignalContainer в Effect.
👍 Лайки: 604, 📥 Скачиваний: 8.8К
https://pub.dev/packages/signals
once 1.7.1
Плагин для Flutter, который позволяет запускать или отображать код/виджет один раз в определенный период времени. Обновлены зависимости, включая package_info_plus до версии ^9.0.0.
👍 Лайки: 298, 📥 Скачиваний: 3К
https://pub.dev/packages/once
auto_route 11.0.0
Плагин для Flutter, который позволяет упростить настройку маршрутов и передачу аргументов между экранами. Произошли значительные изменения: метод `redirectUntil` теперь возвращает `void` вместо `Future<T?>` и обрабатывает завершение поп-комплекта внутренне.
👍 Лайки: 3350, 📥 Скачиваний: 276К
https://pub.dev/packages/auto_route
sqlite3 3.1.1
Плагин для Flutter, который предоставляет Dart-bindings к SQLite и используется для работы с базами данных. Учтены переменные среды HTTPS_PROXY и другие при скачивании SQLite.
👍 Лайки: 419, 📥 Скачиваний: 893К
https://pub.dev/packages/sqlite3
go_router_builder 4.1.2
Плагин для Flutter, который используется для создания типобезопасных маршрутов в приложениях Flutter с помощью go_router. Обновлены поддерживаемые версии анализатора до 8.x или 9.x и минимальная поддерживаемая версия SDK до Flutter 3.32/Dart 3.8.
👍 Лайки: 270, 📥 Скачиваний: 184К
https://pub.dev/packages/go_router_builder
FlutterPulse — канал о мире Flutter!
Поддержать канал
#Flutter #Dart #pubdev #FlutterPulse #FlutterPulseBestPackages #auto_route_generator #signals #once #auto_route #sqlite3 #go_router_builder
Flutter Mesh — синхронизация данных между устройствами без интернета и серверов
Представьте себе ситуацию, когда вам нужно обменяться данными с другим человеком, но у вас нет интернета. Это может произойти где угодно: в лесу, в горах или даже в городе, где связь нестабильна. Но что, если я скажу вам, что есть способ сделать это возможным? 😎
Сегодня мы поговорим о технологии Flutter Mesh, которая позволяет устройствам обмениваться данными напрямую, без использования интернета или серверов. Это открывает новые возможности для создания децентрализованных приложений, которые могут работать в любых условиях. 📱💻
🔹 Разберём, как создавать децентрализованные Flutter-приложения, которые синхронизируют данные напрямую между устройствами.
🔹 Пошагово разберём, как реализовать peer-to-peer обмен через Bluetooth, Wi-Fi Direct и WebRTC без интернета.
🔹 Покажем архитектуру Flutter Mesh, где каждое устройство становится полноценным узлом локальной сети.
🔹 Представим новую open-source библиотеку flutter_mesh, которая позволяет разработчикам быстро внедрять P2P-синхронизацию и локальные mesh-сети во Flutter-проекты.
👉 Для кого этот вебинар?
- Flutter-разработчиков, которым интересно выйти за рамки клиент-серверной модели и построить автономные сети.
- Мобильных инженеров, работающих над приложениями для офлайн-режимов, IoT-устройств и полевых сценариев.
- Разработчиков, интересующихся edge computing, mesh-архитектурами и P2P-связью.
💡 Что вы узнаете?
- Как реализовать синхронизацию данных между устройствами без сервера и интернета.
- Как использовать Bluetooth, Wi-Fi Direct и WebRTC во Flutter через плагины и FFI.
- Как проектировать и тестировать mesh-архитектуру с автоматическим обменом данными между пирами.
👉 Смотрите видео Youtube, VkVideo
👍 Посмотрите другие видео по #FlutterPulseYoutube и узнайте больше о мире Flutter!
FlutterPulse — канал о мире Flutter!
#Flutter #Dart #FlutterPulse #FlutterPulseYoutube
Представьте себе ситуацию, когда вам нужно обменяться данными с другим человеком, но у вас нет интернета. Это может произойти где угодно: в лесу, в горах или даже в городе, где связь нестабильна. Но что, если я скажу вам, что есть способ сделать это возможным? 😎
Сегодня мы поговорим о технологии Flutter Mesh, которая позволяет устройствам обмениваться данными напрямую, без использования интернета или серверов. Это открывает новые возможности для создания децентрализованных приложений, которые могут работать в любых условиях. 📱💻
🔹 Разберём, как создавать децентрализованные Flutter-приложения, которые синхронизируют данные напрямую между устройствами.
🔹 Пошагово разберём, как реализовать peer-to-peer обмен через Bluetooth, Wi-Fi Direct и WebRTC без интернета.
🔹 Покажем архитектуру Flutter Mesh, где каждое устройство становится полноценным узлом локальной сети.
🔹 Представим новую open-source библиотеку flutter_mesh, которая позволяет разработчикам быстро внедрять P2P-синхронизацию и локальные mesh-сети во Flutter-проекты.
👉 Для кого этот вебинар?
- Flutter-разработчиков, которым интересно выйти за рамки клиент-серверной модели и построить автономные сети.
- Мобильных инженеров, работающих над приложениями для офлайн-режимов, IoT-устройств и полевых сценариев.
- Разработчиков, интересующихся edge computing, mesh-архитектурами и P2P-связью.
💡 Что вы узнаете?
- Как реализовать синхронизацию данных между устройствами без сервера и интернета.
- Как использовать Bluetooth, Wi-Fi Direct и WebRTC во Flutter через плагины и FFI.
- Как проектировать и тестировать mesh-архитектуру с автоматическим обменом данными между пирами.
👉 Смотрите видео Youtube, VkVideo
👍 Посмотрите другие видео по #FlutterPulseYoutube и узнайте больше о мире Flutter!
FlutterPulse — канал о мире Flutter!
#Flutter #Dart #FlutterPulse #FlutterPulseYoutube
🔥2
Понимание свойства "mounted" в Flutter: Полное руководство
🚨 Flutter-разработчикам, внимание! Если вы хотите создавать стабильные и эффективные приложения, вам необходимо разобраться в одном из ключевых понятий Flutter — свойстве "mounted".
В этой статье вы найдёте полное руководство по использованию "mounted" для предотвращения утечек памяти и крашей в вашем приложении. Вы узнаете, что такое "mounted", зачем оно нужно, и как правильно его использовать в асинхронных операциях, анимациях и таймерах.
В статье описаны лучшие практики использования "mounted", такие как проверка состояния перед вызовом
🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите в комментариях, понравилась ли вам новая рубрика!
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #programming #softwaredevelopment
🚨 Flutter-разработчикам, внимание! Если вы хотите создавать стабильные и эффективные приложения, вам необходимо разобраться в одном из ключевых понятий Flutter — свойстве "mounted".
В этой статье вы найдёте полное руководство по использованию "mounted" для предотвращения утечек памяти и крашей в вашем приложении. Вы узнаете, что такое "mounted", зачем оно нужно, и как правильно его использовать в асинхронных операциях, анимациях и таймерах.
В статье описаны лучшие практики использования "mounted", такие как проверка состояния перед вызовом
setState(), отмена подписок в методе dispose() и использование "mounted" для очистки в асинхронных callback'ах. Вы также узнаете о распространённых ошибках, таких как забывание проверить "mounted" в отложенных операциях, и научитесь использовать продвинутые шаблоны для безопасного управления состоянием.🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Original article
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Напишите в комментариях, понравилась ли вам новая рубрика!
FlutterPulse — канал о мире Flutter!
#flutter #dart #flutterpulse #FlutterPulseMedium #mobiledevelopment #appdevelopment #programming #softwaredevelopment
👍3
Private Named Parameters уже доступны в экспериментальном режиме Dart 🍿!
Эта фича решает проблему с приватными именами полей, позволяя инициализировать их через именованные аргументы конструктора класса.
Ранее это было невозможно, так как Dart запрещал использовать имена параметров, начинающиеся с _ (нижнего подчеркивания) в публичных конструкторах c именованными аргументами. Но теперь все меняется! 😄
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #madteacher_channel
Эта фича решает проблему с приватными именами полей, позволяя инициализировать их через именованные аргументы конструктора класса.
Ранее это было невозможно, так как Dart запрещал использовать имена параметров, начинающиеся с _ (нижнего подчеркивания) в публичных конструкторах c именованными аргументами. Но теперь все меняется! 😄
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #madteacher_channel
Обзор пакетов на тему Pagination & Lazy Loading
Firebase Pagination 4.2.0
Firebase Pagination упрощает пагинацию данных из Firebase Realtime Database и Firestore. Он позволяет эффективно и производительно получать обновления в реальном времени.
👍 Лайки: 91, 📥 Скачиваний: 1.9K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/firebase_pagination
Infinite Scroll Pagination 5.1.1
Infinite Scroll Pagination помогает реализовать бесконечную прокрутку в ваших Flutter-приложениях. Он универсален, настраиваем и легко интегрируется с любым подходом к управлению состоянием.
👍 Лайки: 3940, 📥 Скачиваний: 418K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/infinite_scroll_pagination
number_paginator 1.1.1
number_paginator позволяет легко реализовать навигацию по страницам с помощью номеров страниц в вашем Flutter-приложении. Он предлагает больше вариантов настройки и управление извне.
👍 Лайки: 107, 📥 Скачиваний: 8.2K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/number_paginator
very_good_infinite_list 0.9.0
very_good_infinite_list от Very Good Ventures позволяет легко отображать постраничную загрузку данных. Он имеет простой API, похожий на ListView.builder, и легко настраивается.
👍 Лайки: 302, 📥 Скачиваний: 17.1K
📅 Обновлено: 13 месяцев назад
https://pub.dev/packages/very_good_infinite_list
LazyIndexedStack 0.1.0
LazyIndexedStack позволяет загружать дочерние элементы лениво, только когда они нужны. Это особенно полезно, если у вас много дочерних элементов или у вас есть дочерний элемент, который загружает контент асинхронно.
👍 Лайки: 76, 📥 Скачиваний: 5.8K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/flutter_lazy_indexed_stack
LazyLoadIndexedStack 1.2.1
LazyLoadIndexedStack позволяет лениво загружать виджеты, уменьшая время первоначальной загрузки. Он предлагает ленивую загрузку, предзагрузку и автоматическую утилизацию.
👍 Лайки: 98, 📥 Скачиваний: 15.5K
📅 Обновлено: 10 месяцев назад
https://pub.dev/packages/lazy_load_indexed_stack
#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages firebase_pagination infinite_scroll_pagination number_paginator very_good_infinite_list flutter_lazy_indexed_stack lazy_load_indexed_stack
Firebase Pagination 4.2.0
Firebase Pagination упрощает пагинацию данных из Firebase Realtime Database и Firestore. Он позволяет эффективно и производительно получать обновления в реальном времени.
👍 Лайки: 91, 📥 Скачиваний: 1.9K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/firebase_pagination
Infinite Scroll Pagination 5.1.1
Infinite Scroll Pagination помогает реализовать бесконечную прокрутку в ваших Flutter-приложениях. Он универсален, настраиваем и легко интегрируется с любым подходом к управлению состоянием.
👍 Лайки: 3940, 📥 Скачиваний: 418K
📅 Обновлено: 3 месяца назад
https://pub.dev/packages/infinite_scroll_pagination
number_paginator 1.1.1
number_paginator позволяет легко реализовать навигацию по страницам с помощью номеров страниц в вашем Flutter-приложении. Он предлагает больше вариантов настройки и управление извне.
👍 Лайки: 107, 📥 Скачиваний: 8.2K
📅 Обновлено: 4 месяца назад
https://pub.dev/packages/number_paginator
very_good_infinite_list 0.9.0
very_good_infinite_list от Very Good Ventures позволяет легко отображать постраничную загрузку данных. Он имеет простой API, похожий на ListView.builder, и легко настраивается.
👍 Лайки: 302, 📥 Скачиваний: 17.1K
📅 Обновлено: 13 месяцев назад
https://pub.dev/packages/very_good_infinite_list
LazyIndexedStack 0.1.0
LazyIndexedStack позволяет загружать дочерние элементы лениво, только когда они нужны. Это особенно полезно, если у вас много дочерних элементов или у вас есть дочерний элемент, который загружает контент асинхронно.
👍 Лайки: 76, 📥 Скачиваний: 5.8K
📅 Обновлено: 5 месяцев назад
https://pub.dev/packages/flutter_lazy_indexed_stack
LazyLoadIndexedStack 1.2.1
LazyLoadIndexedStack позволяет лениво загружать виджеты, уменьшая время первоначальной загрузки. Он предлагает ленивую загрузку, предзагрузку и автоматическую утилизацию.
👍 Лайки: 98, 📥 Скачиваний: 15.5K
📅 Обновлено: 10 месяцев назад
https://pub.dev/packages/lazy_load_indexed_stack
#flutter #dart #pubdev #flutterpulse #FlutterPulseThemedPackages firebase_pagination infinite_scroll_pagination number_paginator very_good_infinite_list flutter_lazy_indexed_stack lazy_load_indexed_stack
Принцип подстановки Барбары Лисков: основа правильного полиморфизма в программировании 🌟
Привет, друзья! Сегодня мы поговорим о третьей букве в акрониме SOLID - L, которая означает принцип подстановки Лисков 🤔. Этот принцип гласит, что объекты подклассов должны быть взаимозаменяемы с объектами их базового класса без нарушения корректности работы программы 💻.
Почему это важно? 🤔 Нарушение LSP приводит к непредсказуемому поведению программы, код начинает проверять типы объектов с помощью if/else или is, что противоречит принципу открытости/закрытости и делает систему хрупкой 🌪. Соблюдение LSP гарантирует, что полиморфизм работает правильно и подклассы действительно являются специализацией базового класса 🔩.
Давайте рассмотрим пример нарушения LSP 🚫:
Здесь функция, принимающая Bird, ожидает, что любой потомок сможет летать. Но при подстановке пингвина код валится с ошибкой, значит, иерархия нарушает принцип Лисков 🚫.
А теперь пример правильного использования LSP 🌟:
Ключевые правила LSP 📝:
✔️ Предусловия не могут быть усилены в подклассе — подкласс не должен требовать больше, чем базовый класс
✔️ Постусловия не могут быть ослаблены в подклассе — подкласс должен гарантировать как минимум то, что гарантирует базовый класс
✔️ Инварианты должны сохраняться — свойства, которые истинны для базового класса, должны оставаться истинными для подклассов
✔️ Исключения — подкласс не должен выбрасывать новые типы исключений, которые не ожидаются от базового класса
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly
Привет, друзья! Сегодня мы поговорим о третьей букве в акрониме SOLID - L, которая означает принцип подстановки Лисков 🤔. Этот принцип гласит, что объекты подклассов должны быть взаимозаменяемы с объектами их базового класса без нарушения корректности работы программы 💻.
Почему это важно? 🤔 Нарушение LSP приводит к непредсказуемому поведению программы, код начинает проверять типы объектов с помощью if/else или is, что противоречит принципу открытости/закрытости и делает систему хрупкой 🌪. Соблюдение LSP гарантирует, что полиморфизм работает правильно и подклассы действительно являются специализацией базового класса 🔩.
Давайте рассмотрим пример нарушения LSP 🚫:
class Bird {
void fly() {
print("Flying");
}
}
class Penguin extends Bird {
@override
void fly() {
throw Exception("Cannot fly"); // Нарушение LSP
}
}
Здесь функция, принимающая Bird, ожидает, что любой потомок сможет летать. Но при подстановке пингвина код валится с ошибкой, значит, иерархия нарушает принцип Лисков 🚫.
А теперь пример правильного использования LSP 🌟:
abstract class Bird {
void move();
}
class Sparrow extends Bird {
@override
void move() {
print("Flying");
}
}
class Penguin extends Bird {
@override
void move() {
print("Swimming");
}
}
Ключевые правила LSP 📝:
✔️ Предусловия не могут быть усилены в подклассе — подкласс не должен требовать больше, чем базовый класс
✔️ Постусловия не могут быть ослаблены в подклассе — подкласс должен гарантировать как минимум то, что гарантирует базовый класс
✔️ Инварианты должны сохраняться — свойства, которые истинны для базового класса, должны оставаться истинными для подклассов
✔️ Исключения — подкласс не должен выбрасывать новые типы исключений, которые не ожидаются от базового класса
Полную новость читайте здесь.
FlutterPulse — канал о мире Flutter!
#flutter #dart #FlutterPulse #FlutterPulseNews #flutterfriendly
🔥2
Flutter-разработчикам: как использовать Dart на сервере
Вы уже умеете создавать красивые и производительные интерфейсы на Flutter, но что делать, когда нужно обработать данные на сервере или реализовать логику, не связанную с клиентом? Теперь вы можете использовать Dart не только на клиенте, но и на сервере!
В этой статье вы узнаете, как использовать Dart на сервере, почему это выгодно и как начать работать с серверным Dart уже сегодня. Вы познакомитесь с фреймворком Shelf, узнаете, как обрабатывать запросы, работать с базами данных и реализовывать API. Кроме того, вы узнаете о преимуществах использования единого языка на клиенте и сервере, а также о том, как делиться моделями между клиентом и сервером для повышения безопасности и поддерживаемости кода.
🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените рубрику: полезна ли она для вас?
FlutterPulse — канал о мире Flutter!
#flutter #dart #server #backend #fullstack #FlutterPulse #FlutterPulseMedium
Вы уже умеете создавать красивые и производительные интерфейсы на Flutter, но что делать, когда нужно обработать данные на сервере или реализовать логику, не связанную с клиентом? Теперь вы можете использовать Dart не только на клиенте, но и на сервере!
В этой статье вы узнаете, как использовать Dart на сервере, почему это выгодно и как начать работать с серверным Dart уже сегодня. Вы познакомитесь с фреймворком Shelf, узнаете, как обрабатывать запросы, работать с базами данных и реализовывать API. Кроме того, вы узнаете о преимуществах использования единого языка на клиенте и сервере, а также о том, как делиться моделями между клиентом и сервером для повышения безопасности и поддерживаемости кода.
🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал
Все подобные новости ищите по хэштегу #FlutterPulseMedium ✨ Оцените рубрику: полезна ли она для вас?
FlutterPulse — канал о мире Flutter!
#flutter #dart #server #backend #fullstack #FlutterPulse #FlutterPulseMedium
🔥1