A game of developer ecosystems : why mobile developers will be pissed off

It all started PhoneGap, back in 2008 by a small company named Nitobi which was later acquired by Adobe.

They had two beliefs :

  • The web solved cross platform.
  • Technologies deprecate with time.

They decided to bring three shit technologies — HTML, CSS and Javascript for mobile. It went very well and attracted a bunch of toy app developers. Later PhoneGap turned into Apache Cordova and expanded the ecosystem. However, the performance and compatibility problems became worse and worse.

The native development frameworks for Android and iOS also suffered from compatibility problems. As both platforms started to compete by stealing from each other, the operating systems started introducing weird things. So, the frameworks either had to deprecate a bunch of APIs or introduce completely new APIs every year. A nice example of it is notifications API in both frameworks.

And then, some developers started criticizing Objective-C as if it was feeling like writing Ada. Apple became worried about their ecosystem and combined Python, Go and Scala to introduce as a new programming language in 2014 with some shiny, already known words. Apple successfully created a hype around it by introducing new APIs and making it open source later.

Meanwhile, A large amount of cross-platform buzz started to appear. All of them wanted had two main goals:

  1. Single codebase for two platforms.
  2. Either taking money for product or to have dominance over ecosystem

They all started to claim benefits over native development frameworks. Most of them just wanted to do better marketing and earn some bucks from it. Titanium, Iconic, Nativescript and Codename-One were just few of them.

Facebook thought they shouldn’t be behind in the race of developer ecosystems. Things like F8 developer conference and Facebook dev circles started to appear. Later, they announced React Native in 2015, which became very successful because of the popularity of React on web. The performance was still a problem but solved for most business apps.

After the react native, the competition became intense between native development and cross-platform development. Many native app developers started learning multiple cross-platform frameworks. Companies started to pay attention to the cross-platform as they could build with the half of the resources.

Google kept quiet with this war. Then, the same story repeated. Many Android developers started complaining of Java being an old language. It was more like : ‘We are not feeling productive with Java just because iOS devs have Swift and our time is spent envying them.’ Google started worrying about their ecosystem and looking for options. There was one language which was already well-supported on Android. So, they decided to be back in the market by announcing Kotlin. Soon after the announcement, Google’s hard core Java engineers suddenly became Kotlin fans and started creating hype. Few videos were posted on YouTube explaining why they love Kotlin so much!

In the middle, Google’s plans to replace Javascript with Dart failed because of browser vendors. So, they shifted plans from web to mobile and silently built a cross-platform framework named Flutter. About a year after announcing Kotlin, they announced Flutter beta. Google engineers started marketing its performance over react native and calling it future of mobile development. Same videos were posted on YouTube explaining why Google engineers love Flutter so much!

The mobile development is becoming more like javascript frameworks. There are more than ten ways to build the same mobile app. No one of them is a silver bullet. Someone from these giants will bring new frameworks every year claiming so called ‘benefits’ over someone else. This is just a game — a game of developer ecosystem and false marketing. The life of a mobile developer is completely mess between it!