The market for mobile apps is constantly growing. According to Statista research, by 2020 mobile apps are forecast to generate around 189 billion U.S. dollars in revenues via app stores and in-app advertising.
Mobile apps are hot, and the ecosystem of mobile application development is constantly changing. But it wasn’t exactly this way from the beginning.
Most people would probably trace the beginning of mobile apps back to the iPhone, which is far from the truth.
Mobile applications go all the way back to the first handheld computers, which were introduced to the world in early 1990s. The first apps were simple, like word processors and spreadsheets.
With the introduction of the Palm Pilot, a more powerful handheld computer, came the first mobile ecosystem with multiple third-party applications built in C or C++.
Tiny computers (also known as feature phones) were getting faster, and the next big system was Java Micro Edition.
The next revolution was Symbian – built thanks to combined effort of Psion, Ericsson, Nokia and Motorola. Nokia was the biggest market driver for the development of Symbian OS.
At that time, there was an abundance of fragmented platforms, and no central marketplace for applications. Nokia, along with Symbian, died eventually, as it was getting harder to maintain.
The death of Symbian allowed Android to virtually take over the mobile ecosystem after it’s release in 2007. Android was based on the Linux kernel, more powerful than anything before it.
Android dominates the market to this day, and it doesn’t seem to be changing. The ease of development, the open source ecosystem, simple application publishing in the Google Play store – there are many advantages of this platform.
But it has it’s problems, too. It is very fragmented – there are many different live versions of the OS which pose compatibility issues, and device manufacturers often stop updating them.
On the other side of the market (and holding a smaller piece of it) is the second major player – Apple, and the iOS. It was released in 2007, but the history of it’s development goes back all the way to the late 1980s.
The primary programming language used for building iOS apps is Objective C, powered by the Xcode integrated development environment with a built-in iOS simulator.
The iOS ecosystem is less fragmented than Android, and a majority of users are always using the latest available version of iOS, which means less compatibility issues for iOS developers.
But it’s a much more closed platform which restricts the use of APIs, and limits the possibilities for integrating different systems. To publish apps, mobile developers need to pay an annual fee, abide by the application development guidelines of App Store, and go through a rigorous process of review.
Another important player is Windows Phone, the mobile operating system built by Microsoft.
One part of today’s mobile development environment is particularly important, as it is probably the way of the future – hybrid mobile development. It’s possible thanks to the creation of on-native application environments which allow mobile app developers to essentially create web applications for mobile devices, with a few of the environments offering native-level app performance.
Hybrid development allows product teams to build once, and build everywhere – code is reusable across every platform, and compatibility issues are solved thanks to inherent responsive design approach.