Intro
I want to give some updates on my thoughts regarding cross-platform vs multiplatform software development.
I touched this topic in my previous post in the beginning of this year.
Recently this topic has been raised a couple of times again in private and professional conversations, mostly fueled by news of big companies leveraging AI to move away from cross-platform (mostly React Native) to native development.
While a few things have changed since then - especially the models got much better and more capable - my overall opinion on this topic has not changed and I want to go a bit deeper into why I think this is the case.
To be clear about the terms: With cross-platform I mean one codebase (e.g. Flutter or React Native) that runs on all platforms. With multiplatform I mean a separate native application for every platform (e.g. Swift for iOS and Kotlin for Android). This is not what the “Multiplatform” in Kotlin Multiplatform means - that one actually shares code between the platforms.
It’s all about resources
It’s not like there were no companies that did multiplatform even before AI. It’s just a matter of resources a company is willing to spend on development of their mobile applications.
This is also true for the big companies that are in the news right now. They always had the resources to go native. AI just made the step cheaper for them. Most companies are not in this position.
As I stated in the previous post already: It is better to have a cross-platform application for all the platforms than to just have one native application for one platform.
It all boils down to the cost and the main thing that AI did was to reduce the cost of creating the code. This is a huge thing but it is by far not the only thing that makes an app.
The anatomy of an application
An application is not just code. In order to have a successful application you need to take care of a lot of things:
- Requirements gathering and analysis
- UI/UX design
- Coding
- Testing
- Deployment
- Maintenance
AI can help on many steps but it cannot reduce the cost of all of them by the same degree that it can for creating the code. I’m pretty sure you don’t want AI to gather your requirements and to define what the business logic of your application should be, do you?
It can help you with this step - sure - but it still involves plenty of human involvement to get this right. Same goes for UI/UX design.
And I’m also pretty sure you don’t want AI to do your final testing. In the end you want to make sure that the use-cases you defined are working as expected. Especially if most of the code has been generated by AI.
The actual numbers and percentages of all those steps are heavily dependent on the application and the team that is developing it but the overall picture stays the same.
What AI does
With multiplatform development you have roughly twice the amount of work for coding, testing and maintenance. So even if AI reduces the cost for coding by 50% - or even 90% - you still have a lot of additional work to do for every platform you want to support.
So in the end AI makes the whole application development process cheaper. The same discussion about cross-platform vs. multiplatform that had to be made before AI still needs to be made with AI. Only the overall cost changed.
So if your budget previously was not enough for multiplatform development it might still not be enough even with AI if you consider all the steps necessary to create a successful application.
The numbers in this little animation are made up, but the shape is what matters: Coding drops by 90%, everything else only a bit, and multiplatform still does not fit into the same budget.
Sure, if your budget was only slightly too small for multiplatform before, AI might be enough to close that gap. But AI makes cross-platform cheaper as well. The money you save there can go into new features, better quality or additional platforms.
Conclusion
AI shifted the cost of application development but it did not change the overall picture. It is the same discussion as before, just with a different cost structure.
If you have the resources of a big company, AI might make going native affordable for you. For everyone else I still think that cross-platform is the better choice.
Comments