Самые лучшие обновлённые пакеты за последние 24 часа
url_launcher_android 6.3.22
Плагин для запуска ссылок на Android. Теперь добавлена поддержка externalNonBrowserApplication на API 30+.
👍 Лайки: 20, 📥 Скачиваний: 4.8М
https://pub.dev/packages/url_launcher_android
purchases_flutter 9.6.1
Клиент для системы отслеживания подписок и покупок RevenueCat, упрощающий реализацию в-app покупок в Flutter.
В обновлении исправлены ошибки, включая крах при вызове функции покупки с параметрами.
👍 Лайки: 838, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
launchdarkly_flutter_client_sdk 4.12.0
Теперь доступна экспериментальная поддержка плагинов и хуков.
Исправлены ошибки и обновлены зависимости.
👍 Лайки: 16, 📥 Скачиваний: 311К
https://pub.dev/packages/launchdarkly_flutter_client_sdk
fl_chart 1.1.1
Теперь с улучшениями в зависимостях vector_math, build_runner, mockito и very_good_analysis.
Пакет fl_chart - это высоко настраиваемая библиотека графиков для Flutter, поддерживающая линейные, баровые, круговые, разбросанные и радарные графики.
👍 Лайки: 6900, 📥 Скачиваний: 1.19М
https://pub.dev/packages/fl_chart
widgetbook 3.17.0
Теперь вы можете настраивать поведение скролла, использовать новую версию Flutter 3.35.0 и многое другое.
Уже 699 лайков и 240000 скачиваний!
👍 Лайки: 699, 📥 Скачиваний: 240К
https://pub.dev/packages/widgetbook
supabase_flutter 2.10.1
Пакет supabase_flutter - это клиентская библиотека для Supabase, позволяющая использовать функции аутентификации, базы данных, хранилища и многое другое в приложениях Flutter.
В новой версии исправлена проблема с совместимостью с веб-приложениями из-за импорта dart:io.
👍 Лайки: 871, 📥 Скачиваний: 227К
https://pub.dev/packages/supabase_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #url_launcher_android #purchases_flutter #launchdarkly_flutter_client_sdk #fl_chart #widgetbook #supabase_flutter
url_launcher_android 6.3.22
Плагин для запуска ссылок на Android. Теперь добавлена поддержка externalNonBrowserApplication на API 30+.
👍 Лайки: 20, 📥 Скачиваний: 4.8М
https://pub.dev/packages/url_launcher_android
purchases_flutter 9.6.1
Клиент для системы отслеживания подписок и покупок RevenueCat, упрощающий реализацию в-app покупок в Flutter.
В обновлении исправлены ошибки, включая крах при вызове функции покупки с параметрами.
👍 Лайки: 838, 📥 Скачиваний: 173К
https://pub.dev/packages/purchases_flutter
launchdarkly_flutter_client_sdk 4.12.0
Теперь доступна экспериментальная поддержка плагинов и хуков.
Исправлены ошибки и обновлены зависимости.
👍 Лайки: 16, 📥 Скачиваний: 311К
https://pub.dev/packages/launchdarkly_flutter_client_sdk
fl_chart 1.1.1
Теперь с улучшениями в зависимостях vector_math, build_runner, mockito и very_good_analysis.
Пакет fl_chart - это высоко настраиваемая библиотека графиков для Flutter, поддерживающая линейные, баровые, круговые, разбросанные и радарные графики.
👍 Лайки: 6900, 📥 Скачиваний: 1.19М
https://pub.dev/packages/fl_chart
widgetbook 3.17.0
Теперь вы можете настраивать поведение скролла, использовать новую версию Flutter 3.35.0 и многое другое.
Уже 699 лайков и 240000 скачиваний!
👍 Лайки: 699, 📥 Скачиваний: 240К
https://pub.dev/packages/widgetbook
supabase_flutter 2.10.1
Пакет supabase_flutter - это клиентская библиотека для Supabase, позволяющая использовать функции аутентификации, базы данных, хранилища и многое другое в приложениях Flutter.
В новой версии исправлена проблема с совместимостью с веб-приложениями из-за импорта dart:io.
👍 Лайки: 871, 📥 Скачиваний: 227К
https://pub.dev/packages/supabase_flutter
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #url_launcher_android #purchases_flutter #launchdarkly_flutter_client_sdk #fl_chart #widgetbook #supabase_flutter
👍1
🚀 Расширяем возможности Flutter с помощью FFI: бинарники и компиляция под капотом!
🔥 Готовы погрузиться в мир нативной магии? В новом видео от эксперта Руслана Цицера — ключевые секреты интеграции C/C++ библиотек во Flutter через FFI! Узнайте, как избежать подводных камней и заставить "железо" работать на вас.
👉 СМОТРЕТЬ ВИДЕО 👈
💡 В этом выпуске:
🔧 Две главные проблемы FFI и их элегантные решения:
1️⃣ Выбор компилятора — почему для iOS, Android и macOS нужны разные инструменты и как их настроить
2️⃣ Интеграция бинарников — куда поместить скомпилированные библиотеки, чтобы Flutter их "увидел"
📦 Практические примеры:
- Работа с Makefile и скриптами сборки
- Особенности подключения под Android (
- Автоматизация переноса бинарников
🚨Внимание, лайфхак! Для iOS показан работающий метод подключения через "кустарные" CocoaPods — минимум конфигурации, максимум результата!
🔗 Ресурсы:
- GitHub с примерами кода
💬 "Если вы работаете с нативным кодом — это видео сэкономит вам часы поисков!"
👍 Не пропустите! Узнайте, как:
- Собрать универсальные бинарники под любую платформу
- Избежать ошибок ABI-совместимости
- Оптимизировать процесс сборки
👉 Подписывайтесь на канал, жмите 🔔 колокольчик, чтобы не пропустить новые выпуски! Ваши лайки и комментарии — лучшая мотивация для автора 💙
И про реакции на нашем канале тоже не забывайте!) 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #Rust #NativeCode #MobileDevelopment
🔥 Готовы погрузиться в мир нативной магии? В новом видео от эксперта Руслана Цицера — ключевые секреты интеграции C/C++ библиотек во Flutter через FFI! Узнайте, как избежать подводных камней и заставить "железо" работать на вас.
👉 СМОТРЕТЬ ВИДЕО 👈
💡 В этом выпуске:
🔧 Две главные проблемы FFI и их элегантные решения:
1️⃣ Выбор компилятора — почему для iOS, Android и macOS нужны разные инструменты и как их настроить
2️⃣ Интеграция бинарников — куда поместить скомпилированные библиотеки, чтобы Flutter их "увидел"
📦 Практические примеры:
- Работа с Makefile и скриптами сборки
- Особенности подключения под Android (
jniLibs
) и iOS (Framework + Info.plist)- Автоматизация переноса бинарников
🚨
🔗 Ресурсы:
- GitHub с примерами кода
💬 "Если вы работаете с нативным кодом — это видео сэкономит вам часы поисков!"
👍 Не пропустите! Узнайте, как:
- Собрать универсальные бинарники под любую платформу
- Избежать ошибок ABI-совместимости
- Оптимизировать процесс сборки
👉 Подписывайтесь на канал, жмите 🔔 колокольчик, чтобы не пропустить новые выпуски! Ваши лайки и комментарии — лучшая мотивация для автора 💙
И про реакции на нашем канале тоже не забывайте!) 👍
#Flutter #Dart #FlutterPulse #FlutterPulseTips #FlutterPulseYoutube #FFI #Rust #NativeCode #MobileDevelopment
❤1
Вложенная навигация с Go_Router
Давайте создадим боковую панель с Flutter Web и go_router 🤔
Вместо того, чтобы напрямую добавлять все маршруты (GoRoute), мы обернём их в поднавигацию 📦
Мы обернём все подмаршруты в StatefulShellRoute, чтобы управлять состоянием поднавигации 🔄
Для каждого подмаршрута у нас будет StatefulShellBranch, который может содержать несколько маршрутов 🌐
Каждый элемент будет иметь свой собственный стек навигации 📚
Оцените новую рубрику 👍👏! Все подобные новости можно найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами 🔔
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #GoRouter #NestedNavigation #FlutterWeb
Давайте создадим боковую панель с Flutter Web и go_router 🤔
Вместо того, чтобы напрямую добавлять все маршруты (GoRoute), мы обернём их в поднавигацию 📦
Мы обернём все подмаршруты в StatefulShellRoute, чтобы управлять состоянием поднавигации 🔄
Для каждого подмаршрута у нас будет StatefulShellBranch, который может содержать несколько маршрутов 🌐
Каждый элемент будет иметь свой собственный стек навигации 📚
import 'package:go_router/go_router.dart'; // Импорт библиотеки go_router
GoRouter generateRouter() {
return GoRouter(
routes: [
// Страница без боковой панели
GoRoute(
name: 'signin',
path: '/signin',
builder: (context, state) => const SignInPage(),
),
// Страница с боковой панелью
StatefulShellRoute(
parentNavigatorKey: navigatorKey, // Ключ навигатора родительского маршрута
// Боковая панель будет отображаться слева
builder: (context, state, navigationShell) => Row(
children: [
SideBar(state: state), // Боковая панель
Expanded(child: navigationShell), // Содержимое навигации
],
),
// builder будет вызван, когда маршрут активируется
// navigationShell - виджет, который отображает содержимое маршрута
// Он будет показывать текущую последнюю страницу стека навигации для каждой ветки
navigatorContainerBuilder: (
BuildContext context,
StatefulNavigationShell navigationShell,
List<Widget> children,
) {
if (children.isEmpty) {
return SizedBox(); // Пустой контейнер, если нет дочерних элементов
}
return Scaffold(
body: children[navigationShell.currentIndex], // Отображение текущего дочернего элемента
);
},
branches: [
StatefulShellBranch(
routes: [
GoRoute(
name: 'users',
path: '/users',
builder: (context, state) => const UsersPage(),
),
GoRoute(
name: 'user profile',
path: '/users/:userId',
builder: (context, state) => const UserProfilePage(),
),
],
),
StatefulShellBranch(
routes: [
GoRoute(
name: 'notifications',
path: '/notifications',
builder: (context, state) => const NotificationsPage(),
),
],
),
],
),
],
);
}
Оцените новую рубрику 👍👏! Все подобные новости можно найти по хэштегу #FlutterPulseTips. Не забудьте подписаться и следить за новыми советами 🔔
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #FlutterTips #GoRouter #NestedNavigation #FlutterWeb
👍3👨💻1
Привет, программисты! 🤩 У вас когда-нибудь возникала задача связать два виджета в разных частях дерева, чтобы один точно позиционировался относительно другого? 🤔 Это может быть полезно при создании dropdown'ов, подсказок и overlay-элементов 📝. В новой статье Сёрфы делятся гайдом, как связать видженты с помощью LayerLink 📈. Объясняют, как работают target и follower, и почему без них не обойтись при создании этих элементов 🏄. Если вы хотите быть в курсе всех последних новостей и гайдов по Flutter и Dart, то стоит подписаться на flutterpulse 📊! #flutter #dart #flutterpulse 😊
Самые лучшие обновлённые пакеты за последние 24 часа
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
JOSE 0.3.5
Теперь поддерживает архив ^4.0.0 и сжатые данные в JWE.
Лайков: 69, Скачиваний: 375000
https://pub.dev/packages/jose
agora_rtc_engine 6.5.3
Этот пакет используется для добавления функций видео и аудио коммуникаций в приложения, построенные на Flutter.
В новой версии исправлены ошибки компиляции, устранено мерцание видео при изменении разрешения и улучшена совместимость с нижними версиями Flutter SDK.
Пакет имеет 859 лайков и 37300 скачиваний.
https://pub.dev/packages/agora_rtc_engine
envied 1.3.0
Этот пакет позволяет упростить работу с переменными окружения в приложениях Dart/Flutter. Теперь вы можете легко хранить и использовать переменные окружения в своем проекте.
В новой версии расширены ограничения версий для зависимостей build и source_gen.
Пакет envied имеет 851 лайк и более 139 000 скачиваний!
https://pub.dev/packages/envied
talker_logger 5.0.1
Теперь с исправленными документами и обновленной версией share_plus.
Лайков: 49, Скачиваний: 278000.
https://pub.dev/packages/talker_logger
flutter_blue_plus 1.36.7
Этот пакет - плагин Bluetooth Low Energy для Flutter, поддерживающий роль центрального устройства на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлены ошибки на iOS, macOS, Android и Linux, связанные с настройками и логированием.
Пакет имеет 1180 лайков и более 126 000 скачиваний.
https://pub.dev/packages/flutter_blue_plus
image_picker_android 0.8.4+11
Этот пакет используется для реализации функции выбора изображений на Android-устройствах.
Теперь он работает как федеративная реализация, отдельно от image_picker.
Лайков: 29, Скачиваний: 454000.
https://pub.dev/packages/image_picker_android
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #jose #agora_rtc_engine #envied #talker_logger #flutter_blue_plus #image_picker_android
Firebase Messaging Plugin for Flutter 15.2.1
Плагин для Flutter, который позволяет использовать Firebase Cloud Messaging API. Убрано устаревшее сообщение (#16995).
👍 Лайки: 3690, 📥 Скачиваний: 1.1M
https://pub.dev/packages/firebase_messaging
JOSE 0.3.5
Теперь поддерживает архив ^4.0.0 и сжатые данные в JWE.
Лайков: 69, Скачиваний: 375000
https://pub.dev/packages/jose
agora_rtc_engine 6.5.3
Этот пакет используется для добавления функций видео и аудио коммуникаций в приложения, построенные на Flutter.
В новой версии исправлены ошибки компиляции, устранено мерцание видео при изменении разрешения и улучшена совместимость с нижними версиями Flutter SDK.
Пакет имеет 859 лайков и 37300 скачиваний.
https://pub.dev/packages/agora_rtc_engine
envied 1.3.0
Этот пакет позволяет упростить работу с переменными окружения в приложениях Dart/Flutter. Теперь вы можете легко хранить и использовать переменные окружения в своем проекте.
В новой версии расширены ограничения версий для зависимостей build и source_gen.
Пакет envied имеет 851 лайк и более 139 000 скачиваний!
https://pub.dev/packages/envied
talker_logger 5.0.1
Теперь с исправленными документами и обновленной версией share_plus.
Лайков: 49, Скачиваний: 278000.
https://pub.dev/packages/talker_logger
flutter_blue_plus 1.36.7
Этот пакет - плагин Bluetooth Low Energy для Flutter, поддерживающий роль центрального устройства на платформах iOS, macOS, Android, Linux и Web.
В новой версии исправлены ошибки на iOS, macOS, Android и Linux, связанные с настройками и логированием.
Пакет имеет 1180 лайков и более 126 000 скачиваний.
https://pub.dev/packages/flutter_blue_plus
image_picker_android 0.8.4+11
Этот пакет используется для реализации функции выбора изображений на Android-устройствах.
Теперь он работает как федеративная реализация, отдельно от image_picker.
Лайков: 29, Скачиваний: 454000.
https://pub.dev/packages/image_picker_android
#flutter #dart #pubdev #FlutterPulse #FlutterPulseBestPackages #firebase_messaging #jose #agora_rtc_engine #envied #talker_logger #flutter_blue_plus #image_picker_android
Показываем версию вашего приложения
Полезно для поддержки клиентов или просто при тестировании новых сборок из магазинов
Отображение версии приложения может быть очень полезным, особенно когда вы тестируете новые сборки или оказываете поддержку клиентам. Для этого нам понадобится пакет
Далее, вы можете использовать следующий код, чтобы отобразить версию вашего приложения:
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #CodingTips #DevTips
Полезно для поддержки клиентов или просто при тестировании новых сборок из магазинов
Отображение версии приложения может быть очень полезным, особенно когда вы тестируете новые сборки или оказываете поддержку клиентам. Для этого нам понадобится пакет
package_info_plus
. Установите его, добавив в ваш pubspec.yaml:
dependencies:
package_info_plus: ^latest_version
Далее, вы можете использовать следующий код, чтобы отобразить версию вашего приложения:
class AppVersion extends StatelessWidget {
const AppVersion({super.key});
Future<PackageInfo> _getAppVersion() async {
// Получаем информацию о пакете приложения
final packageInfo = await PackageInfo.fromPlatform();
return packageInfo;
}
@override
Widget build(BuildContext context) {
return FutureBuilder<PackageInfo>(
future: _getAppVersion(),
builder: (context, snapshot) {
// Проверяем состояние загрузки данных
if (snapshot.connectionState == ConnectionState.waiting || snapshot.hasError) {
return const SizedBox.shrink(); // Возвращаем пустой виджет, если данные ещё не загружены или произошла ошибка
} else {
// Отображаем версию приложения и номер сборки
return Text(
"Version ${snapshot.data?.version}(${snapshot.data?.buildNumber})",
textAlign: TextAlign.center,
style: context.textTheme.bodyMedium?.copyWith(
color: context.colors.onBackground.withOpacity(.6),
),
);
}
},
);
}
}
Оцените новую рубрику и напишите в комментариях, насколько она вам полезна! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileDevelopment #AppDevelopment #CodingTips #DevTips
👍2
Самые лучшие обновлённые пакеты за последние 24 часа
pool 1.5.2
Плагин для управления ограниченным пулом ресурсов, что упрощает работу с большим количеством запросов.
Убрана устаревшая версия Dart, увеличена до 3.4, а также пакет был перенесен в репозиторий dart-lang/tools.
👍 Лайки: 113, 📥 Скачиваний: 5.6М
https://pub.dev/packages/pool
webview_flutter_wkwebview 3.23.1
Плагин для реализации Apple WKWebView в webview_flutter.
В обновлении удалён код для версий iOS старше 13.0 и обновлена минимальная поддерживаемая версия SDK до Flutter 3.35.
👍 Лайки: 43, 📥 Скачиваний: 2.9М
https://pub.dev/packages/webview_flutter_wkwebview
image_cropper 10.0.0+1
Плагин для обрезки изображений.
Теперь README документ для Android исправлен, удалена заметка о работе вокруг ограничений, поскольку uCrop полностью поддерживает функцию edge-to-edge.
👍 Лайки: 2390, 📥 Скачиваний: 388К
https://pub.dev/packages/image_cropper
flutter_login 6.0.0
Плагин для входа и регистрации с множеством анимационных эффектов.
В новой версии произошли следующие изменения:
- Заменен intl_phone_number_input на form_builder_phone_field, что упрощает код и делает плагин совместимым с WASM.
- Обновлены зависимости и исправлены устаревшие члены.
👍 Лайки: 1460, 📥 Скачиваний: 4.7К
https://pub.dev/packages/flutter_login
google_sign_in 7.2.0
Плагин для авторизации с помощью учетной записи Google на платформах Android, iOS, macOS и Web.
В новой версии добавлен метод clearAuthorizationToken для удаления токена доступа из кэша, а также обновлена минимальная поддерживаемая версия SDK до Flutter 3.29/Dart 3.7.
👍 Лайки: 3460, 📥 Скачиваний: 860К
https://pub.dev/packages/google_sign_in
local_auth_darwin 1.6.1
Плагин для реализации аутентификации на устройствах iOS и macOS.
В новой версии удален код для старых версий iOS и обновлена минимальная версия поддерживаемого SDK до Flutter 3.35.
👍 Лайки: 5, 📥 Скачиваний: 984К
https://pub.dev/packages/local_auth_darwin
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #pool #webview_flutter_wkwebview #image_cropper #flutter_login #google_sign_in #local_auth_darwin
pool 1.5.2
Плагин для управления ограниченным пулом ресурсов, что упрощает работу с большим количеством запросов.
Убрана устаревшая версия Dart, увеличена до 3.4, а также пакет был перенесен в репозиторий dart-lang/tools.
👍 Лайки: 113, 📥 Скачиваний: 5.6М
https://pub.dev/packages/pool
webview_flutter_wkwebview 3.23.1
Плагин для реализации Apple WKWebView в webview_flutter.
В обновлении удалён код для версий iOS старше 13.0 и обновлена минимальная поддерживаемая версия SDK до Flutter 3.35.
👍 Лайки: 43, 📥 Скачиваний: 2.9М
https://pub.dev/packages/webview_flutter_wkwebview
image_cropper 10.0.0+1
Плагин для обрезки изображений.
Теперь README документ для Android исправлен, удалена заметка о работе вокруг ограничений, поскольку uCrop полностью поддерживает функцию edge-to-edge.
👍 Лайки: 2390, 📥 Скачиваний: 388К
https://pub.dev/packages/image_cropper
flutter_login 6.0.0
Плагин для входа и регистрации с множеством анимационных эффектов.
В новой версии произошли следующие изменения:
- Заменен intl_phone_number_input на form_builder_phone_field, что упрощает код и делает плагин совместимым с WASM.
- Обновлены зависимости и исправлены устаревшие члены.
👍 Лайки: 1460, 📥 Скачиваний: 4.7К
https://pub.dev/packages/flutter_login
google_sign_in 7.2.0
Плагин для авторизации с помощью учетной записи Google на платформах Android, iOS, macOS и Web.
В новой версии добавлен метод clearAuthorizationToken для удаления токена доступа из кэша, а также обновлена минимальная поддерживаемая версия SDK до Flutter 3.29/Dart 3.7.
👍 Лайки: 3460, 📥 Скачиваний: 860К
https://pub.dev/packages/google_sign_in
local_auth_darwin 1.6.1
Плагин для реализации аутентификации на устройствах iOS и macOS.
В новой версии удален код для старых версий iOS и обновлена минимальная версия поддерживаемого SDK до Flutter 3.35.
👍 Лайки: 5, 📥 Скачиваний: 984К
https://pub.dev/packages/local_auth_darwin
#Flutter #Dart #PubDev #FlutterPulse #FlutterPulseBestPackages #pool #webview_flutter_wkwebview #image_cropper #flutter_login #google_sign_in #local_auth_darwin
И ещё немного про то, что const в dart надо ставить где попало 🤔
В мире разработки на Dart и Flutter часто возникают интересные проблемы, которые требуют нестандартных решений 🤓. Одна из таких проблем связана с использованием dart-define и String.fromEnvironment 🌐. Если вы сталкиваетесь с ситуацией, когда String.fromEnvironment не видит переменные, определенные с помощью dart-define, то это сообщение для вас 📣!
Причина этой проблемы кроется в том, как Dart обрабатывает константы и переменные среды 🌟. Когда вы используете dart-define, чтобы определить переменные среды, они не всегда доступны в рантайме 🕰. Это связано с тем, что String.fromEnvironment требует, чтобы переменные были определены как константы 📝.
Решение этой проблемы простое, но не всегда очевидное 🔮: использовать const при определении переменных 📣! Да, вы правильно прочитали - const не только для констант, но и для того, чтобы сделать ваши переменные среды видимыми в рантайме 🔍.
Итак, если вы столкнулись с проблемой, когда String.fromEnvironment не видит ваши переменные, попробуйте добавить const при их определении 📝. Это должно решить проблему и сделать ваши переменные доступными в рантайме 🌟.
Flutter и Dart - это мощные инструменты для разработки, но иногда требуют творческого подхода к решению проблем 🤔. Итак, помните: const - это не только для констант, но и для того, чтобы сделать ваш код более эффективным и работающим как ожидается 📈.
Подробнее здесь:
#flutter #dart #flutterpulse 🚀💻📱
В мире разработки на Dart и Flutter часто возникают интересные проблемы, которые требуют нестандартных решений 🤓. Одна из таких проблем связана с использованием dart-define и String.fromEnvironment 🌐. Если вы сталкиваетесь с ситуацией, когда String.fromEnvironment не видит переменные, определенные с помощью dart-define, то это сообщение для вас 📣!
Причина этой проблемы кроется в том, как Dart обрабатывает константы и переменные среды 🌟. Когда вы используете dart-define, чтобы определить переменные среды, они не всегда доступны в рантайме 🕰. Это связано с тем, что String.fromEnvironment требует, чтобы переменные были определены как константы 📝.
Решение этой проблемы простое, но не всегда очевидное 🔮: использовать const при определении переменных 📣! Да, вы правильно прочитали - const не только для констант, но и для того, чтобы сделать ваши переменные среды видимыми в рантайме 🔍.
Итак, если вы столкнулись с проблемой, когда String.fromEnvironment не видит ваши переменные, попробуйте добавить const при их определении 📝. Это должно решить проблему и сделать ваши переменные доступными в рантайме 🌟.
Flutter и Dart - это мощные инструменты для разработки, но иногда требуют творческого подхода к решению проблем 🤔. Итак, помните: const - это не только для констант, но и для того, чтобы сделать ваш код более эффективным и работающим как ожидается 📈.
Подробнее здесь:
#flutter #dart #flutterpulse 🚀💻📱
👍1
Ускорьте Firebase Firestore на iOS
Firestore долго компилируется каждый раз, когда вы запускаете приложение с нуля...
...Хорошая новость в том, что есть решение, предоставленное invertase 🙌
Откройте файл podfile для iOS
Добавьте pod 'FirebaseFirestore'... следующим образом:
Вам нужно добавить соответствующую версию, используемую в вашем Flutter-зависимости.
Оцените новую рубрику лайком 👍! Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #iOS #Firestore #MobileDevelopment #FlutterTips
Firestore долго компилируется каждый раз, когда вы запускаете приложение с нуля...
...Хорошая новость в том, что есть решение, предоставленное invertase 🙌
Откройте файл podfile для iOS
Добавьте pod 'FirebaseFirestore'... следующим образом:
target 'Runner' do
use_frameworks!
use_modular_headers!
# ДОБАВЬТЕ ЭТО
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.2.0'
Вам нужно добавить соответствующую версию, используемую в вашем Flutter-зависимости.
Оцените новую рубрику лайком 👍! Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #Firebase #iOS #Firestore #MobileDevelopment #FlutterTips
👍4
Как создать собственный RenderObject 🤔
В этой статье мы поговорим о создании собственных RenderObject в Flutter и о том, как расширять возможности стандартных виджетов 📈. Узнайте, как создавать RenderObject с примерами и разберитесь, как они появляются на свет и какие задачи решают 🌟.
Для программистов: RenderObject в Flutter - это основа для создания сложных интерфейсов 📊. Узнайте о видах RenderObjectWidget, зонах ответственности RenderObject и особенностях встроенных RenderObject 📝.
Хотите узнать, как реализовать уникальные правила взаимодействия виджетов, логику обработки касаний и высокопроизводительные анимации? 🤔 Тогда читайте нашу статью о создании собственного RenderObject в Flutter и создании кастомного виджета MasonryGrid 📚.
В статье мы также рассмотрим создание галереи с помощью MasonryGridRenderObject в Flutter и то, как создать красивую и настраиваемую галерею в своем приложении 📸.
Читать здесь: https://habr.com/ru/articles/947394/
#flutter #dart #flutterpulse 🚀
В этой статье мы поговорим о создании собственных RenderObject в Flutter и о том, как расширять возможности стандартных виджетов 📈. Узнайте, как создавать RenderObject с примерами и разберитесь, как они появляются на свет и какие задачи решают 🌟.
Для программистов: RenderObject в Flutter - это основа для создания сложных интерфейсов 📊. Узнайте о видах RenderObjectWidget, зонах ответственности RenderObject и особенностях встроенных RenderObject 📝.
Хотите узнать, как реализовать уникальные правила взаимодействия виджетов, логику обработки касаний и высокопроизводительные анимации? 🤔 Тогда читайте нашу статью о создании собственного RenderObject в Flutter и создании кастомного виджета MasonryGrid 📚.
В статье мы также рассмотрим создание галереи с помощью MasonryGridRenderObject в Flutter и то, как создать красивую и настраиваемую галерею в своем приложении 📸.
Читать здесь: https://habr.com/ru/articles/947394/
#flutter #dart #flutterpulse 🚀