Кто не успел посмотреть батл на Яндекс Талкс. KMP vs Flutter, вот можно посмотреть в записи.
https://www.youtube.com/live/OXOMNjIjxO8?feature=shared
https://www.youtube.com/live/OXOMNjIjxO8?feature=shared
YouTube
YaTalks 2023: Разработка интерфейсов
Поговорим о хардовых технологиях и значимых трендах в индустрии без привязки к стекам и конкретным инструментам.
00:00:00 Обратный отсчет
00:11:03 Тернистый путь в open source
01:09:03 Виджет Android vs виджет iOS
02:09:20 Тестировать нельзя мучиться: собственная…
00:00:00 Обратный отсчет
00:11:03 Тернистый путь в open source
01:09:03 Виджет Android vs виджет iOS
02:09:20 Тестировать нельзя мучиться: собственная…
🔥6👍1
Forwarded from Product Friendly
При попытке установки вашего приложения на систему Аврора может возникать неизвестная ошибка, несмотря на успешную сборку и проверку в менеджере RPM. Почему так происходит и как решить эту проблему?
В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, поэтапно разбирает процесс валидации Flutter-пакетов:
✔️ проверка RPM-пакета перед установкой
✔️ анализ результатов валидации
✔️ исправление ошибок
👀 Смотрите туториал по ссылке:
→ Валидатор написанных на Flutter пакетов на ОС Аврора
И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео💜
В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, поэтапно разбирает процесс валидации Flutter-пакетов:
👀 Смотрите туториал по ссылке:
→ Валидатор написанных на 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.
–
– Максросы можно использовать в Playground
– Для
RC совпадает с релизом — если скачивали, обновлять не нужно. Писать под
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
https://gitlab.com/omprussia/flutter/flutter-engine
Flutter Engine — это портативная среда выполнения для приложений Flutter. Она реализует основные библиотеки Flutter, включая анимацию и графику, файловый и сетевой ввод-вывод, поддержку специальных возможностей, архитектуру плагинов, а также среду выполнения Dart.
Инструкция по сборке https://github.com/flutter/flutter/wiki/Compiling-the-engine
GitLab
omprussia / Flutter / Flutter Engine · GitLab
Engine Flutter для Flutter SDK с поддержкой ОС Аврора.
Всем привет. Так как бываю на очень много разных проектов, и вижу разные реализации подписки блок на блок. Хотел бы узнать, про то как по вашему мнению лучше подписывать блок на блок. Например, необходимо отслеживать в блоке профиля состояние изменения магазина, авторизации и так далее. И реагировать при изменении определённым образом.
Для примера написал приложение, где есть блок счетчик и есть блок слушатель, который просто дублирует значение счетчика.
Есть несколько вариантов:
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. Подписка блок на блок при передаче блока в конструктор. Но такой подход нарушает правило мягкой связности объектов в 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
Забыл в опросе указать, что не нравятся все варианты🙈. Пишите в коментах свой вариант, а лучше ссылку на 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 #инструкция
Представьте: у вас кроссплатформенное приложение и вы создаете плагин для работы 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
Порой может возникнуть такая потребность, но кажется, что это очень сложно и не понятно с чего начать.
Предлагаем вам ознакомиться с данной статьей, которая посвящена основам генерации кода с помощью 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 и Блог💜
Коробки с плюшевыми игрушками 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.
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 рассказал в видео
👉 Осторожно с блоком <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, чтобы не пропустить новые видео💜
В новом видео Юрий Петров, Flutter Team Lead Friflex и автор канала @mobile_developing, рассказывает, как автоматизировать процесс благодаря пакету Aurora CLI и установить:
👀 Смотрите туториал по ссылке:
→ Как быстро установить Flutter Аврора+PSDK
И подписывайтесь на YouTube-канал Friflex, чтобы не пропустить новые видео
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Forwarded from MADTeacher | Станислав Чернышев
В репозиторий по спецификации языка программирования Dart сделали интересный пулл-реквест. А именно, предложение по такой фиче, как Shared Memory Multithreading, где одна из заявленных целей то, что разработчики Dart должны иметь возможность писать конкурентный код, не сталкиваясь с ограничениями изолированной модели. https://github.com/dart-lang/language/pull/3531/files
GitHub
Shared Memory Multithreading by mraleph · Pull Request #3531 · dart-lang/language
Initial proposal attempting to introduce shared memory multithreading.
/cc @leafpetersen @lrhn @eernstg @munificent
/cc @a-siva @alexmarkov @mkustermann @dcharkes @liamappelbe @chinmaygarde
/fyi @s...
/cc @leafpetersen @lrhn @eernstg @munificent
/cc @a-siva @alexmarkov @mkustermann @dcharkes @liamappelbe @chinmaygarde
/fyi @s...
👍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
На данный момент не все темы освещены в курсе, но если вас интересует какая либо тема, напишите пожалуйста мне, я ее обязательно добавлю.
Данный курс будет развиваться как электронная книга для изучения 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
Stepik: online education
Dart 3 в действии
Запустите свою карьеру разработчика с нашим интенсивным курсом по Dart! Мы предлагаем вам освоить всё от базового синтаксиса до асинхронных операций. Наш курс подготовит вас к реальным проектам, обеспечив глубокое понимание языка и его практическое применение.…
🔥24🎉3❤1
Юрий Петров | Flutter
Друзья, всех с наступающим новым годом. Хотел рассказать про мой новый курс который называется Dart 3 в действии. Курс очень простой, и рассчитан главным образом на новичков. Но, если вы например хотите подготовиться к собеседованию на позицию Flutter разработчика.…
Друзья, открыл чат по курсу Dart 3 в действии. Можете сюда писать по проблемам , ошибки , те темы которые по вашему мнению раскрыты не в полном объеме. Или предложить свою тему про которую необходимо рассказать. Короче, всех жду😁
https://news.1rj.ru/str/dart_in_action
https://news.1rj.ru/str/dart_in_action
🔥4👍1