Mobile Application Development:

Mobile Application Development is the process of developing software for small, wireless computing devices. Just like developing web applications, mobile application development has its roots in more traditional software development.

There are two dominant platforms in the modern smartphone market:

1.     iOS platform

2.     Android OS platform

The iOS platform is the operating system that powers Apple's popular line of iPhone smartphones. The Android operating system is used not only by Google devices but also by many other manufacturers to build their own smartphones and other smart devices.

Although there are some similarities between these two platforms when building applications, developing for iOS vs. developing for Android involves using different software development kits (SDKs) and different development toolchain. While Apple uses iOS exclusively for its own devices, Google makes Android available to other companies provided they meet specific requirements such as including certain Google applications on the devices they ship. Developers can build apps for hundreds of millions of devices by targeting both of these platforms.

Development Approaches:

When building mobile apps, there are four major approaches that are adopted by developers to build apps. These are:

·        Native Mobile Applications

They are written especially for the platform owners and run directly on their device (iOS or Android). It is built with higher costs and multiple codes bases are required for each different platform however they are optimal in performance.

·        Cross-Platform Native Mobile Applications

Can be written in a variety of different programming languages but they are compiled into a native application running directly on the operating system of the device. It can use the single code base for multiple platforms but depends on several libraries and frameworks.

·        Hybrid Mobile Applications

Hybrid mobile applications are built with standard web technologies - such as JavaScript, CSS, and HTML5 – and then bundled as software to be installed. It provides a shared codebase between web and mobile apps but provides lower performance compared to native apps, with limited support for native device features.

·        Progressive Web Applications (PWAs)

PWAs offer an alternative approach to traditional mobile app development by skipping app store delivery and app installations.  It can be installed by a URL. PWAs are web applications that utilize a set of browser capabilities - such as working offline, running a background process, and adding a link to the device's home screen to provide an 'app-like' user experience. 

Key Mobile Application Services

The services that are included in most mobile apps are:

User sign-up and sign-in, management, Social login (Twitter, Google, Facebook, etc), Push Notifications, Analytics, and User Engagement, Cloud Storage, Real-time and offline data, Chat Bots, Voice, Image, and Video Recognition. 

The lifecycle of Mobile Application Development is: