Flutter Friendly
1.04K subscribers
165 photos
70 videos
1 file
145 links
Канал Friflex о разработке на Flutter. Обновления, плагины, полезные материалы — превращаем знания в реальный опыт, доступный каждому разработчику.

🔗 Наш канал для разработчиков: @friflex_dev
🔗 Канал о продуктовой разработке: @friflex_product
Download Telegram
Как создать эффективный BDUI-фреймворк?

Делимся ключевыми выводами из доклада Никиты Синявина из BetBoom. На CrossConf он поделился опытом использования DUIT. На карточках — ключевые требования к фреймворку, его преимущества и сравнение с DivKit от Яндекса🖱
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2
Юра, Tech Lead Flutter-команды Friflex, поделился новой подробной инструкцией, как установить все необходимое для написания приложения для Aurora на Flutter

Смотреть:
📎на YouTube
📎в VK
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥4👌3
🎁 Вишлисты в студию!

Чтобы близкие знали, что подарить вам, собрали несколько вариантов вишлистов: тут и для души, и для работы. Осталось только поделиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥8👌3
С наступающим Новым годом, Flutter-герои!

Пусть 2025 принесет вам стабильные билды, меньше багов и больше вдохновения.

А мы подготовили для вас Flutter-елочку. Есть предложения, как еще ее можно нарядить?🎄
4🎄3
Привет, Flutter-разработчики! Есть вопрос. Какие функции обязательно должны быть перед выпуском приложения в продакшн? Можно выбрать несколько вариантов или написать свой в комментариях.
Anonymous Poll
10%
Запрос рейтинга
58%
Аналитика (Appmetrica, GA и другие)
34%
Пуши
37%
Форма обратной связи
24%
Поддержка кэширования
13%
Поддержка SSL-pinning
73%
Трекеры ошибок (например, Crashlytics)
6%
Рекламные блоки
31%
Удаленная конфигурация
5
This media is not supported in your browser
VIEW IN TELEGRAM
Релиз приложения + чек-лист для запуска = 🏆

Собрали фичи, которые лучше добавить в приложение перед первым же релизом.

✔️Сбор реакций «нравится — не нравится»
Настроить автоматический запрос можно в виде модального окна с просьбой оценить приложение. Например, изобразить два смайла — веселый и грустный.

✔️Hard/soft update
Чтобы избежать проблем с недоступными или поломанными функциями, лучше использовать Feature Toggle, то есть переключатели.

✔️Аналитика (Appmetrica, GA и другие)
Поможет оценить эффективность приложения и выявить направления для продвижения. Будут полезны такие данные, как количество ежедневной аудитории (DAU), частота использования функций приложения и метрики возврата аудитории.

✔️Push уведомления (Firebase, OneSignal и другие)
Правильно настроенная отправка уведомлений вернет в приложение пользователей, которые давно не заходили.

✔️Форма обратной связи
Это позволит лучше понять путь пользователя в приложении. Настройте пассивный фидбэк, добавив отдельную кнопку «связаться с нами» в меню приложения.

✔️Поддержка кэширования
У этой фичи много плюсов, одна из которых — работа приложения без доступа интернету. Используйте такой вариант локального хранения данных, как хранение в оперативной памяти приложения или сохранение ответов сервера на диск в виде отдельных файлов.

✔️Поддержка SSL-pinning
Привязка сертификата или публичного ключа сервера к клиенту особенно актуальна для приложений, требующих высокого уровня защиты данных.

✔️Трекеры ошибок (FireBase Crashlytics, Appmetrica и другие)
Интеграция с FireBase Crashlytics происходит шаблонно, особенно на Flutter, и не требует дополнительных действий.

✔️Рекламные блоки
Это один из наиболее эффективных инструментов монетизации мобильного приложения. Разместить рекламные блоки можно при запуске или более нативно в контенте приложения.

✔️Удаленная конфигурация приложения
Файл различных конфигураций приложения лежит удаленно на сервере или сервисе. Это позволяет проводить различные эксперименты в приложении, не перевыкладывая его.

Все из списка есть? Ваше приложение готово покорить заказчика и стать любимчиком пользователей.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63💯2🤝1
А вдруг вы прямо сейчас пишете сервис на Dart, задача которого — отправить миллион сообщений ровно в 12 дня? Юрий Петров, Tech Lead Friflex, написал статью, как это можно сделать:

🔸Установить и запустить контейнер с RabbitMQ
🔸Настроить RabbitMQ
🔸Создать Producer (отправителя) на Flutter
🔸Создать Consumer (потребителя) на Flutter

Сохраняйте, чтобы не потерять🔖
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍9🔥6
«Он сказал мне, что жизнь, как в мечте, получу я без всяких преград»🐼

Но только если ваше приложение пройдет аудит. Виды, этапы и как подготовиться — на карточках.

📎Полезные ссылки:
Статья на Хабре
OWASP
Пример чек-листа на Стингрей
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95👍5
This media is not supported in your browser
VIEW IN TELEGRAM
🕊️Знакомьтесь, Flutter Observe @FlutterObserver_bot

Наш Tech Lead Юрий Петров создал Telegram-бота, который отслеживает репозитории Flutter и Dart и оперативно уведомляет о новых релизах и изменениях в ветке STABLE.

➡️Технические детали:
Бот написан на Dart, база данных: SQLite + Drift.

➡️Что дальше?
В планах — добавить дашборды активности репозиториев и возможность отслеживания пакетов на Pub.dev.

@FlutterObserver_bot, запомнили?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥53
This media is not supported in your browser
VIEW IN TELEGRAM
ARB-формат во всей красе

Привет, это Роза, Flutter Dev Friflex. В последнее время я много работаю с локализацией и заметила интересную вещь: ARB-файл часто недооценен. Сейчас расскажу, что это и как работает.

Что это
ARB (Application Resource Bundle) — это, по сути, файл JSON, улучшенный для локализации, с расширением .arb. Проще говоря, там хранятся переводы текста, которые вы видите в приложении. Помимо ключей и строк, ARB поддерживает:
🔴описания контекста
🔴примеры использования
🔴типы данных
🔴форматирование

Например:
{
"@@locale": "ru",
"topicTitle": "Arb-формат во всей красе",
"@topicTitle": {
"description": "Заголовок для статьи про Arb-формат"
}
}


Здесь ключ topicTitle хранит строку, а под @topicTitle — метаданные. При помощи метадаты вы можете указывать для ключей локализации:
🔸context: пояснения для переводчиков и разработчиков
🔸type: указание типа строки или ее назначения
🔸comment: подсказки к строкам

Например:
{
"welcome": "Добро пожаловать, {name}!",
"@welcome": {
"description": "Сообщение для приветствия",
"context": "Для нового пользователя",
"type": "Information",
"comment": "Имя {name} нельзя переводить."
}
}


Где используется
Во Flutter ARB-файлы тесно интегрированы с библиотекой intl, которая отвечает за локализацию.

Как это работает
1️⃣ Создаете отдельные ARB-файлы для всех языков, которые хотите поддерживать.
2️⃣ С помощью команды flutter gen-l10n генерируете Dart-код, который автоматически подтягивает правильные переводы для языка пользователя.
3️⃣ В коде просто обращаетесь к строкам по их ключам, а перевод подставляется автоматически.

❗️В реальных приложениях часто требуется использовать динамические значения внутри строк.

Например, вместо «Привет, Роза!» в строке может быть «Привет, {name}!»

Для этого в ARB-файлах применяются плейсхолдеры. О них я расскажу в следующем посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍76