avatarYanneck Reiß

Summary

JetBrains has officially deprecated the term "Kotlin Multiplatform Mobile (KMM)" in favor of "Kotlin Multiplatform (KMP)" to unify the branding and reduce confusion, emphasizing that KMP is not just for mobile platforms but also for other platforms like desktop and web.

Abstract

During Droidcon Berlin 2023, Hadi Hariri announced that the term "Kotlin Multiplatform Mobile (KMM)" would no longer be used to describe the mobile development aspect of Kotlin Multiplatform. Instead, the unified term "Kotlin Multiplatform (KMP)" will be adopted. This change addresses the previous confusion caused by the separate term, which made it seem like Kotlin Multiplatform and KMM were distinct entities. The decision to deprecate KMM comes after realizing that the introduction of the term led to multiple names and abbreviations being used interchangeably, causing difficulties in content discovery and suggesting that Kotlin Multiplatform was primarily for mobile code sharing. The official Kotlin documentation and related URLs have been updated to reflect this change, and an official blog post by Ekaterina Petrova, a product marketing manager for Kotlin Multiplatform at JetBrains, discusses the rationale behind the deprecation. The move to a single term, KMP, is expected to clarify that Kotlin Multiplatform is a comprehensive solution for developing cross-platform applications across various platforms.

Opinions

  • The author acknowledges the community's confusion over the terms KMP and KMM and appreciates JetBrains' decision to standardize the naming convention.
  • The author humorously notes the frequency of API deprecations in the Android and Kotlin communities, finding it ironic that even JetBrains is now "deprecating" a term.
  • The author believes that the deprecation of the KMM term is a positive step that will help developers understand that Kotlin Multiplatform is not limited to mobile development but extends to other platforms such as desktop and web.
  • The author expresses gratitude towards JetBrains for listening to the community and taking action to clarify the identity of Kotlin Multiplatform as a versatile SDK.
  • The author invites readers to share their thoughts on the update and whether they have experienced similar confusion, indicating a desire for community engagement and discussion on the topic.

Kotlin Multiplatform Mobile Is Dead. Long Live Kotlin Multiplatform

About the deprecation of the Kotlin Multiplatform Mobile (KMM) term

Background image by Christian Muduc

During his keynote at Droidcon Berlin 2023, Hadi Hariri announced an update that has now become the official guideline. From now on, the mobile development aspect of Kotlin Multiplatform will no longer be referred to as a separate product called "Kotlin Multiplatform Mobile (KMM)." Instead, we will use the unified term "Kotlin Multiplatform (KMP)."

Previously, when you visited the following URL: https://kotlinlang.org/lp/mobile/, you would be greeted with some facts about Kotlin Multiplatform Mobile. This quickly gave the feeling that Kotlin Multiplatform and this framework's “mobile version” were separate entities. When visiting the web-archive version of the official Kotlin Multiplatform documentation for developing mobile apps, even here, Kotlin Multiplatform Mobile was introduced as its own SDK:

Kotlin Multiplatform Mobile (KMM) is an SDK designed to simplify the development of cross-platform mobile applications. You can share common code between iOS and Android apps and write platform-specific code only where it’s necessary. Common use cases for Kotlin Multiplatform Mobile include implementing a native UI or working with platform-specific APIs.

However, as JetBrains now officially announced in a recent Tweet, this separation or a second term for the same framework is now deprecated and should no longer be used.

When we now visit https://kotlinlang.org/lp/mobile/, we will be automatically redirected to https://kotlinlang.org/lp/multiplatform/ and also the official documentation got updated accordingly.

Those updates align with an additional official blog post about this update to the naming guidelines, also mentioned in the quoted Tweet from above by the official Kotlin Twitter (or X) account. In this blog article, Ekaterina Petrova, a product marketing manager for Kotlin Multiplatform at JetBrains, discusses the decision to deprecate the term “Kotlin Multiplatform Mobile” (KMM).

For the origin of this naming clash, she mentions that Kotlin Multiplatform was first introduced at KotlinConf 2017 as “Kotlin Multiplatform Projects.” At that time, it was commonly abbreviated to “KMP” or “MPP.” By 2020, the focus shifted towards code-sharing between iOS and Android, prompting the introduction of the separate term “Kotlin Multiplatform Mobile” (KMM) to reflect this new focus.

However, as we all know, introducing the KMM term led to confusion within the developer community. Moreover, existing blog posts, libraries, etc., already referred to the term “KMP,” leading to multiple names and abbreviations (KMP, KMM, MPP) being used interchangeably. This caused difficulties in content discovery and led to the misconception that Kotlin Multiplatform was used mainly for mobile code sharing.

To overcome this problem, the decision was now to deprecate the KMM term and standardize KMP as the solution to these issues.

My thoughts

At least in the Android and Kotlin communities, it has almost become a Meme that APIs get deprecated. Funny enough, JetBrains now also “deprecates” the term for the Kotlin Multiplatform.

Putting jokes aside, taking this step was the right decision. Moreover, I was also confused for quite a while about the meaning of the KMP term and how it differs from KMM due to the interchangeable names that made it sound like two separate products when they are the same.

As we advance, it will get clear to everyone that Kotlin Multiplatform is a way to develop cross-platform applications, not only for mobile platforms but also for other platforms like desktop or web. I am thankful that JetBrains listened to the community's voices and clarified this promising SDK.

What do you think about this update? Have you had the same thoughts? Let me know in the comments!

I hope you had some takeaways. Clap if you liked my article, subscribe to get notified via e-mail, and follow for more!

Kotlin
Kotlin Multiplatform
Crossplatform Mobile App
Mobile App Development
Programming
Recommended from ReadMedium
avatarTobias Wissmueller
Kotlin Multiplatform: Settings

3 min read