Юрий Петров | 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
Кому интересно глянуть на движки 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
Forwarded from Rui
HarmonyOS Next Developer Preview coming soon...
January, 2024.

Version/版本:HarmonyOS Next Developer Preview
System/系统:OpenHarmony- 4.1.25(Canary1)

Based on OpenHarmony 4.1

First batch, Mate60 and Mate40 series.
👍1
Forwarded from Android Broadcast (Кирилл Розов)
Google выпустила рекомендации как расширить поддержку устройств вашего приложения:
👉 Осторожно с блоком <uses-feature> в AndroidManifest. Он указывает какие фичи (аппаратные и софтовые) должны быть у устройства. Google Play будет фильтровать показ вашего приложения в выдаче
👉 Отдельные запрашиваемые разрешения через <uses-permission> также приводят к требованиям аппаратных фичей по умолчанию, например CAMERA или BLUETOOTH
👉 Помните что подлючаемые библиотеки автоматом все добавляют в AndroidManifest все и то что бы вам там не хотелось. Анализируйте финальный манифест сборки!
👉 Автоматизируйте проверку AndroidManifest на CI с использованием AAPT2 или из Gradle тасков

Про то как управлять финальным AndroidManifest вашего APK рассказал в видео
👍3
Forwarded from Product Friendly
Сейчас, чтобы установить и настроить Flutter, Аврора PSDK, таргеты, необходимо производить много различных действий в строгой последовательности. Можно ли сделать это с помощью нескольких консольных команд?

В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, рассказывает, как автоматизировать процесс благодаря пакету Aurora CLI и установить:

✔️Aurora CLI
✔️Aurora PSDK в автоматическом режиме
✔️ Flutter 3.16.2 в автоматическом режиме

👀 Смотрите туториал по ссылке:
→ Как быстро установить Flutter Аврора+PSDK

И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео 💜
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
В репозиторий по спецификации языка программирования Dart сделали интересный пулл-реквест. А именно, предложение по такой фиче, как Shared Memory Multithreading, где одна из заявленных целей то, что разработчики Dart должны иметь возможность писать конкурентный код, не сталкиваясь с ограничениями изолированной модели. https://github.com/dart-lang/language/pull/3531/files
👍6
Друзья, всех с наступающим новым годом. Хотел рассказать про мой новый курс который называется Dart 3 в действии. Курс очень простой, и рассчитан главным образом на новичков. Но, если вы например хотите подготовиться к собеседованию на позицию Flutter разработчика. Рекомендую его тоже пройти. Данный курс еще не закончен на 100 процентов. Так как, к сожалению, на данный момент платформа Stepik поддерживает только старую версию языка Dart. В связи с этим, я решил не добавлять задания, так как вас только это запутает. Но как только Stepik реализует поддержку языка Dart 3, я начну публиковать задания, и постараюсь вас уведомить об этом.
На данный момент не все темы освещены в курсе, но если вас интересует какая либо тема, напишите пожалуйста мне, я ее обязательно добавлю.
Данный курс будет развиваться как электронная книга для изучения Dart. То есть, если будет выходить новый функционал в языке, я его буду добавлять в курс.
Идея написания данного курса возникла неслучайно. Мне многие пишут и задают вопрос, с чего надо начать изучение Фреймворка Flutter? На, что я всегда отвечал, что нужно сначала изучить язык Dart. Так вот это курс дает основу для изучения и понимая языка. По моим наблюдениям, что бы самостоятельно изучить язык, нужен стимул, нужна цель. Нужно, чтобы человек сам без какой-либо помощи получал и обрабатывал информацию и самое главное сразу же пробовал применить полученные знания. Вот в этот момент и зародилась идея, создать простой и интерактивный курс по программированию.
На курсе мы пройдем основные темы и сразу закрепим знания, создавая текстовую игру. Это не полноценная игра, но сам процесс позволит понять как можно применять знания которые вы получили.
Цена курса чисто символическая, так как если сделать его бесплатным, то необходимо покупать подписку в Stepik. Но моим подписчикам можно использовать промокод MOBILE и получить 50 процентов скидку. Скидка действует до нового года.
Купить курс можно по ссылке: https://stepik.org/a/120892
Если вы не можете оплатить на Stepik, то можно получить доступ на Boosty: https://boosty.to/mr.developer/posts/cbd01f01-cc14-45ff-889d-c45d958ed08e?share=post_link
🔥24🎉31
Юрий Петров | Flutter
Друзья, всех с наступающим новым годом. Хотел рассказать про мой новый курс который называется Dart 3 в действии. Курс очень простой, и рассчитан главным образом на новичков. Но, если вы например хотите подготовиться к собеседованию на позицию Flutter разработчика.…
Друзья, открыл чат по курсу Dart 3 в действии. Можете сюда писать по проблемам , ошибки , те темы которые по вашему мнению раскрыты не в полном объеме. Или предложить свою тему про которую необходимо рассказать. Короче, всех жду😁

https://news.1rj.ru/str/dart_in_action
🔥4👍1
Ловите друзья, очень крутое обновление Flutter Аврора 😊
Обновление от сообщества развития Flutter для ОС Аврора!

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

👉 Поддержка архитектур arm/arm64/x64.
👉 Поддержка ОС Аврора 4/5 версий.
👉 Поддержка эмулятора Аврора SDK 5.
👉 Поддержка нескольких Platform SDK.
👉 Реорганизация структуры проектов.
👉 Проекты получили CHANGELOG.
👉 Оптимизация работы Flutter CLI.
👉 Новая документация.
👉 Фиксы багов.

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

Текущая версия 3.16.2-1 и вы можете получить ее уже сейчас. Все необходимое вы можете найти по ссылке: https://gitlab.com/omprussia/flutter.

Получить Platfrom SDK 5й версии можно по ссылке: https://sdk-repo.omprussia.ru/sdk/installers
🔥7
Ждем 🤷‍♂️
👍1
Друзья, пока есть возможность, подавайте заявку на бета тест встроенного GPT 4 в Codeium. Я подал заявку. Думал что откажут😁😁. А нет, они предоставили доступ. И бесплатно.
https://codeium.com/waitlist/gpt-4?referrer=chat_homepage
🔥4👍3