Юрий Петров | Flutter – Telegram
Юрий Петров | Flutter
1.9K subscribers
434 photos
41 videos
16 files
665 links
Привет! 👋
Я руководитель отдела разработки.
Здесь мы изучаем LLM, автоматизацию с n8n, делаем крутые приложения на Flutter и учим их думать с помощью ИИ.
Новости, лайфхаки, интересные кейсы, присоединяйся.
#flutter #dart #llm #ai #ollama #n8n
Download Telegram
Forwarded from Product Friendly
Wonderous – приложение для Flutter SDK о самых известных памятниках и местах в мире с большим количеством анимаций, эффектов и переходов, которое хорошо отражает возможности визуальной точности Flutter. Как портировать это приложение на ОС Аврора? С какими проблемами можно столкнуться в процессе и как их решить?

В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, делится опытом портирования приложения Wonderous на ОС Аврора:

✔️клонирование проекта на компьютер
✔️добавление поддержки Авроры
✔️запуск Flutter-пакетов на Авроре
✔️настройка доступа к интернету
✔️установка сборки на смартфон

👀 Смотрите туториал по ссылке:
→ Пример портирования Wonderous на Аврора

И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76🔥2
Ищем сильного Джуна, пишите HR 😁
2
Обновление от сообщества развития Flutter для ОС Аврора!

Flutter SDK с поддержкой ОС Аврора получил обновление:

👉 Flutter SDK обновлен до 3.16.2.
👉 Перевели сборку с make на ninja.
👉 Полный журнал сборки.
👉 Добавлена поддержка текстур.
👉 Блокировка ориентации.
👉 Камера: видоискатель, фото, QR.
👉 Обновлен плагин сенсоров.

Поддержка Flutter на ОС Аврора - это совместная работа энтузиастов, специалистов по Flutter из ведущих компаний РФ. Можно поучаствовать кодом и экспертизой - вместе сделаем инструмент лучше.

Текущая версия 3.16.2 и вы можете получить ее уже сейчас. Все необходимое вы можете найти по ссылке: https://gitlab.com/omprussia/flutter.
🔥7
Ожидаемо, Flutter победил без компромиссов 💪
🔥15👎4
Сегодня Google анонсировала Gemini свою GPT нейросеть.
👍1
Forwarded from Product Friendly
При попытке установки вашего приложения на систему Аврора может возникать неизвестная ошибка, несмотря на успешную сборку и проверку в менеджере RPM. Почему так происходит и как решить эту проблему?

В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, поэтапно разбирает процесс валидации Flutter-пакетов:

✔️проверка RPM-пакета перед установкой
✔️анализ результатов валидации
✔️исправление ошибок

👀 Смотрите туториал по ссылке:
→ Валидатор написанных на Flutter пакетов на ОС Аврора

И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Forwarded from Код Воробья для iOS разработчиков
Вышел 💻 Xcode 15.1:

🧩 @IBDesignable официально деприкейтед
– Максросы можно использовать в Playground
– Для ☁️ Xcode Cloud в условия добавили старт только вручную (см. скриншот)

RC совпадает с релизом — если скачивали, обновлять не нужно. Писать под 🥽 visionOS через бету 💻 15.2.
Please open Telegram to view this post
VIEW IN TELEGRAM
Кому интересно глянуть на движки Flutter Аврора, можно здесь
https://gitlab.com/omprussia/flutter/flutter-engine

Flutter Engine — это портативная среда выполнения для приложений Flutter. Она реализует основные библиотеки Flutter, включая анимацию и графику, файловый и сетевой ввод-вывод, поддержку специальных возможностей, архитектуру плагинов, а также среду выполнения Dart.

Инструкция по сборке https://github.com/flutter/flutter/wiki/Compiling-the-engine
Всем привет. Так как бываю на очень много разных проектов, и вижу разные реализации подписки блок на блок. Хотел бы узнать, про то как по вашему мнению лучше подписывать блок на блок. Например, необходимо отслеживать в блоке профиля состояние изменения магазина, авторизации и так далее. И реагировать при изменении определённым образом.
Для примера написал приложение, где есть блок счетчик и есть блок слушатель, который просто дублирует значение счетчика.

Есть несколько вариантов:

1. Подписка блок на блок при передаче блока в конструктор. Но такой подход нарушает правило мягкой связности объектов в domain слое. Получается, что есть жесткая связка между блоками. А это не хорошо. Ну и плюс нагрузка на блок, создание подписок и слушателей, хотя он не должен этого делать. Пример со простым счетчиком и можно глянуть здесь:
https://dartpad.dev/?id=d06329447bf96b62facffafb985eda04

2. Второй вариант. В данном случае подписка происходит на уровне UI в методе initState. То есть, по сути мы создаем подписку на изменения блока на том экране, где это надо. И удаляем когда уходим с экрана. В этом случае блоки не связаны, и сильно разгружены, так как нет подписок внутри блока. Но есть подписка который надо создавать и удалять.
https://dartpad.dev/?id=d4e1141475241f9f713778fbcec8df52

3. Третий вариант, инициализация подписки внутри блока listener. В этом случае блоки не связаны, и сильно разгружены, так как нет подписок внутри блока. Не надо создавать подписки, удалять и так далее.
https://dartpad.dev/?id=bc88d9a6f4320f060c695393eb088a66

4. И последний вариант, через общий репозиторий (аля шина событий). В данном случае UI не занимается подписками. Но есть лишняя сущность репозиторий, который нужно прокидывать в конструкторы блоков.
https://dartpad.dev/?id=1a96bba067b25e330f578d9f2e57b8c7

Как думаете, какой вариант самый лучший? Хотелось бы послушать ваше мнение. Если вам не понравится не один из вариантов, пожалуйста напишите свой в комментариях, а лучше приложите ссылку на DartPad
👍1
Какой вариант самый лучше?
Anonymous Poll
4%
1
11%
2
43%
3
59%
4
Забыл в опросе указать, что не нравятся все варианты🙈. Пишите в коментах свой вариант, а лучше ссылку на dartpad
Forwarded from Product Friendly
🖥 В новой статье на Хабре делимся мыслями нашего разработчика Мурата Насирова о том, как создать federated plugin для Flutter-проекта. Что это такое?

Представьте: у вас кроссплатформенное приложение и вы создаете плагин для работы c bluetooth. Скорее всего, вы работаете как с Android, так и с iOS. Поэтому создаете четыре пакета, где реализация каждого независима друг от друга:
1) flutter_bluetooth;
2) flutter_bluetooth_android;
3) flutter_bluetooth_ios;
4) flutter_bluetooth_platform_interface.

Плагины federated plugins можно создавать сразу для всех доступных платформ, а сегрегация зон ответственности не замедляет разработку. Интересно?

#flutter #howto #инструкция
👍5
Юрий Петров | Flutter pinned «Всем привет. Так как бываю на очень много разных проектов, и вижу разные реализации подписки блок на блок. Хотел бы узнать, про то как по вашему мнению лучше подписывать блок на блок. Например, необходимо отслеживать в блоке профиля состояние изменения магазина…»
Forwarded from Oh, my Flutter (Theodor)
Каждый хотя бы раз использовал генерацию кода, но как часто приходилось писать свою?

Порой может возникнуть такая потребность, но кажется, что это очень сложно и не понятно с чего начать.

Предлагаем вам ознакомиться с данной статьей, которая посвящена основам генерации кода с помощью build и source_gen.

📌 Статья

#article
#ohmyteam
#ohmyfedukenukem
Forwarded from Product Friendly
Если вы когда-нибудь сталкивались с фреймворком Flutter и языком Dart, то наверняка видели маскота – птичку Dash. А знаете, как она появилась?

🟣Идея создать маскота пришла Dart-разработчице Шамс Захур ещё в 2013 году. Через четыре года на тот момент вице-президент Flutter Джоши Джозеф вспомнил эту мысль и предложил разработать персонажа-игрушку для конференции Dart 2018.

🟣Сначала птичка была талисманом только Dart, а не Flutter. Команда Dart создала изображение колибри для корпоративных презентаций. Колибри символизирует, что Dart – это быстрый язык.

🟣Имя для маскота – Dash – выбрала тоже Шамс. Оно гендерно-нейтральное и подходит колибри. К тому же кодовое название проекта Dart раньше было Dash.

Коробки с плюшевыми игрушками Dash доставили в Южную Калифорнию к самому началу конференции, и разработчикам они очень понравились. Так Dash стал маскотом Dart и Flutter.

Ещё больше информации о фреймворке Flutter читайте на нашем сайте в разделах Flutter и Блог 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
11