Author: arvifox
What Is ChatGPT Doing … and Why Does It Work?
Kotlin Symbol Processing API (kapt?)
[https://github.com/android/kotlin/tree/ksp/libraries/tools/kotlin-symbol-processing-api]
Compiler plugins are powerful metaprogramming tools that can greatly enhance how you write code. Compiler plugins call compilers directly as libraries to analyze and edit input programs. These plugins can also generate output for various uses. For example, they can generate boilerplate code, and they can even generate full implementations for specially-marked program elements, such as Parcelable. Plugins have a variety of other uses and can even be used to implement and fine-tune features that are not provided directly in a language.
While compiler plugins are powerful, this power comes at a price. To write even the simplest plugin, you need to have some compiler background knowledge, as well as a certain level of familiarity with the implementation details of your specific compiler. Another practical issue is that plugins are often closely tied to specific compiler versions, meaning you might need to update your plugin each time you want to support a newer version of the compiler.
KSP: Fact or kapt?
06.2021 [https://proandroiddev.com/ksp-fact-or-kapt-7c7e9218c575]
Android KSP guide for dummies by a Dummy: Part 1
04.2022 [https://dev.to/aniketbhoite/android-ksp-guide-for-dummies-by-a-dummy-part-1-3dof]
KSP for Code-Generation
[https://medium.com/google-developer-experts/ksp-for-code-generation-dfd2073a6635]
Announcing Kotlin Symbol Processing (KSP) Alpha
10.02.2021 [https://android-developers.googleblog.com/2021/02/announcing-kotlin-symbol-processing-ksp.html]
Android Compose 2
Navigation
[https://github.com/olshevski/compose-navigation-reimagined]
[https://www.droidcon.com/2022/08/02/painless-typesafe-jetpack-compose-navigation-with-voyager/]
[https://github.com/AlexGladkov/Odyssey]
[https://medium.com/google-developer-experts/modular-navigation-with-jetpack-compose-fda9f6b2bef7]
Jetpack Compose clear back stack, popUpTo/popBackStack inclusive explained
[https://medium.com/@banmarkovic/jetpack-compose-clear-back-stack-popbackstack-inclusive-explained-14ee73a29df5]
State
Effective state management for TextField in Compose
09.2022 [https://medium.com/androiddevelopers/effective-state-management-for-textfield-in-compose-d6e5b070fbe5]
Kotlin coroutines 2
How to pause a coroutine
09.2022 [https://medium.com/mobilepeople/how-to-pause-a-coroutine-31cbd4cf7815]
[https://github.com/Koitharu/pausing-coroutine-dispatcher]
GlobalScope
The reason to avoid GlobalScope
01.2019 [https://elizarov.medium.com/the-reason-to-avoid-globalscope-835337445abc] by Roman Elizarov
Coroutines & Patterns for work that shouldn’t be cancelled
[https://manuelvivo.dev/coroutines-cancellation-exceptions-4] by Manuel Vivo