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