Записки разработчицы
1.89K subscribers
369 photos
23 videos
4 files
1.08K links
Разговоры об IT, о разработке. О мобилках нативных и кроссплатформенных.
Личный аккаунт @azharkova
Download Telegram
Forwarded from IT's Meetup – митапы, конференции на каждый день
Android Paranoid: митап разработчиков

Как теперь делают приложения в финтехе

➡️ Как в Android запрещали фоновую работу или улучшали расход батареи. Каждая версия Android всё больше ограничивает работу приложения в фоновом режиме. Сделаю разбор всех изменений и расскажу как их учитывать – Кирилл Розов, Тинькофф.

➡️ Темизация в Compose. Первое, с чем пришлось столкнуться при написании UI-библиотеки на Compose — это темизация. Расскажу про способы обращения к ресурсам, рассмотрим плюсы и минусы подходов и напишем свою тему на Compose – Альмир Бурнашев, ЮMoney.

➡️ Практики по разработке большого приложения с нуля. Все любят пет-проджекты — там можно с нуля сделать лучшую архитектуру, идеальный UI... Теперь представьте: вам на основной работе дали задачу разработать с нуля суперапп, который будут развивать десятки разработчиков из разных команд – Даниэл Сергеев, SberDevices.

Регистрируйтесь на Android Paranoid по ссылке.

🗓 7 сентября, 18:00 мск • Онлайн
👍6
Что-то происходит в Иннополисе
Forwarded from Mobile Developer (Алексей Гладков)
Аврора будет совместима с кмм проектами
🔥4🤔2
Forwarded from Mobile Developer (Алексей Гладков)
Flutter тоже будет
🔥5
Пока Аня ездит по конференциям и занимается рабочими релизами тут зарелизили Kotlin Multiplatform 0.3.4 для Android Studio
Forwarded from Kotlin Multiplatform (Kostya)
Зарелизили Kotlin Multiplatform Mobile плагин 0.3.4 для Android Studio!
🚀 Android приложение теперь на Compose
🤌 Билд скрипты переехали на plugins блок
🧑‍💻 Исправили досадный баг с ран кофигурациями на М1
🤠 Выпустили версию для Canary AS
😊 И много прочих улучшений
Вышла книга "Functional Kotlin" за авторством Marcin Moskała, одним из ревьюеров которой я выступила
https://leanpub.com/kotlin_functional
👍34🔥8❤‍🔥3👏21
Forwarded from Android Broadcast (Кирилл Розов)
Что нового в Android Gradle Plugin 7.3.0 (AS Doplhin)
👉 Поддержка произвольной билд системы для C/C++
👉 Kotlin 1.5.20 - минимально поддерживаемый
👉 Включена по умолчанию генерация App Bundle с Store Archival. Это специальная оптимизация на будущее для устройств с маленьким объемом памяти
👉 Вместо объявление пакета через android:package в AndroidManifest.xml теперь надо использовать свойство namespace в build.gradle
👉 Поддержка API Level 33 (Android 13)
🔥2
Итак, этот момент настал 🔥 Релизнулся Kotlin 1.7.20, а вместе с ним и новая модель управления памятью:
https://blog.jetbrains.com/kotlin/2022/09/kotlin-1-7-20-released/

Эпоха статей и докладов про воркараунды и новые костыли закончилась. Время использовать KMM на бою 🔥 если вы еще сомневались и ждали подходящего момента 😉

Также в новой модели памяти улучшили механизмы асинхронного и конкурентного выполнения, добавили поддержку кэша компилятора, что серьезно уменьшает время компиляции, ну и, разумеется, убрали все freeze

Что еще принесла нам новая версия:
- стабилизация K2 плагина компилятора (JVM-only пока)
- новый оператор ..< (экспериментальная фича)
when (value) {
in 0.0..<0.25 -> // first quarter
in 0.25..<0.5 -> // second quarter
in 0.5..<0.75 -> // third quarter
in 0.75..1.0 -> // last quarter <- note closed range here
}

- Generic inline classes
- Оптимизация кейсов для делегированных свойств (крутой механизм, если еще не пробовали)
- Поддержка JVM IR бэкенда для kapt заглушек

Также появляется возможность кастомизации Info.plist файлов в Kotlin Native
🔥4
Итак, теперь всем доступны записи весеннего TechTrain:
https://www.youtube.com/playlist?list=PLmJD_ICvgPy1GIyaNTr2xw4Fg6Q393ENY

Много полезного и интересного 😉
🔥4
Когда не решил, что же лучше, KMM или Flutter, и решил совместить. На самом деле, идея использовать Kotlin и его инструментарий под Dart довольно интересная
Forwarded from Kotlin
Dotlin — это компилятор Kotlin в Dart. Цель состоит в том, чтобы интегрировать Kotlin как язык в экосистему Dart, сочетая лучшее из обоих миров: язык Kotlin и его стандартную библиотеку с экосистемой и системой сборки Dart.

Dotlin использует IR (Immediate Representation) компилятор Kotlin и на его основе генерирует исходный код Dart. Правда, на данный момент поддерживаются не все функции Kotlin.

Support all Kotlin language features
Support the Kotlin standard library
Allow the use of any library written in Dart by generating external Kotlin APIs
Generate code that is still readable and pleasant to use for Dart consumers
Integrate with Dart's build system (e.g. use pubspec.yaml to define dependencies)
Create an IntelliJ/Fleet plugin

https://github.com/dotlin-org/dotlin

✍️ @kotlin_lib
🔥2🤔2
Вчера опробовала Kotlin 1.7.20 в действии. Вжух - и нет проблем с проектом вообще. Ставите последние версии нужных KMM либ, и все работает, как часы.
🔥16
Прежде, чем писать статьи о проблемах технологии, подумайте и проверьте, а правильно ли вы ее используете. KMM позволяет обращаться к UIKit и Foundation в модуле iOSMain на Kotlin Native, можно даже обращаться к нативным фреймворкам и подставлять эти решения как actual имплементации общей логики. Но работу с датчиками (в том числе логика CoreLocation), UI, узкоспецифические платформенные вещи лучше и правильнее делать в нативном проекте, оставляя в shared модуле только интерфейсы и только то, что может быть общим
👍2
Forwarded from iOS.Devs (Surik Sarkisyan)
Вы частенько хейтите статьи о том, почему стоит использовать KMM 🤬
Вот вам статья, где автор говорит о том, что нужно с осторожностью относиться к KMM и перестать восхищаться им 🤨
Посмотрим, что вы скажете на это 🤪
Статья большая, хорошая, с детальным разбором, а не просто хейт ради хейта 👍
https://artandscienceofcoding.com/science/avoid-this-kmm-technique/
👍1
Forwarded from Kotlin Multiplatform Broadcast (Кирилл Розов)
Exploring "select" expression of Kotlin coroutines

select - это специальная функция, которая дожидается результата нескольких suspend функций и возвращает результат первой выполнившейся. В статье разбираются ее подробности и применение

#coroutines
🔥2