Юрий Петров | ai engineering
Ir al canal en Telegram
Привет! 👋 Я руководитель отдела разработки. Здесь мы изучаем LLM, автоматизацию с n8n, делаем крутые приложения на Flutter и учим их думать с помощью ИИ. Новости, лайфхаки, интересные кейсы, присоединяйся. #flutter #dart #llm #ai #ollama #n8n #agent #go
Mostrar más1 847
Suscriptores
-124 horas
-97 días
-1730 días
Archivo de publicaciones
Repost from Product Friendly
Если вы когда-нибудь сталкивались с фреймворком Flutter и языком Dart, то наверняка видели маскота – птичку Dash. А знаете, как она появилась?
🟣Идея создать маскота пришла Dart-разработчице Шамс Захур ещё в 2013 году. Через четыре года на тот момент вице-президент Flutter Джоши Джозеф вспомнил эту мысль и предложил разработать персонажа-игрушку для конференции Dart 2018.
🟣Сначала птичка была талисманом только Dart, а не Flutter. Команда Dart создала изображение колибри для корпоративных презентаций. Колибри символизирует, что Dart – это быстрый язык.
🟣Имя для маскота – Dash – выбрала тоже Шамс. Оно гендерно-нейтральное и подходит колибри. К тому же кодовое название проекта Dart раньше было Dash.
Коробки с плюшевыми игрушками Dash доставили в Южную Калифорнию к самому началу конференции, и разработчикам они очень понравились. Так Dash стал маскотом Dart и Flutter.
Ещё больше информации о фреймворке Flutter читайте на нашем сайте в разделах Flutter и Блог 💜
Repost from Oh, my Flutter
Каждый хотя бы раз использовал генерацию кода, но как часто приходилось писать свою?
Порой может возникнуть такая потребность, но кажется, что это очень сложно и не понятно с чего начать.
Предлагаем вам ознакомиться с данной статьей, которая посвящена основам генерации кода с помощью build и source_gen.
📌 Статья
#article
#ohmyteam
#ohmyfedukenukem
Repost 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 #инструкция
Забыл в опросе указать, что не нравиться все варианта 🙈. Пишите в коментах свой вариант, а лучше ссылку на dartpad
Всем привет. Так как бываю на очень много разных проектов, и вижу разные реализации подписки блок на блок. В последнее время задаюсь вопросом, про то как лучше подписывать блок на блок. Например, необходимо отслеживать в блоке профиля состояние изменения магазина, авторизации и так далее. И реагировать при изменении определённым образом.
Для примера написал приложение, где есть блок счетчик и есть блок слушатель, который просто дублирует значение счетчика.
Есть несколько вариантов:
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
Как думаете, какой вариант самый лучший? Хотелось бы послушать ваше мнение.
Всем привет. Так как бываю на очень много разных проектов, и вижу разные реализации подписки блок на блок. В последнее время задаюсь вопросом, про то как лучше подписывать блок на блок. Например, необходимо отслеживать в блоке профиля состояние изменения магазина, авторизации и так далее. И реагировать при изменении определённым образом.
Для примера написал приложение, где есть блок счетчик и есть блок слушатель, который просто дублирует значение счетчика.
Есть несколько вариантов:
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
Как думаете, какой вариант самый лучший? Хотелось бы послушать ваше мнение.
Кому интересно глянуть на движки Flutter Аврора, можно здесь
https://gitlab.com/omprussia/flutter/flutter-engine
Flutter Engine — это портативная среда выполнения для приложений Flutter. Она реализует основные библиотеки Flutter, включая анимацию и графику, файловый и сетевой ввод-вывод, поддержку специальных возможностей, архитектуру плагинов, а также среду выполнения Dart.
Repost from Код Воробья для iOS разработчиков
Вышел 💻 Xcode 15.1:
– 🧩 @IBDesignable официально деприкейтед
– Максросы можно использовать в Playground
– Для ☁️ Xcode Cloud в условия добавили старт только вручную (см. скриншот)
RC совпадает с релизом — если скачивали, обновлять не нужно. Писать под 🥽 visionOS через бету 💻 15.2.
Repost from Vitaliy Zarubin | @keygenqt
#see Стоит посмотреть:
👉 Представление Аврора 5.0.
👉 Новый интерфейс.
👉 Будущее ОС Аврора 4.0.
👉 Новая архитектура aarch64.
👉 Новые инструменты - Flutter.
https://youtu.be/Xxt1xsMxlG8
Repost from Mobile Development by AppTractor
Опубликованы SDK, для которых Apple будет требовать подпись
Если ваше приложение использует эти сторонние библиотеки, то с весны 2024 года вы должны будете включать их в новый манифест конфиденциальности.
1. На WWDC23 компания Apple представила новые декларации конфиденциальности и подписи для SDK, чтобы помочь повысить осведомленность о том, как сторонние SDK используют данные.
2. В файлах манифеста конфиденциальности в едином стандартном формате описываются методы обеспечения конфиденциальности для стороннего кода в приложении.
3. Apple на прошлой неделе перечислила SDK, для которых надо будет делать privacy manifest и подпись. Среди самых заметных и популярных - Alamofire, Charts, Cordova, масса библиотек FB, практически весь Firebase, Flutter, OneSignal, Protobuf, RxSwift, sqflite, UnityFramework.
И что: что-то из разряда объяснения использования
UserDefaults, бессмысленное и беспощадное 😤Repost from Product Friendly
При попытке установки вашего приложения на систему Аврора может возникать неизвестная ошибка, несмотря на успешную сборку и проверку в менеджере RPM. Почему так происходит и как решить эту проблему?
В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, поэтапно разбирает процесс валидации Flutter-пакетов:
✔️проверка RPM-пакета перед установкой
✔️анализ результатов валидации
✔️исправление ошибок
👀 Смотрите туториал по ссылке:
→ Валидатор написанных на Flutter пакетов на ОС Аврора
И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео 💜
Кто не успел посмотреть батл на Яндекс Талкс. KMP vs Flutter, вот можно посмотреть в записи.
https://www.youtube.com/live/OXOMNjIjxO8?feature=shared
Через 20 минут начнутся дебаты KMP vs Flutter.
Посмотреть, можно по ссылке https://yatalks.yandex.ru/ru/live?day=tech&track=interface
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
