Posted on Leave a comment

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]

Continue reading Kotlin Symbol Processing API (kapt?)
Posted on Leave a comment

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

Continue reading Kotlin coroutines 2