Flutter Pulse
1.01K subscribers
580 photos
1 file
1.58K links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1.
Узнайте о новом подходе к автоматизации CI/CD-процессов: преимущества self-hosted решений и настройка физической машины с GitLab CI/CD для Flutter-приложений 📈💻.
Выбор подхода для CI/CD: self-hosted или облачный сервис? Авторы рассматривают плюсы и минусы каждого варианта и объясняют, почему выбрали GitLab CI/CD для автоматизации процессов разработки 🤔.
Почему Docker-OSX не подходит для сборки iOS-приложений и как выбрать правильную физическую машину для CI/CD 📊.
Настройка GitLab Runner на macOS: 4 шага для бесперебойной работы 📈. Узнайте, как настроить автоматический вход, энергосбережение и связку ключей для стабильной работы Runner 🔑.
Обновление GitLab Runner на macOS: решение проблемы зависания и настройка для бесперебойной работы 🚀.
Новый скрипт автоматизации установки зависимостей для разработки мобильных приложений на iOS и Android 📱. Узнайте, как упростить процесс установки Xcode, Homebrew, Ruby, CocoaPods, Flutter и других необходимых инструментов 🛠.
Установка GitLab Runner на macOS: пошаговое руководство 📚. Узнайте, как настроить GitLab Runner для эффективной автоматизации задач на вашем Mac 🖥.
Настройка GitLab Runner для Flutter-проектов: регистрация и подготовка окружения 📈. Узнайте, как правильно настроить GitLab Runner для сборки приложений под Android и iOS 📊.
Установка Flutter и Ruby на macOS: пошаговое руководство 📚. Узнайте, как настроить среду разработки для создания кроссплатформенных приложений с помощью Flutter и управления версиями Ruby 📈.
Настройка CI/CD для Flutter: подготовка физической машины к автоматизации сборки и тестирования приложений для Android и iOS 📊.
Читайте в новой статье все секреты автоматизации процессов разработки с помощью GitLab CI/CD и Flutter! 📚
#flutter #dart #flutterpulse #gitlab #cicd #automatization #development #programming #mobileapps #ios #android #macos #ruby #xcode #homebrew #cocoapods #gitlabrunner
🎯 RuStore — теперь не просто альтернатива, а необходимость
📲 Подписан закон, который обязывает при продаже смартфонов и планшетов в России обеспечивать доступ к установке и обновлению приложений через 🇷🇺 единый магазин RuStore.
💥 Что это значит?
— Устройства, продаваемые в РФ, должны поддерживать RuStore "из коробки"
Никаких блокировок, ограничений или "невидимых барьеров" для российских приложений
Запрещено препятствовать обновлениям, уведомлениям, платежам и работе функций, если они идут через RuStore
— Даже 🍏 устройства, которые традиционно "закрыты", формально обязаны обеспечить такую возможность
🚨 Причём:
📌 В законе отдельно упоминаются производители, ограничивающие доступ к сторонним магазинам.
📌 Закон напрямую запрещает такие ограничения — включая блокировку API, ограничение платежей или недоступность функций для сторонних приложений.

🔥 А значит — не исключено, что в ближайшем будущем можно будет ставить приложения на iOS через RuStore (в теории… но реализация покажет 😉).
📢 Flutter-разработчики, следим за ситуацией внимательно: возможно, скоро откроются новые каналы распространения даже для iOS. А пока — продолжаем пилить 🧱 🧑‍💻.
🔗 Подписывайтесь на FlutterPulse — мы разбираем важные законы, фреймворки, SDK и публикуем апдейты без воды.
💬 Что думаете о нововведении? Откроет ли это путь для Flutter-приложений на iOS вне App Store? Прогнётся ли Apple? Пишите в комментариях!
#RuStore #iOS #Закон #МагазинПриложений #MobileDev #Flutter #flutterdev #flutterpulse #россия #санкции #iosdev #androiddev #appdistribution #russia #technews
🔥5
Изменение яркости системной панели
Отобразить системную панель с правильной яркостью на iOS и Android 🚀

При разработке мобильных приложений важно обеспечить корректное отображение системной панели на разных платформах. В этой статье мы рассмотрим, как изменить яркость системной панели в приложениях Flutter для iOS и Android.

Код для изменения яркости системной панели:

SystemChrome.setSystemUIOverlayStyle(
SystemUIOverlayStyle(
statusBarColor: Colors.transparent, // Прозрачный цвет статус-бара
statusBarBrightness: // Установка яркости статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.light : Brightness.dark,
statusBarIconBrightness: // Установка яркости иконок статус-бара в зависимости от темы
mode == ThemeMode.light ? Brightness.dark : Brightness.light,
),
);


Обратите внимание:
- statusBarBrightness применяется только на Android.
- statusBarIconBrightness также применяется только на Android, но с инвертированными значениями для iOS.

Особенности для iOS: 🤔
На iOS строка состояния может быть изначально скрыта. Чтобы отобразить ее, откройте ваш проект в Xcode и убедитесь, что свойство status bar initially hidden не отмечено.

👍 Оцените нашу новую рубрику советов по Flutter! Ваши отзывы помогут нам сделать контент еще лучше.

Все подобные новости можно найти по хэштегу #FlutterPulseTips

#flutter #dart #flutterpulse #FlutterPulseTips #MobileDev #iOS #Android #FlutterTips #DevTips
👍2
Flutter Pulse
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 1. Узнайте о новом подходе к автоматизации CI/CD-процессов: преимущества self-hosted решений и настройка физической машины с GitLab CI/CD для Flutter-приложений 📈💻.…
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2. 🤩
Узнайте, как автоматизировать сборку и подписание мобильных приложений для Android и iOS с помощью GitLab CI/CD 📈. В новой статье "Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений" вы найдете подробную информацию о том, как упростить процесс сборки и доставки приложений 📦.
В статье также рассказывается об автоматизации сборки Android и iOS приложений с помощью GitLab CI 🤖, а также о настройке окружения и конфигурации инструментов для разработки мобильных приложений с использованием GitLab CI/CD 📊.
Кроме того, вы узнаете о настройке автоматической сборки Flutter-приложений в GitLab CI/CD 🚀, а также о том, как использовать переменные окружения и настраивать правила запуска пайплайнов для эффективной сборки и подписи приложений 📈.
Также в статье обсуждается настройка автоматической подписи приложений для Android и iOS 📝, а также о том, как использовать Fastlane и Gitlab CI/CD для упрощения процесса подготовки приложений для публикации в магазинах 📈.
Читайте полную статью здесь и узнайте, как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений 🤩.
#flutter #dart #flutterpulse #gitlab #ci/cd #автоматизация #мобильные_приложения #android #ios #fastlane #gitlab_cicd
Ускорьте Firebase Firestore на iOS

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
🚀 Flutter 3.38: Новый уровень продуктивности для разработчиков!

Flutter 3.38 уже здесь, и он заставляет писать меньше, а создавать больше! 🔥 Обновление полно крутых фишек, улучшений UI и инструментов для веба, iOS, Android и десктопа.

Главные фишки нового релиза

1️⃣ Сокращения точек в Dart
Пишите лаконично: .start вместо MainAxisAlignment.start и .all(8.0) вместо EdgeInsets.all(8.0)
Поддержка именованных конструкторов и улучшенная читаемость кода

2️⃣ Веб-разработка на новом уровне
Конфигурационные файлы web_dev_config.yaml для хоста, порта и заголовков
Настройки прокси прямо в проекте
Улучшенная горячая перезагрузка, даже с несколькими браузерами

3️⃣ Фреймворк и UI
OverlayPortal для гибкого отображения всплывающих виджетов
Предиктивные переходы назад на Android
Расширенная интеграция с десктопом: информация о мониторах и окнах на Windows
Исправления жизненного цикла виджетов и стабильность ResizeImage

4️⃣ Material & Cupertino
Унификация API через WidgetState
Новые возможности Badge.count(maxCount), InkWell.onLongPressUp
Улучшения iOS-виджетов: CupertinoSlidingSegmentedControl, CupertinoSheet
Полировка компонентов: DropdownMenuFormField, SegmentedButton

5️⃣ Прокрутка и Sliver
Надёжная обработка жестов и точная навигация по фокусу
Новый конструктор SliverGrid.list
Улучшения для сложных макетов и вложенных слайверов

6️⃣ Доступность
SliverSemantics для аннотаций слайверов
AutoComplete сообщает статус поиска
Увеличенные целевые области касания в TimePicker

7️⃣ iOS и Android
Поддержка iOS 26, Xcode 26, macOS 26
Миграция на жизненный цикл UIScene
Совместимость с размером страницы 16 КБ на Android
Исправления утечек памяти и обновление NDK

8️⃣ Двигатель и DevTools
Унификация рендереров CanvasKit и Skwasm
Vulkan/OpenGL ES: стабильность и производительность
Расширенные предварительные просмотры виджетов в IDE (MultiPreview, группы, кастомные аннотации)
Исправления панели сети и Flutter Inspector

9️⃣ Устаревания и важные изменения

Новый flutter.version.json вместо version
Устаревшие свойства CupertinoDynamicColor
Java 17 обязательна для Android

🌟 Flutter 3.38 — это меньше шаблонного кода, больше контроля над UI и продуктивность на всех платформах.

📌 Полезные ссылки:
Полный перевод статьи от нашего канала
Оригинал статьи


#flutter #dart #flutterpulse #FlutterPulsenews #mobiledev #crossplatform #flutterdev #dartlang #UI #DevTools #iOS #Android #webdev
🔥5
Создаём современный iOS 26 Liquid Glass UI в Flutter: проблемы и решения

В iOS 26 Apple представила новый дизайн — Liquid Glass, характеризующийся полупрозрачными контейнерами, яркими градиентами и плавными эффектами размытия. Flutter-разработчикам предстоит адаптировать свои приложения под этот стиль, поскольку виджеты Cupertino всё ещё основаны на старых стандартах дизайна.

В этой статье рассматриваются проблемы, с которыми сталкиваются разработчики при создании Liquid Glass UI в Flutter, и предлагаются решения, включая использование кастомных виджетов, MaterialApp с ThemeData и пакет cupertino_icons. Вы узнаете, как создать современный и элегантный интерфейс, соответствующий новым стандартам iOS 26.

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, чтобы подписчики оценили рубрику.

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #iOS #LiquidGlass #UI #MobileDevelopment #AppDesign
Скрытый файл iOS, который сломал уведомления Flutter: как исправить?

Вы когда-нибудь сталкивались с ситуацией, когда уведомления в вашем Flutter-приложении просто не хотят работать на iOS, несмотря на все ваши усилия по настройке Firebase Messaging и других параметров?

В этой статье разработчик рассказывает, как он после часов дебаггинга обнаружил, что проблема заключалась в отсутствии ключа в файле прав iOS - Runner.entitlements.

В статье вы узнаете:
🔹 Что такое entitlements и как они влияют на работу вашего приложения на iOS.
🔹 Как правильно настроить файл Runner.entitlements для работы push-уведомлений.
🔹 Какие еще функции iOS требуют правильной настройки entitlements.

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, понравилась ли вам эта рубрика!

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #iOS #pushnotifications #entitlements #debugging
😁1
Оптимизация размера Flutter-приложения: с 68 МБ до 27 МБ

Выпуская приложение, вы получаете предупреждение о слишком большом размере APK/IPA? Давайте разберемся, как уменьшить размер релиза, сохранив все функции!

Основная часть статьи посвящена анализу размера APK/IPA и предлагает восемь практических советов по оптимизации. Автор рассматривает такие темы, как:
Правильный выбор артефакта для сборки (переход на AAB или APK, разделённые по ABI)
Использование R8 для удаления неиспользуемого кода и ресурсов
Удаление отладочной информации, но сохранение файлов для деобфускации трассировок
Оптимизация иконок и шрифтов
Уменьшение размера ассетов за счёт точного указания файлов и конвертации в WebP/AVIF
Аудит зависимостей и удаление неиспользуемых плагинов
Отложенная загрузка крупных функций с помощью Dart Deferred
Особенности оптимизации для iOS

Эти советы помогут вам существенно уменьшить размер вашего приложения.

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, чтобы подписчики оценили рубрику.

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #appoptimization #android #ios #performance #apksize #aab #r8 #proguard #splitperabi #treeshakeicons
Flutter Debug Mode Blocked on iOS 26 Devices — Что нужно знать разработчикам

Если вы недавно обновили свой iPhone или iPad до iOS 26, вы, возможно, столкнулись с раздражающей ошибкой при запуске приложения Flutter: mprotect failed: 13 (Permission denied). Внезапно перестают работать горячая перезагрузка и отладочные сборки.

Основная проблема заключается в том, что Apple в iOS 26 ввела более строгие правила защиты памяти, которые конфликтуют с работой Dart VM в режиме отладки. Flutter использует компиляцию Just-In-Time (JIT), которая требует изменения страниц памяти во время выполнения для выполнения нового кода. iOS 26 блокирует это поведение по соображениям безопасности.

Вот, что можно сделать прямо сейчас:
🔹 Используйте режим профиля для тестирования на устройствах: flutter run --profile
🔹 Продолжайте отладку в симуляторе iOS, где по-прежнему доступен режим отладки с горячей перезагрузкой и breakpoints
🔹 Обновите Flutter до версии 3.35 или более поздней: flutter upgrade

📌 Рекомендуемый рабочий процесс:
👉 Разрабатывайте и отлаживайте в симуляторе (доступна горячая перезагрузка)
👉 Тестируйте производительность и поведение на устройствах в режиме профиля
👉 Используйте режим релиза для QA, распространения и сборки App Store

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, чтобы подписчики оценили рубрику.

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #iOS #debugmode #appdevelopment #mobiledevelopment
Flutter Bluetooth Mastery: полное руководство по BLE и Classic с BLoC

Устали бороться с путаницей в Bluetooth? Теперь вы можете стать экспертом в области Bluetooth для Flutter-приложений с чистым и масштабируемым управлением состоянием BLoC!

В этой статье вы узнаете, как работать с Bluetooth Low Energy (BLE) и Bluetooth Classic, когда использовать каждый из них и как построить реальный рабочий код, который обрабатывает все крайние случаи. Вы получите полное руководство по настройке проекта, реализации BLoC-архитектуры и обработке различных сценариев использования Bluetooth в ваших Flutter-приложениях.

Основные темы статьи:
👉 Различия между BLE и Bluetooth Classic
⚙️ Настройка проекта для работы с Bluetooth
📌 Реализация BLoC-архитектуры для управления состоянием Bluetooth
🔹 Примеры использования BLE и Bluetooth Classic в реальных приложениях
Решение распространенных проблем при работе с Bluetooth

🇷🇺 Читать статью на русском

🇬🇧 Read the article in English:
Part 1 → https://telegra.ph/Flutter-Bluetooth-Mastery-BLE-vs-Classic-with-BLoC-The-Guide-Everyone-Wishes-They-Had-Part-1-02-06
Part 2 → https://telegra.ph/Flutter-Bluetooth-Mastery-BLE-vs-Classic-with-BLoC-The-Guide-Everyone-Wishes-They-Had-Part-2-02-06

🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #Bluetooth #BLE #BLoC #FlutterBloc #StateManagement #IoT #SmartDevices #WearableTech #MobileApp #FlutterDev #iOS #Android #FitnessTracker #SmartHome #FlutterTutorial #AppDevelopment #TechGuide
Добавляем изображения в push-уведомления FCM на iOS с Flutter: пошаговое руководство

Вы когда-нибудь пытались добавить изображения в push-уведомления на iOS с Flutter, но сталкивались с неожиданными трудностями? В этой статье вы найдёте подробное руководство по реализации этой функциональности.

В статье рассматривается процесс добавления изображений в push-уведомления FCM на iOS с использованием Flutter. Автор делится своим опытом и описывает основные этапы настройки Notification Service Extension, который необходим для загрузки изображений в уведомления. Вы узнаете, как создать новый таргет в Xcode, настроить Bundle Identifier и добавить необходимый код в NotificationService.swift.

Основные темы, рассмотренные в статье:
👉 Как создать Notification Service Extension и настроить его для работы с push-уведомлениями
⚙️ Подробная инструкция по добавлению нового таргета в Xcode и настройке Bundle Identifier
📌 Как изменить код в NotificationService.swift для обработки изображений в push-уведомлениях
🔹 Решение возможных проблем, которые могут возникнуть при реализации

🇷🇺 Читать статью на русском
🇬🇧 Read the article in English
🌐 Читать оригинал

Все подобные новости ищите по хэштегу #FlutterPulseMedium Напишите, чтобы подписчики оценили рубрику.

FlutterPulse — канал о мире Flutter!

#flutter #dart #flutterpulse #FlutterPulseMedium #pushnotifications #iOS #FCM #Firebase #mobiledevelopment