Юрий Петров | 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
А вы знали, что в языке Go есть свои заклинания?
https://go-proverbs.github.io/

0. Избегайте коммуникаций через общую, разделённую память. Наоборот, делитесь данными в памяти через сообщения.
1. Конкурентность и параллелизм — это не одно и то же.
2. Каналы для взаимодействия, мьютексы для разобщения.
3. Чем сложнее интерфейс, тем ненадёжней абстракция.
4. Нулевые значения полезны не меньше других.
5. Пустой интерфейс interface{} не о многом скажет.
6. У всех есть свой годный стиль форматирования кода, стандартное форматирование gofmt — годное для всех.
7. Копирование лучше зависимостей.
8. Защищай системные вызовы в коде тегами сборки.
9. Защищай кросс-вызовы cgo к коду C тегами сборки.
10. Cgo — это не Go.
11. Применяя пакет unsafe, не рассчитывай на какие-либо гарантии.
12. Лучше ясно, чем красиво.
13. Интроспекция ясной не бывает.
14. Значения ошибок — это тоже значения.
15. Недостаточно отлавливать ошибки, нужно их обрабатывать.
16. Полируй архитектуру, внятно называй компоненты, документируй детали.
17. Документация — для пользователей.
18. Не паникуй.

Я думаю, эти заклинания подходят для многих языков программирования. 😊
🔥2
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