Knight on the horizon!
Knight on the horizon to bring peace in our kingdom of mobile application development. Knight is coming and coming strong.
Nowadays lots of companies are going for cross-platform development to reduce development time and cost. Question is … how safe is it for long-term investment? 🤔
I’m working on mobile application development for a while and I saw many cross-platform projects died prematurely. Many projects died because those were depending 100% on 3rd party technologies. When these 3rd party technologies slow down, our projects slow down and when those die, take our projects with those as well. 😥
😭 THEN WHAT ARE WE GOING TO DO? WHO IS GOING TO SAVE US?
Well, we need to evaluate our long-term objectives and find balances. We might have chosen those paths because we didn’t have any other option at that time. But it’s about to change. 😉
3rd party technologies should be our projects’ supports but not souls. Our objective should be using those for our benefits, but if necessary we should be able to cut those off without killing our projects.
Let’s check iOS and Android native technologies.
iOS: Swift + Objective-C + UI Components (Proprietary).
Android: Kotlin + Java + UI Components (Proprietary).
Now let’s check widely used cross-platform technologies nowadays.
React Native: JavaScript + UI Components (Proprietary).
Flutter: Dart + UI Components (Proprietary).
We write whole application in React Native or Flutter. Those compile whole application natively for platforms.
As we can see, there are no common grounds between iOS/Android and React Native/Flutter in terms of technologies until compilation. 🥺
We just can’t cut those off whenever we want because whole existences of our applications depend on their existences. React Native and Flutter don’t correspond to native iOS and Android technologies until compilation.
Behold! Knight aka Kotlin Multiplatform is here to save us. 🛡
Kotlin Multiplatform allow us to compile codes and create libraries in native languages and formats. This technology compile codes written in Kotlin and generate libraries for Android and frameworks for iOS.
Check out: 😃 Kotlin Multiplatform 😍
We should develop user interface natively for platforms to provide native experience, smooth performance and customization whenever necessary.
We can compile sharable codes e.g. business rules, etc written for Android projects with Kotlin Multiplatform and can use those for iOS projects.
Later, if we don’t want to continue cross-platform development or share codes among platforms, we can just write those codes e.g. business rules, etc for iOS projects natively. Android projects can keep using existing codes as those are written in Kotlin.
Even after separation, both iOS and Android projects are alive and developments can continue independently with native technologies. 😍
Don’t worry! Our knight aka Kotlin Multiplaform is coming. Everything will be alright soon. 😁