GraphQL Kotlin 4.0.0 Release
Simplified GraphQL server setup, rewrite of the client, and improved build plugins GraphQL Kotlin consists of a number of libraries that aim to simplify the running of GraphQL servers and clients using Kotlin. It’s been over 10 months since the last major release of graphql-kotlin and after numerous pre-releases, we are pleased to announce the 4.0.0 release! Check out the release notes…
MVI in Kotlin Multiplatform — part 1 (1 of 3)
About a year ago I became interested in some new technology: Kotlin Multiplatform. Since then I have been actively experimenting in this area and promoting this technology within our company. One outcome, for example, is our Reaktive library — Reactive extensions for Kotlin Multiplatform. The story continues here: MVI in Kotlin…
Fixing serialization of Kotlin objects once and for all
Some time ago, I read an article describing a problem experienced with Kotlin objects and serialization using built-in Java methods. The author suggests an amazing solution involving adding the readResolve method to each object implementing java.io.Serializable rather than using instance checks. Despite this approach seemingly being the most correct one…
Reaktive binary compatibility: how we achieve it
As part of the Bumble family — the parent company operating Badoo and Bumble apps — one of my main projects was involved in the team that created Reaktive library — reactive extensions on pure Kotlin. Whenever possible, any library must maintain binary compatibility. Whenever various versions of a library…
Overview of KotlinConf 2019
I’ve been developing with Kotlin for the past two years, and when I was asked if I’d like to attend KotlinConf 2019 with some of my colleagues, my answer was a great, big Y-E-S! Having the chance to attend what is one of the best conferences for mobile devs, I…
Continuous delivery for your Kotlin Multiplatform library
As part of the Bumble family— the parent company operating Badoo and Bumble apps — one of my main projects was involved in the team that created Reaktive library — Reaktive Extensions on pure Kotlin. In the case of Kotlin Multiplatform I discovered that continuous integration and continuous delivery require…
Unidirectional data-flow and the Zen of black box components
This is the third part in a series of articles on Android architecture at Badoo. Here are links to the first two: MVI beyond state reducers Building a system of reactive components with Kotlin Don’t stop at loose coupling It’s pretty much generally recognised that loose coupling is better than tight coupling. If you are…
Pinterest + ktlint = ❤
It’s been nearly a year since Pinterest’s Android codebase became Kotlin-first, and about two years since we adopted ktlint for Kotlin linting and formatting. Today, we’re sharing that Pinterest has officially taken ownership over the project. Initially, we chose ktlint because of its…
Reaktive — a multiplatform library for reactive Kotlin
Reactive programming is really popular today not least because it has loads of plus points: the absence of what is called ‘callback hell’; a built-in mechanism for processing errors; and a functional programming style that reduces the likelihood of bugs occurring. It makes it much easier to write multi-threaded code…
MVI beyond state reducers
This is the first part in a series of articles on Android architecture in Badoo. You can find the next one here: Part II — Building a system of reactive components with Kotlin Story time: problems of state Your application has a state at any given time that determines its behaviour and what the user…
machine-learning
security
performance
amazon-web-services
api
Latest news, articles and updates montly delivered to your inbox.