Michael Chepurnyak’s Post

View profile for Michael Chepurnyak, graphic

Founder, CEO at Ein-des-Ein.com

4 cases when you need to bet on Kotlin Multiplatform rather than Flutter Hello, friends! In my last post, I explained the main differences between Flutter and KMP and briefly mentioned criteria for selecting a better option for your project. Today, I would like to provide more examples of when Kotlin Multiplatform would be a better choice than Flutter. As we know, the Kotlin Multiplatform app consists of three parts: general code describing the logic for two platforms at once, interface code for iOS, and interface code for Android. A simple example of what these parts look like in reality: imagine you need to create an app with registration. You will have separate interfaces for Android and iOS, each featuring two input fields, a “next” button, and a space to enter the SMS code. Even for such a simple interface, specific logic needs to be implemented: a timer that tracks the request code time and the rules for sending the code—a shared logic for both iOS and Android. On the other hand, the main idea behind Flutter is to utilize one Dart codebase for both Android and iOS platforms. While KMP focuses on business logic and enables the use of UI creation tools on each platform, Flutter offers its UI widget system, allowing you to create a unified UI across all platforms. Choosing Flutter can be a safe bet if you need to develop an app quickly and are willing to accept design limitations. Flutter development may save up to 40% of development time compared to native app development. However, there are situations when choosing KMP is worth considering. 1: No time to search for developers Working with Flutter requires knowledge of the Dart programming language, thus, finding Flutter developers can be quite challenging. In contrast, KMP requires familiarity with the Kotlin language, making it suitable for any Android developer. 2: You need to utilize Bluetooth, receive calls, use camera and implement other native features Flutter necessitates developing bridges for configuring settings with native features like calls or Bluetooth. In KMP, this functionality is initially implemented, allowing for quicker integration of SDKs from equipment manufacturers. 3: The nativeness of the interface is crucial Flutter offers rapid development but imposes more restrictions on interface implementation. KMP has fewer restrictions but takes longer to create interfaces. If achieving the most native interface for platform users is essential or if you aim to deliver a premium product, then KMP is the way to go. 4: A smooth transition from a native app matters to you With KMP, you don't need to teach developers a new language. You can train iOS developers in Kotlin or focus on their role in interface and platform-specific functions like Bluetooth. KMP allows you to rewrite code in parts, seamlessly integrating new modules into older applications without the need for a complete rewrite, saving time in transitioning to KMP.

  • No alternative text description for this image
Faris Aranki - Strategy and Emotional Intelligence

SUCCESS = IQ x EQ x FQ I help organisations & individuals be more effective today than they were yesterday by providing innovative, emotionally-intelligent facilitation, training and speaking to improve IQ, EQ and FQ

3w

Good to understand the differences 🤔

Hassan Ali Jahangir

Java | Kotlin | Hilt | Jetpack Compose | CoRoutine | MVVM | Live data | Retrofit | WebRTC | Socket

3w

Great post! You clearly explained when Kotlin Multiplatform is a better choice than Flutter. The points about developer availability, native features, interface nativeness, and smooth transitions are very insightful. Thanks for sharing!

Ivan Hrynievych

Driving 20-50% more booked meetings for sales teams & Founders | Sales Ops/SDR Consultant | Sales & Growth Lead @ 3D Source

3w

Sopranos 🫶

See more comments

To view or add a comment, sign in

Explore topics