Flutter Friendly
Kanalga Telegram’da o‘tish
Канал Friflex о разработке на Flutter. Обновления, плагины, полезные материалы — превращаем знания в реальный опыт, доступный каждому разработчику. 🔗 Наш канал для разработчиков: @friflex_dev 🔗 Канал о продуктовой разработке: @friflex_product
Ko'proq ko'rsatish1 017
Obunachilar
Ma'lumot yo'q24 soatlar
-27 kunlar
-730 kunlar
Ma'lumot yuklanmoqda...
O'xshash kanallar
Ma'lumot yo'q
Muammo bormi? Iltimos, sahifani yangilang yoki bizning qo'llab-quvvatlash boshqaruvchimizga murojaat qiling>.
Taglar buluti
Kirish va chiqish esdaliklari
---
---
---
---
---
---
Obunachilarni jalb qilish
Iyun '26
Iyun '260
0 kanalda
May '26
+8
0 kanalda
Get PRO
Aprel '26
+7
0 kanalda
Get PRO
Mart '26
+17
1 kanalda
Get PRO
Fevral '26
+12
2 kanalda
Get PRO
Yanvar '26
+20
1 kanalda
Get PRO
Dekabr '25
+133
3 kanalda
Get PRO
Noyabr '25
+128
3 kanalda
Get PRO
Oktabr '25
+110
2 kanalda
Get PRO
Sentabr '25
+27
1 kanalda
Get PRO
Avgust '25
+29
1 kanalda
Get PRO
Iyul '25
+146
4 kanalda
Get PRO
Iyun '25
+37
3 kanalda
Get PRO
May '25
+58
3 kanalda
Get PRO
Aprel '25
+44
3 kanalda
Get PRO
Mart '25
+66
4 kanalda
Get PRO
Fevral '25
+71
4 kanalda
Get PRO
Yanvar '25
+66
4 kanalda
Get PRO
Dekabr '24
+345
4 kanalda
| Sana | Obunachilarni jalb qilish | Esdaliklar | Kanallar | |
| 06 Iyun | 0 | |||
| 05 Iyun | 0 | |||
| 04 Iyun | 0 | |||
| 03 Iyun | 0 | |||
| 02 Iyun | 0 | |||
| 01 Iyun | 0 |
Kanal postlari
👀Какой сложный вопрос или тема по Flutter вас сейчас беспокоят?
Может, задача не идет, баг непонятный, или интересно что-то новое разобрать?
Напишите в этой форме — сделаем следующий пост полезным именно для вас
| 2 | 💭Привет! Это Роза, Flutter-разработчица Friflex!
Уверена, многие из вас знакомы с Dart DevTools и уже использовали его для анализа своих Flutter-приложений. Но пробовали ли вы создавать собственные расширения? Недавно у меня была такая задача. Своим опытом я поделилась в этой статье на Хабре. | 0 |
| 3 | Привет, друзья! Делимся нашей страничкой на Хабре, чтобы всегда оставаться на связи.
Там еще шире, глубже и глобальнее про наш любимый Flutter, разработку, ИИ и не только. Больше кейсов, деталей и тем, которые не влезают в короткие форматы.
⭐️Присоединяйтесь здесь
И спасибо, что вы с нами💙 | 0 |
| 4 | 🌸Апрель в календаре и на экране
Весна зовет обновлять визуальное: убирать темные темы и включать легкость. Подготовили заставки с тем самым настроением — когда хочется выдохнуть и улыбнуться.
Скачать — в комментариях 👇 | 0 |
| 5 | Всегда с нетерпением ждем этого дня, чтобы сделать подборку ИТ-мемов
Пусть поводов для улыбки будет больше 💛 | 0 |
| 6 | 🪙Привет! Это Анна, Friflex Flutter Team Lead
Знаете, как во Flutter-приложении получать информацию от аппаратных датчиков движения? Сейчас узнаете!
В этой задаче вам поможет плагин sensors_plus. Как описывают его разработчики — он дает возможность вашему Flutter-приложению обращаться к сенсорам устройства, таким как:
▪️ акселерометр
▪️ гироскоп
▪️ барометр
▪️ магнитометр
Как это работает?
Через плагин приложение обращается в платформу. Натив считывает данные с сенсоров и полученные данные передает во Flutter посредством Streams (потоков). В приложении же вам достаточно подписаться на необходимый поток с данными.
Библиотека дает возможность отслеживать данные по пяти основным событиям:
✔️AccelerometerEvent — ускорение устройства. Это событие не фильтрует гравитацию, поэтому в состоянии покоя покажет всегда 9.8 м/с² вверх
✔️UserAccelerometerEvent — в отличие от AccelerometerEvent отражает только фактическое ускорение устройства. Поток исключает гравитацию, что в состоянии покоя покажет 0
✔️GyroscopeEvent — вращение устройства
✔️MagnetometerEvent — данные окружающего магнитного поля.
✔️BarometerEvent — текущее атмосферное давление
Использовать очень просто. Достаточно подписаться на поток данных по необходимому событию.
late StreamSubscription<AccelerometerEvent> _accelerometerSubscription;
...
_accelerometerSubscription = accelerometerEventStream().listen((event) {
print('x: ${event.x}, y: ${event.y}, z: ${event.z}');
});
Не забывайте закрывать подписки
_accelerometerSubscription.cancel();
Для чего может быть полезно?
Представим, вам нужно сделать реализацию как в банках — при перевороте экрана требуется скрывать или открывать данные на экране. Или при тряске устройства небходимо выполнять перезапрос данных. Для всех этих задач sensors_plus точно будет полезен. | 0 |
| 7 | Привет! Это Анна, лидер Flutter-команды Friflex.
Если перед вами стоит задача добавить во Flutter-приложение аутентификацию по биометрии, с этим может помочь плагин local_auth. Сегодня разберем его функционал и принцип работы.
Библиотека помогает провести локальную аутентификацию с помощью настроек, которые есть на устройстве. Например, пин-кода, сканирования отпечатка пальца или идентификации по лицу (FaceID).
Все работает очень просто: плагин не проверяет код или лицо и отпечаток пальца самостоятельно. Он обращается в систему, запрашивает проверку, и возвращает в приложение простое булево значение. Разберем методы плагина подробнее ⬇️
Для начала нужно создать экземпляр класса LocalAuthentication. Через него будут выполняться все операции.
final localAuth = LocalAuthentication();
Метод isDeviceSupported() проверит наличие любого способа аутентификации на устройстве. А canCheckBiometrics() ответит, доступна ли аутентификация именно по биометрии.
final isDeviceSupported = await localAuth.isDeviceSupported();
final canAuthenticate = await localAuth.canCheckBiometrics;
Еще можно получить список всех доступных на устройстве способов аутентификации по биометрии. Если на устройстве не настроен вход по отпечатку пальца или по лицу, то список придет пустым.
final list = await localAuth.getAvailableBiometrics();
А здесь внимательно: getAvailableBiometrics вернет список только тех биометрических функций, которые настроены пользователем на устройстве. А флаг canAuthenticate просто покажет их наличие.
Дальше самое интересное — проверка. Она выполняется с помощью метода authenticate(). В него можно добавить строку с описанием причины запроса аутентификации. Этот текст пользователь увидит на экране. Также можно задавать ограничения. Например, установить true флаг biometricOnly. Тогда ввод системного пин-кода не будет запрашиваться.
final successAuth = await localAuth.authenticate(
localizedReason: 'ВОЙДИТЕ',
biometricOnly: true,
);
Когда будете интегрировать этот плагин в проект, уделите особое внимание обработке разных сценариев. Потому что смартфонов на рынке много, и важно, чтобы у каждого пользователя был доступ.
С вас ❤️, если было полезно | 0 |
| 8 | Заменят ли агенты разработчиков? | 0 |
| 9 | Насколько вам комфортно доверять агентам критичные функции? | 0 |
| 10 | Какие инструменты и компоненты используете? | 0 |
| 11 | Используете ли вы агентов в работе? | 0 |
| 12 | 😌ИИ-будущее: нас заменят?
Привет, это Катя, Flutter-разработчик Friflex! Сегодня коротко: про всплеск агентов и утилит вокруг них, модели, навыки, MCP и прочие инструменты.
Многие компании уже ищут ИИ-программистов или инженеров продукта, которые умеют не только писать код, но и проектировать и интегрировать агентов в продукт.
Ключевые игроки на рынке ИИ: Anthropic, OpenAI, Google (Vertex AI / PaLM), Microsoft, Meta, Hugging Face, Cohere, Mistral, Stability AI.
Понимаю, многие сейчас напряглись из‑за давления ИИ: страх потерять роль, ускоренные требования к навыкам, неопределенность задач. Именно поэтому важно не пугаться, а погружаться: изучать архитектуры агентов, безопасность, координацию (оркестрацию), CI/CD и продуктовый инжиниринг вокруг них.
Интересна ли вам эта тема? Если да, то дайте знать, какие моменты разобрать подробнее: выбор модели, архитектуру агентов, безопасность и приватность, управление навыками, CI/CD для агентов, кейсы инженера продукта или что-то еще? Пишите темы, а я соберу инфу ⬇️ | 0 |
| 13 | Привет! Это Анна, лидер Flutter-команды Friflex.
Сегодня познакомлю вас с пятью библиотеками, которые помогут вам в создании красивого пользовательского во Flutter-приложении без боли и огромных полотен кода.
flutter_staggered_animations
Эта библиотека позволит вам красиво анимировать отрисовку списков и сеток. Работает с виджетами ListView, GridView, Column и Row. Вид анимации и ее длительность можно задавать самостоятельно, есть возможность комбинировать эффекты между собой. В результате получаем интересную каскадную отрисовку каждого элемента последовательно.
liquid_glass_renderer
Эта библиотека понравится тем, кому пришлась по душе новинка iOS 26 — эффект жидкого стекла. Проект довольно новый, но уже имеет несколько вариантов виджетов. Тут можно создать и единичные стеклянные формы, и формы из нескольких смешанных объектов.
Очень важно — в боевую версию внедрять его пока не стоит, об этом предупреждает и сам автор. Но потрогать на досуге и в личных проектах будет точно интересно.
И тут можно сразу вспомнить более стабильный аналог glass_kit. Он по функциональности, возможно, чуть проще, но все так же достоин внимания.
percent_indicator
Очень простая, но полезная библиотека. Если вам нужно создать какой-то составной индикатор прогресса, она точно придется кстати.
С ее помощью вы можете создать как круговой индикатор, так и линейный. Оба дают возможность самостоятельно рассчитывать прогресс в том соотношении, которое вы зададите.
Индикаторы поддерживают анимации, позволяют добавлять дополнительные виджеты с информацией. А что, на мой взгляд, самое полезное — шкалу прогресса можно окрасить в градиент из нескольких цветов.
skeletonizer
Без скелетонов в современных мобильных приложениях уже никуда, поэтому skeletonizer точно пригодится.
Использование очень простое — вам нужно обернуть виджет, который требует скелетона, в виджет из библиотеки и передать состояние включить/выключить. А вот дальше вы можете модифицировать вид скелетона так, как душе угодно. Рекомендую заглянуть в документацию, там много интересных примеров.
confetti
Хочется добавить праздника в проект? Пожалуйста, конфетти будут в самый раз!
С помощью этой библиотеки вам не составит никакого труда добавить в проект такой сложный эффект в самые короткие сроки. Что самое приятное, внутри много параметров для кастомизации.
❤️ — если присматриваетесь к одной из этих библиотек | 0 |
| 14 | Привет, это Катя, Flutter Dev Friflex! Сегодня разберем, зачем нужны Keys во Flutter, как они работают и когда их стоит (и не стоит) использовать.
Что такое Key?
Key — идентификатор виджета, который помогает Flutter сопоставлять новые виджеты с уже существующими элементами при обновлении дерева.
Как Flutter сопоставляет виджеты без ключей
Когда Flutter получает новый список виджетов при ребилде, он пытается сопоставить их с существующими элементами по позиции и типу (runtimeType). Если порядок элементов изменился или виджеты одного типа поменялись местами, состояние может перескочить на другой элемент — потому что Flutter повторно использовал элемент по индексу.
Пример проблемы без ключей
import 'package:flutter/material.dart';
class ItemWidget extends StatefulWidget {
final String title;
ItemWidget(this.title);
@override
_ItemWidgetState createState() => _ItemWidgetState();
}
class _ItemWidgetState extends State<ItemWidget> {
int counter = 0;
@override
Widget build(BuildContext context) {
return ListTile(
title: Text('${widget.title} ($counter)'),
trailing: IconButton(
icon: Icon(Icons.add),
onPressed: () => setState(() => counter++),
),
);
}
}
При перестановке элементов состояния могут перепутаться
Типы
▫️ValueKey<T> — ключ по значению (идеален для id-модели).
▫️ObjectKey — сравнение по == объекта.
▫️UniqueKey — каждый раз новый ключ (заставляет создать новый Element; сбрасывает состояние).
▫️GlobalKey — глобальная уникальность + доступ к State/Context; использовать экономно (дорогой).
Когда использовать
▫️Динамические списки с добавлением/удалением/реордером — ValueKey(id).
▫️Формы, доступ к State извне — GlobalKey (только при необходимости).
Когда не нужен
В статичных списках и простых элементах без внутреннего состояния. Не ставьте ключи на всякий — если они лишние, то усложняют и могут ухудшать производительность.
Рекомендации
▫️Для сущностей с постоянным id — ValueKey(id).
▫️Если хотите сбросить состояние — UniqueKey.
▫️GlobalKey — только для специфических задач (формы, навигация, тесты).
▫️Если состояние перескакивает — сначала добавьте ключи, а не перестраивайте архитектуру.
И помните, правильный выбор ключа решает распространенные баги с состоянием 🦋 | 0 |
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
