Еще про навигацию! ❤️
https://habr.com/ru/articles/799033/
https://habr.com/ru/articles/799033/
Хабр
Внедрение библиотеки навигации Modo в многомодульный Compose проект
В данной статье вы ознакомитесь с довольно простой навигацией для Android. В статье рассказывается про применение библиотеки в многомодульном проекте. Если вы хотите узнать как работает навигация этой...
Почему надо использовать toolchains вместо jvmTarget в конфигурации билда 🧑💻
https://jakewharton.com/kotlins-jdk-release-compatibility-flag/
(надо бы свои визарды обновить ☺️)
https://jakewharton.com/kotlins-jdk-release-compatibility-flag/
(надо бы свои визарды обновить ☺️)
Jake Wharton
Kotlin's JDK release compatibility flag – Jake Wharton
штош: Джейк сдержал слово и аргументированно рассказал, почему не стоит использовать toolchain-ы в ваших билдах! Приглашаю к ознакомлению 🧑💻
https://jakewharton.com/gradle-toolchains-are-rarely-a-good-idea/
https://jakewharton.com/gradle-toolchains-are-rarely-a-good-idea/
С новой моделью памяти и мультиплатформенными корутинами писать общий код стало гораздо удобнее и проще. В статье показано, что теперь создавать шаренные ViewModel не требует знания платформенных особенностей совсем 👍
https://habr.com/ru/companies/usetech/articles/802111/
https://habr.com/ru/companies/usetech/articles/802111/
Мультплатформенный DI фреймворк. 🌈
Быстрее Dagger 2 и удобнее Hilt. 🔥
С поддержкой compile time проверок графа зависимостей! 😻
С большим количеством интеграций к другим библиотекам и фреймворкам 🤝
Небольшая статья о том, как всю эту Koin радость использовать в своих проектах!
https://medium.com/koin-developers/getting-to-know-koin-annotations-ae20155d1b59
Быстрее Dagger 2 и удобнее Hilt. 🔥
С поддержкой compile time проверок графа зависимостей! 😻
С большим количеством интеграций к другим библиотекам и фреймворкам 🤝
Небольшая статья о том, как всю эту Koin радость использовать в своих проектах!
https://medium.com/koin-developers/getting-to-know-koin-annotations-ae20155d1b59
Обновил свой визард:
👉 генерится новый проект
👉 анимации в семпле
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 самый актуальный билд конфиг (от гредл пропертей до советов Джейка В.)
https://terrakok.github.io/Compose-Multiplatform-Wizard/
👉 генерится новый проект
👉 анимации в семпле
👉 из коробки используются ресурсы: иконки, текст и кастомный шрифт
👉 самые свежие версии всех компонентов
👉 самый актуальный билд конфиг (от гредл пропертей до советов Джейка В.)
https://terrakok.github.io/Compose-Multiplatform-Wizard/
Меня так вдохновили ваши лайки, что решил вместо сна допилить пару вещей ❤️
🧑💻 добавил WasmJs таргет (учтите, что большинство библиотек его не поддерживает)
🌈 добавил генерацию common Compose UI тестов
🥳 тесты можно запустить прямо на иОС или андроид симуляторе из терминала
P.S: js и wasm экспериментальные, поэтому там с тестами не так гладко. Есть еще над чем поработать 😉
https://terrakok.github.io/Compose-Multiplatform-Wizard/
🧑💻 добавил WasmJs таргет (учтите, что большинство библиотек его не поддерживает)
🌈 добавил генерацию common Compose UI тестов
🥳 тесты можно запустить прямо на иОС или андроид симуляторе из терминала
P.S: js и wasm экспериментальные, поэтому там с тестами не так гладко. Есть еще над чем поработать 😉
https://terrakok.github.io/Compose-Multiplatform-Wizard/
Включить proguard на андроид просто, и скорее всего он сразу заработает как надо, потому что для этого много сделано внутри, например библиотеки публикуют свои правила для него, и это автоматически подхватывается при сборке. С десктопом все не так, и для каждой зависимости надо будет самому настраивать правила минимизации и обфускации. Но это того стоит!
Статья рассматривает эти проблемы и объясняет пути решения:
https://medium.com/@mike_21858/using-proguard-with-jetpack-compose-desktop-size-reduction-performance-gains-and-pain-481a014c6b0a
Статья рассматривает эти проблемы и объясняет пути решения:
https://medium.com/@mike_21858/using-proguard-with-jetpack-compose-desktop-size-reduction-performance-gains-and-pain-481a014c6b0a
https://github.com/ShreyashKore/wonderous_compose
Я уже упоминал этот проект как-то раз. Очень красиво и работает на всех возможных платформах! (не надо только пробовать веб версию на мобильных устройствах)
А теперь там появились встроенные карты на всех платформах - стоит изучить 😉
Я уже упоминал этот проект как-то раз. Очень красиво и работает на всех возможных платформах! (не надо только пробовать веб версию на мобильных устройствах)
А теперь там появились встроенные карты на всех платформах - стоит изучить 😉
Я только что опубликовал небольшой гредл плагин, чтобы было проще понимать HMPP структуру в проекте.
просто применяете
и вызываете
☺️
https://github.com/terrakok/kmp-hierarchy
просто применяете
plugins {
id("io.github.terrakok.kmp-hierarchy").version("1.1")
}
и вызываете
./gradlew :printHierarchy
☺️
https://github.com/terrakok/kmp-hierarchy
https://touchlab.co/touchlab-build-only-what-you-need
Очередная хорошая статья о KMP от TouchLab! Рассматриваются проблемы скорости билда и пути их решения 🐘
Очередная хорошая статья о KMP от TouchLab! Рассматриваются проблемы скорости билда и пути их решения 🐘
touchlab.co
Beware of Build Time Bloat
Slow Kotlin Multiplatform iOS build times? Many teams are building more architectures than needed or intended. Ensure you are not wasting build time
https://funkymuse.dev/posts/kmp-firebase/
Пошаговая инструкция, как интегрировать Firebase в KMP приложение с iOS и Android таргетами 🤠
Пошаговая инструкция, как интегрировать Firebase в KMP приложение с iOS и Android таргетами 🤠
FunkyMuse
KMP (Kotlin Multiplatform) Firebase setup
Intro
Введение во все основные концепции корутин с удобными блоками кода и поясняющими диаграммами 🧑💻
https://proandroiddev.com/kotlin-coroutines-101-async-programming-in-practice-062b359d502b
https://proandroiddev.com/kotlin-coroutines-101-async-programming-in-practice-062b359d502b
https://kotlinlang.org/docs/apple-privacy-manifest.html
Apple выкатила новые требования для публикации приложений! Теперь, если ваше приложение использует некоторые системные API (например
Как пример: библиотека multiplatform-settings или compose-imageloader 🫠
Update: чтобы увидеть проблему в своем приложении можно воспользоваться https://github.com/Wooder/ios_17_required_reason_api_scanner 🔥
Apple выкатила новые требования для публикации приложений! Теперь, если ваше приложение использует некоторые системные API (например
platform.posix.fstat
), то необходимо при публикации описать причины для этого. Почему это важно? Так как это может делать одна из библиотек, а позаботиться надо вам! (авторы библиотек от Apple туллинга не получили, само собой 👍)Как пример: библиотека multiplatform-settings или compose-imageloader 🫠
Update: чтобы увидеть проблему в своем приложении можно воспользоваться https://github.com/Wooder/ios_17_required_reason_api_scanner 🔥