Записки разработчицы
1.89K subscribers
369 photos
23 videos
4 files
1.08K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
Forwarded from Android Broadcast
#конференция #CFP

Совсем скоро начнется новый сезон Podlodka Android Crew, членом ПК которой я являюсь. Мы ищем спикеров, которые поделятся по одной из следюйщих тем:
👉 Scoped Storage
👉 Кеширование данных
👉 Room (поглубже чем просто документация по использованию)
👉 Шаринг данных между приложениями (Как приложения общаются между собой)
👉 Любая другая тему в рамках неделей сезона

Что вам даст выступление:
😎 Подготовка под руководством опытного специалиста
🚀 Возможность публикации вашего видео на канале подкаста Podlodka
💰 Доп. заработок - все выступления оплачиваются
💥 Популярность - выход на огромную аудиторию, которая пополняется каждый сезон

Ждём ваших заявок!
Завтра выступлю здесь https://gdg.community.dev/events/details/google-gdg-helwan-presents-android-worldwide-july-2021/
Доклад посвящен KSP (Kotlin Symbol Processing), его использованию в KMM, да еще и с работой под iOS

Статью по горячим следам я планирую сделать до конца июля, т.е до этой сб.

Пока вкратце:
1. Да, мне удалось это подключить к KMM.
2. Да, оно работает под iOS.

Есть некоторые моменты, которые ставят под сомнение его использование в продакшене. Однако, это даже не столько некоторые нюансы работы с iOS, сколько крайне экспериментальный статус и плавающая стабильность.
Вы еще не освоили Compose? А он уже мультиплатформ. Правда, только под десктоп и веб и еще альфа, но уже доступен)
#compose

Compose Multiplatform goes Alpha, unifying Desktop, Web, and Android UIs

👉 Compose Desktop и Web перешли в альфу
👉 Унификация разработки Desktop, Web и Android UI
👉 Релиз 1.0 собираются сделать в этом (2021) году
👉 Новые плагины для IDEA и Android Studio для Compose Multiplatform

Что нового в Compose Desktop:
👉 Composable Window APIs теперь используется по умолчанию
👉 Адаптивный размер окна
👉 Новые фичи для меню окон
👉 Поддержка контекстных меню
👉 Изменение поведения курсор и API для иконки курсора
👉 Модификатор Mouse Clickable
👉 Унификация ресурсов графики
👉 Поддержка Linux ARM64
само собой, что еще и Android)
Итак, в прошлый вторник я доделала то, над чем корпела весь июль почти без передышки. Я выступила с докладом на Android WorldWide! В качестве темы я выбрала... KSP в мультиплатформенном проекте. Разумеется, под Kotlin Multiplatform. Только я не учла, что под Kotlin/native он не собирается из-под коробки. И есть много неописанных нюансов подключения к мультиплатформенному проекту в принципе. Но в итоге у меня получилось подключить его и к KMM, и сделать даже генерацию кода под мою либу для DI

https://www.youtube.com/watch?v=2OCMzJVB4Yo&t=2257s

https://github.com/anioutkazharkova/ksp-di-playground
И огромное спасибо команде Koin за их playground. Реально лучший сэмпл для работы и изучения
Сегодня мы писали простой UI, но с использованием расширенного и продвинутого инструментария новых версий SwiftUI. А завтра затронем не только бизнес-логику на Combine, но и новинки асинхронного программирования
Вышла версия 1.5.30 Kotlin:
https://www.youtube.com/watch?v=rNbb3A9IdOo

Cреди основных изменений
- Sealed when выражения
- Поддержка f suspend functions в качестве супертипов
- Type inference для рекурсивных дженериков
- JS IR переходит в Beta

А также:
https://kotlinlang.org/docs/whatsnew1530.html#experimental-interoperability-with-swift-5-5-async-await
Если вы недавно стали ведущим разработчиком или старший разработчик, но думаете о развитии не только в плане качества кода, то, возможно, вас заинтересует.

2 сентября Jeroen Leenarts проводит воркшоп для ведущих разработчиков
https://appforce1.paydro.com/lead-developer
https://blog.jetbrains.com/kotlin/2021/08/try-the-new-kotlin-native-memory-manager-development-preview/
И здравствуй, preview нового менеджера управления памятью для Kotlin Native!
Новая версия Kotlin/Native 1.6.0-M1-139 вносит ряд изменений в те решения для работы с многопоточностью:
1. Прощаемся с @SharedImmutable
2. Теперь не нужно использовать freeze()
3. Worker не требуют заморозки и специальных действий для работы с изолированным субграфом объектов.
4. Потокобезопасная инициализация через by lazy {}

Однако, это приносит нам:
1. Необходимость вызова completion handler в Swift коде не в main
2. Чтобы глобальные свойства инициализировались не лениво, надо добавлять новую аннотацию @EagerInitialization
3. По-прежнему надо морозить AtomicReference.

На данном этапе новая модель управления памятью находится в экспериментальном состоянии
Что ж, время выносить свою статью по версии 1.5
#jobboard У нас есть крутой проект (очень крупный), и мы ищем iOS и Android разработчиков. Уникальный шанс принять участие в разработке платформы для жизни миллионов людей и вписать свое имя в историю цифровизации страны
Подробнее о вакансиях - https://career.usetech.ru/new_project/

Кстати, в компании работает реферальная программа и за рекомендацию разработчиков можно получить до 70.000 руб. Подробнее о программе - https://career.usetech.ru/bonus/
Совсем скоро стартует Podlodka Crew по дизайну и одни из спикеров будет автор канала https://t.iss.one/uxrdesign Евгений Шевцов (Usetech)

https://t.co/S6hxJEgYl8?amp=1