Mobile Applications have been in existence for over a decade now. Many of us have seen 'Palm pilot', and how Blackberry in its prime was used as the only platform for e-mail communication. Even today many enterprises user Blackberry smartphones for their e-mail. Mobile revolution started when Apple introduced the iPhone, with iOS in 2008 and released their SDK for developers to develop apps for the iPhone. The revolution was followed by the release of Google's open source mobile OS called Android during 2008/2009.
Smartphone market is unlike the PC market, where Microsoft controls 80% of the market share. In the world of mobile though, its Android and iOS who dominate the market. Android has close to 77% market share and iOS around 20%, source: http://www.idc.com/prodserv/smartphone-os-market-share.jsp
Understanding the SmartPhone OS
iOS is promoted by Apple, its a Unix based platform(a stripped down version of Mac OS X). Objective C was the supported programming language for developing both Mac and iOS based applications. This has recently been replaced by Swift. Latest iOS release is iOS 8. Apple controls both mobile device hardware and software. iOS powers multiple devices like iPhone, iPad, iPad mini and iPod. Since iOS is not open source, customization is very limited.
Android is promoted by Google as an open source project from the Linux family. Android apps are created using Java(version of Java specific to android). Latest OS release is Lollipop. Android being an open source project allows OEM to control the size of the device, this increases various device sizes supported by many OEM providers like Samsung, Sony, HTC etc. Almost anything can be customized on Android.
Both Apple and Google provide developers with SDK to enable them to develop mobile applications. All the SDK related tools are provided free by both providers. For iOS the developers can get SDK for free but it will work only on a Mac OS. Apple does not provide a means to develop for iOS using Windows.
Mobile Apps and their Lifecycle
Mobile applications follow development/deployment and distribution lifecycle which are completely different from typical web/windows based application life cycle. Most of the web apps are deployed within the organization's premise and infrastructure. For mobile apps targeted to end customers, they are developed and tested within the enterprise but deployed outside the enterprise and distribution is taken care by OS provider. Mobile applications once tested and developed are deployed to App stores of the OS providers for their approval. Once approved they are available for download from the respective app stores, end customers can directly download the application from application stores on their mobile devices.
Mobile Application Developer License
If the developer completed development and wishes to deploy the app on app store then she requires the developer licence.
App stores share your revenue, in case of Apple it keeps 30 percent of your revenue. This policy is stated right on the developer program web page. Apple deals with all downloads, credit card clearing and refund requests. If your app is a paid one, then Apple pays the developer once a month after a four week delay. This delay gives apple time to process any refunds. Developer also has to earn $150 before they get paid.
- Apple has the Apple App Store.
- Google has Play Store
- Blackberry has App World