There are already more mobile devices than people on our planet. Yet the smart mobile device market continues to expand more rapidly than that of any other computing product. This shift towards mobile technologies has a huge impact on the way we do business, communicate and research.
Smart mobile devices are typically operated by mobile operating systems (mobile OSs), that allow various applications (apps) to run, thus enhancing the functionalities of the device. Apps can be games, books, shops, etc. and are generally distributed through online application stores. Most handhelds (mobile devices) have powerful on-board computing capability, Wi-Fi, GPS, ample storage space, built- in camera, and a large screen, contributing to the development of apps that support these device features. 80% of all ‘mobile time’ is already spent in apps, a fact that stresses the importance of mobile application development.
OK, so I know that app development is important but should I learn a specific language to develop for a specific platform (native) or should I keep an open mind and stay flexible?
To answer this question, we have to define what Cross Platform developing is. In my mind Cross platform mobile app development is the development of a piece of software (a single codebase) that runs on multiple operating systems.
Which is better, native app development or cross platform app development?
Cross platform app developement is in many cases better because of the uprising mobile device market, the number of different devices, and the amount of manufacturers. The number of operating systems in the mobile ecosystem is already significant. Currently, there are more than a dozen mobile OSs that allow apps to run in their native environment. All of these apps are developed within a native OS language. So when a company decides to develop an app, they have to target the app for a specific platform (OS). The costs and resources required to target all OSs simultaneously could be substantial.
To maintain development resources and costs within reasonable limits, tools for cross-platform development arose. Ralf-Gordon Jahns states in research2guidance that developers are not fully aware of the potential of these cross-platform tools. He estimates that “the total addressable market for multi-platform app development is worth US $ 2.4bn in 2013”. All platforms have the ability to render websites in browsers. Browser-based apps are called web apps or HTML5 apps and are not physically present on the device, but can be accessed through a bookmark to a web page on the home screen. Web apps simulate the look and feel of native apps but are actually web sites. One disadvantage of web apps is that they are limited in their functionalities because of restricted direct interaction with the underlying hardware of the device.
To overcome the disadvantages of web apps, native containers are used to wrap web apps into native apps that allow access to device capabilities. These apps, referred to as hybrid apps, can be distributed through application stores just like native apps. While the battle for market share between mobile OSs continues, hybrid app development is the future.
Cross platform app development frameworks