Kotlin Multiplatform
2.62K subscribers
84 photos
3 videos
407 links
Русскоязычный канал новостей о Kotlin Multiplatform
Download Telegram
Почему надо использовать toolchains вместо jvmTarget в конфигурации билда 🧑‍💻
https://jakewharton.com/kotlins-jdk-release-compatibility-flag/

(надо бы свои визарды обновить ☺️)
👍5👎2🙏1
штош: Джейк сдержал слово и аргументированно рассказал, почему не стоит использовать toolchain-ы в ваших билдах! Приглашаю к ознакомлению 🧑‍💻
https://jakewharton.com/gradle-toolchains-are-rarely-a-good-idea/
👍13
С новой моделью памяти и мультиплатформенными корутинами писать общий код стало гораздо удобнее и проще. В статье показано, что теперь создавать шаренные ViewModel не требует знания платформенных особенностей совсем 👍

https://habr.com/ru/companies/usetech/articles/802111/
👍19🤯4👎1🤣1
Мультплатформенный DI фреймворк. 🌈
Быстрее Dagger 2 и удобнее Hilt. 🔥
С поддержкой compile time проверок графа зависимостей! 😻
С большим количеством интеграций к другим библиотекам и фреймворкам 🤝

Небольшая статья о том, как всю эту Koin радость использовать в своих проектах!

https://medium.com/koin-developers/getting-to-know-koin-annotations-ae20155d1b59
👍42👎7🥰4
Обновил свой визард:
👉 генерится новый проект
👉 анимации в семпле
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 самый актуальный билд конфиг (от гредл пропертей до советов Джейка В.)

https://terrakok.github.io/Compose-Multiplatform-Wizard/
👍54🔥2010
Меня так вдохновили ваши лайки, что решил вместо сна допилить пару вещей ❤️
🧑‍💻 добавил WasmJs таргет (учтите, что большинство библиотек его не поддерживает)
🌈 добавил генерацию common Compose UI тестов
🥳 тесты можно запустить прямо на иОС или андроид симуляторе из терминала

P.S: js и wasm экспериментальные, поэтому там с тестами не так гладко. Есть еще над чем поработать 😉

https://terrakok.github.io/Compose-Multiplatform-Wizard/
62👍26💘3💅2
Включить proguard на андроид просто, и скорее всего он сразу заработает как надо, потому что для этого много сделано внутри, например библиотеки публикуют свои правила для него, и это автоматически подхватывается при сборке. С десктопом все не так, и для каждой зависимости надо будет самому настраивать правила минимизации и обфускации. Но это того стоит!
Статья рассматривает эти проблемы и объясняет пути решения:
https://medium.com/@mike_21858/using-proguard-with-jetpack-compose-desktop-size-reduction-performance-gains-and-pain-481a014c6b0a
👍14😁1
https://github.com/ShreyashKore/wonderous_compose

Я уже упоминал этот проект как-то раз. Очень красиво и работает на всех возможных платформах! (не надо только пробовать веб версию на мобильных устройствах)
А теперь там появились встроенные карты на всех платформах - стоит изучить 😉
13👍2
Я только что опубликовал небольшой гредл плагин, чтобы было проще понимать HMPP структуру в проекте.
просто применяете
plugins {
id("io.github.terrakok.kmp-hierarchy").version("1.1")
}


и вызываете ./gradlew :printHierarchy
☺️
https://github.com/terrakok/kmp-hierarchy
34👍8😁3🔥2🤮1💩1🤡1
https://touchlab.co/touchlab-build-only-what-you-need

Очередная хорошая статья о KMP от TouchLab! Рассматриваются проблемы скорости билда и пути их решения 🐘
🔥11👎1🤣1
https://funkymuse.dev/posts/kmp-firebase/

Пошаговая инструкция, как интегрировать Firebase в KMP приложение с iOS и Android таргетами 🤠
👍261😎1
Введение во все основные концепции корутин с удобными блоками кода и поясняющими диаграммами 🧑‍💻

https://proandroiddev.com/kotlin-coroutines-101-async-programming-in-practice-062b359d502b
🔥15👍1
https://kotlinlang.org/docs/apple-privacy-manifest.html

Apple выкатила новые требования для публикации приложений! Теперь, если ваше приложение использует некоторые системные API (например platform.posix.fstat), то необходимо при публикации описать причины для этого. Почему это важно? Так как это может делать одна из библиотек, а позаботиться надо вам! (авторы библиотек от Apple туллинга не получили, само собой 👍)

Как пример: библиотека multiplatform-settings или compose-imageloader 🫠

Update: чтобы увидеть проблему в своем приложении можно воспользоваться https://github.com/Wooder/ios_17_required_reason_api_scanner 🔥
😱22👍7🔥2
Пошаговое руководство по запуску Room на мультиплатформе 🌈

https://johnoreilly.dev/posts/jetpack_room_kmp/
👍18🔥115