I am using build.gradle.kts Jacoco: id(“org.barfuin.gradle.jacocolog”) version “3.1.0” Optics from Arrow library Arrow library generates __OpticsKt files that don’t have coverage in Jacoco. How to ignore them in the build.gradle.kts? Answer You need to add tasks.jacocoTestReport { block: How does it work? It seems like Jacoco uses .class files to generate coverage. Check in your […]
Tag: kotlin
In a previous post I described how to create a Github Repository browser app. The UI in that app was written using XML layouts(imperative UI). In the recent years developers have been finding it easier to define and update the views using the declarative UI paradigm. This leads to Google releasing Jetpack Compose 1.0 in […]
Compose desktop is an upcoming cross-platform framework that promises the building of apps from a single codebase to every desktop and web platform. Since Kotlin Multiplatform is gaining traction, a cross-platform UI framework on top of it seems like a logical step forward. There are tutorials and examples about creating simple widgets and layouts, but […]
Under the Kotlin Native umbrella lie many platforms, like Linux, Windows, or even the Android NDK. Of course it is also available for Apple platforms, which run on Objective-C. How is this interoperability be implemented? Call Swift/Objective-C functions from Kotlin There are 2 options to call native functions from Kotlin: Create a Kotlin function with […]
If a Kotlin developer is familiar with her libraries and language paradigms, it might seem superfluous to learn their counterparts in Mac development. There comes in the possibility to use Kotlin Multiplatform(KMP) in a MacOS app, where familiar libraries and language can be used to generate a .framework, which in turn can be used in […]
The recommended architecture for Android development is MVVM. However, when using Kotlin Multiplatform Mobile(KMM), the Jetpack’s ViewModel is not available. This means a different dependency or architecture needs to be used. There is no official way to go about this, but thanks to the Kotlin community, different approaches have surfaced. Separation of concerns The purpose […]
Kotlin Hydra constructors
After 4 years of Kotlin experience, one of the confusing parts still are the constructors. It appears like every time they seem figured out, you still find yourself googling for a solution in the next project. Compared to Java’s relatively straightforward definitions, Kotlin constructors are like Hydra’s heads. After understanding one concept about them, another […]
Java crypto is like an architect building a house. Architect only knows how to design a house, but needs a construction company to actually build it. In Java, only crypto interface is defined, and a provider is required to actually implement the methods. There are different providers, but one has stood out in the test […]
When developing with any platform, the existence of libraries is assumed. This is to delegate common tasks to out project code, in order to reduce development time and avoid common pitfalls already solved by other developers. Kotlin Multiplatform(KMM) is no different. Available libraries Since Kotlin is becoming more popular among Android/JVM developers, one might expect […]
Overview Kotlin Multiplatform Mobile(KMM) is a new feature from Jetbrains. It is an alpha feature but can already be used to create and publish apps for both iOS and Android. It is possible to write business (network and database) logic in Kotlin, and share this code between iOS and Android. ⛩Architecture Kotlin code compiles into […]