Записки разработчицы
1.89K subscribers
378 photos
24 videos
4 files
1.09K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
Необычная идея первого приложения. Хочется узнать, какой стек они выбрали для реализации
А вы уже пробовали Firebase ML в своих проектах
Anonymous Poll
0%
Да
53%
Нет, но стало интересно
47%
Нет, и не собираюсь
В этом году я плотно занималась не только SwiftUI, но и #kotlinmultiplatform. Наконец, у меня дошли руки доработать статью по созданию многопоточного приложения KMM, включив материал митапа MobiFest от 7.10
Если вам интересно не только, как реализовать многопоточное приложение для обеих платформ, но и почему общая работа с потоками организуется именно так, то welcome:
https://habr.com/ru/post/533864/
https://habr.com/ru/post/533952/
Если вкратце, то я показываю 2 способа, как можно организовать работу с потоками с учетом особенностей KMM и платформ:
1. Мы используем в общей логике библиотеки, которые внутри реализуют свою многопоточность. Вызываем их напрямую с наших платформенных проектов. Тут все ок. На iOS suspended красиво раскладываются на функции типа с completion handled: (Результат, Error) -> Void
На Android вызываем внутри mainScope

2. Делаем общую и архитектуру. Вызов библиотек перекладываем на посредника. Делаем ему его собственный scope на основе контекста корутины.
А для этого нам нужно задать свои диспетчеры корутин. И если под Android они уже есть (ибо Kotlin/JVM), то под Kotlin/Native их надо делать свои. + мы не можем использовать на iOS очередь из global queue, т.к они под Kotlin/Native ни к чему не привязаны.
В итоге мы делаем диспетчер на main queue. И если мы хотим использовать маршрутизацию в фон, то делаем свой фоновый scope. Не факт, что мы будем использовать только либы со своей многопоточностью же.

Также нам надо предусмотреть корректность передачи нашего диспетчера между потоками
В этот раз мои статьи попали в рубрику "Android".
Вообще в дайджест на этой неделе попало много интересных статей:
1. Apple дополнили свой сайт интересными туториалами и кодлабами по SwiftUI. То, что нужно, чтобы больше узнать про декларативную верстку
3. Статья, как сочетать работу с Coroutines и запросом пермишенов в Android приложении:
https://medium.com/better-programming/when-coroutines-meet-android-permissions-a1f048e70f74

4. Для любителей чего-нибудь эдакого статья по работе с GraphQL в Kotlin приложении . Для тех, кто делает все сам:
https://medium.com/swlh/graphql-kotlin-tutorial-344f5fe0c71a
Forwarded from Android Live 🤖
​​Jetpack Compose — Live coding сессия
#compose #youtube

Друзья, уже сегодня, 21 декабря в 18:30 мы с вами погрузимся в мир Jetpack Compose и создадим рабочее приложение.

По ходу сессии вы сможете задать вопросы нашему гостю Григорьеву Дмитрию, автору канала Jetpack Compose.

Напоминаю, что мы с вами рассмотрим:🔹
🔹как лучше строить архитектуру;
🔹как делать списки из разных типов view;
🔹что делать с навигацией между разными экранами;
🔹как сделать анимации;
🔹что делать с текущими приложениями;
🔹и много другое.

Ссылка на трансляцию тут.
Уже на KotlinBroadcast
#KMP #Multithreading

Kotlin Multiplatform. Работаем с многопоточностью на практике

Разбор применения Coroutine в мультиплатформенном проекте, причем чтобы все это работало во множестве потоков. Для iOS используется специальная версия библиотеки kotlinx-coroutines с постфиксом native-mt в версии, которая позволяет обойти текущие ограничения основной.
Завтра подключаемся к Mobius в 11 Мск)