Юрий Петров | 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