Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added images/2023/02/KMMLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/2023/02/kotlin-1.8.20-beta.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions posts/kmm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
authors:
- Bill Laing


tags:
- Mobile
- KMM
-
date: 2023-02-10T12:00:00.000Z

- title: "The Next Big Thing in Mobile Development - Kotlin Multiplatform Mobile (KMM)"

- image: https://github.com/ippontech/blog-usa/blob/master/images/2023/02/KMMLogo.png
---

![Kotlin Release 1.8.20 Image](../images/2023/02/KMMLogo.png)

Mobile Application Development is going to benefit from a shared code platform Released by [Jet Brains on October 9, 2022 - Kotlin Multiplatform Mobile (KMM)](https://blog.jetbrains.com/kotlin/2022/10/kmm-beta/) as a part of [Kotlin 1.8.20 Beta](https://kotlinlang.org/docs/components-stability.html) .

We at [Ippon Technologies](https://us.ippon.tech/) believe this KMM can fundamentally change Mobile Application Development. Code reuse across both iOS and Android Platforms has normed into Non-Native Cross Platform Solutions. KMM introduces a Native Shared Code solution which will allow a new team structures have the potential to alter the cost equation of Native Development by making teams more efficient.

---

<h2 id="currentState">Current State</h2>

For years mobile development has been dominated by two camps:

- The Android and iOS Native Development Camp that tends to exist on big large projects where the native experience is really more important than cost

- The Cross Platform Camp that tends to be smaller or midsize teams that are trying to leverage write once and/or web technology for affordability

The Native Team was structured with PODs with a 1:1 ratio of Android:iOS developers.
The split technology stack drives a need for specific skills which tends to make that team mix more expensive and complicated to build and manage.
That’s been the status quo for years now and organizations have pushed into one camp or the other given their cost and team structure and work team team reality.

<h2 id="history">History</h2>

For number of years, native development teams have been keeping an eye on a potential technology that would allow for some write once code to defer some costs associated with development.

KMP has been a technology that’s been in development for years now and it’s always had the interest of developing organizations but it’s never been stable enough to it to be adopted for large development organizations. It’s just had too much risk.

Fabian Fagniaz and Willy Rouve do a great job of outlining the Technology in their blog: ![Kotlin Multiplatform (Mobile), one framework to rule them all?](https://blog.ippon.fr/2021/11/26/kotlin-multiplatform-mobile-un-framework-pour-les-gouverner-tous/).

<h2 id="prediction">Prediction</h2>

It’s my prediction that the year 2023 is going to be looked back as the year KMM became a game changer for the mobile development space. The system has been aggressively backed by jet brains who, in late 2022 released the beta version of the framework. They also announced plans to make a stable release hopefully in 2023 and they have a roadmap that is centered around stabilization and getting the framework into the hands of developers deferring additional features until after release.

The fact that the shared code framework is in Kotlin introduces some really interesting things in terms of how we do development. It wouldn’t be atypical that an organization might be doing their back and development in Kotlin, an outgrowth of Java which for years has dominated back in development.

Interestingly enough, this group of developers has been specializing in producing APIs to pass along to the client, and that same interface is the primary target on the client side for shared code .
This presents some interesting potential to re-organize our engineering teams. Whereas in the past we had hard-core, android or iOS, specific engineers, spanning an entire client code base

said in the future we could have true front and specialists that consume a view model that is generated by a Kotlin engineer, spanning the boundary between the backend and the front end and presenting , the front and developers with a mature view model, including business logic, and those from the developers can really concentrate on the declarative nature of jet pack opposed SwiftUI, which in the future can be cross platform, trained and front and engineers, concentrating more on understanding both platforms, but from a front end perspective Allowing to them to specialize more. There’s interesting scale to this also in that the backend developer who now could become a back end and front end developer takes on, and if it makes the transport of data, much more efficient because a single individual could be much more aware of both sides of the street.

<h2 id="ipponWay">The Ippon Way</h2>

<h2 id="conclusion">Conclusion</h2>

Kotlin Multiplatform Mobile (KMM) maturing into a platform with a clear path to STABLE will fundamentally changed the cost of development by allowing backend developers to share their knowledge and skill on the Mobile App development team. That change in the cost equation is going to upset the status quo of cross platform versus native development decision making. With a cost model that is less distinct, native development for small and medium teams is much more feasible.