Skip to main content

Overview

While Kotlin Bloc is a platform-agnostic framework, apps ultimately run on a specific platform with a specific view technology. One of the architectural goals is to be "be as un-opinionated as possible" to support different technologies like Storyboard / Swift UI on iOS or Jetpack Compose / XML layouts + view or data binding on Android. Especially on Android there are many different technologies to implement the user interface: Activities, Fragments, ViewModels, view binding, data binding, RxJava, live data, Kotlin Flow, XML layouts and Jetpack Compose to name the most important ones.

The purpose of Kotlin-Bloc extensions is to support different technologies because, let's face it, most companies can't afford a greenfield approach but need to improve an existing product with existing technologies. Kotlin-Bloc can be added to literally any mobile tech stack, new features can be built using blocs and existing features can be migrated one step at a time. While Kotlin-Bloc was built with multi-platform in mind, it's also a great framework for building "just" a native Android app and the numerous Android Extensions can eliminate lots of existing boilerplate code.