Native, Web and Hybrid Apps
The explosion of mobile applications has caught the
attention of many companies for developing their own applications. The idea of
having another way of interacting with the customers is very tempting. For
example, banks have found that allowing basic banking operations using an
application attracts customers that already use a mobile device. However, developing an
application is not easy as it sounds. There are different approaches one can
take depending on the requirements and the needs of the company. In general, there
are three popular approaches: Native Applications,
Web Applications and Hybrid Applications.
What are Native Applications?
They are applications developed for running only in only one
platform. Currently, the platforms that capture more subscribers are iOS from
Apple and Android from Google with 52.1% and 41.2% respectively. Far away
from those numbers come other mobile platforms with less “followers” like Blackberry
10 from Blackberry Ltd and Firefox OS from Mozilla Foundation.
In general, mobile applications are downloaded from common
markets or stores, like Apple’s App Store or Google Play Store (before was
called Android Market) and then installed on the device. The applications are
offered in two ways: as free or as pay. This is one way in which developers and
stores earn money. One part develops the application and the other distributes
it by means of the store. The other way
is by mean of ads in the application and websites. This is how Google Play
Store for example, get most of their profits.
Revenues and Downloads
In 2013, Apple reported that their customers spent over $10
billion on their App Store with almost three billion downloads in
December. On the other side of the street, Google Play Store’s revenue share
has been growing at a moderated but firm pace compared with Apple. Apple’s
App Store is mostly fed by China and US and to a lesser extent by Vietnam and
South Africa.
In the battle of apps downloads, the current champion is
Google Play Store with a difference near 45% over Apple’s App Store. This
incredible volume of downloads is in part due to the emerging markets such as
from Mexico and from Turkey where the adoption of Android devices is booming. Also,
downloads were strong in countries like Brazil and Russia. Moreover, the already
established markets (US and UK) are helping to shorten distance in the revenue
field. The projections indicate that Google will continue narrowing
the revenue gap with Apple and leading downloads in during 2014.
What are the Pros and Cons of developing Native Applications?
Pros:
- Native applications use built-in features of the device and perform faster. Some of the most common features are the camera, the GPS, the accelerometer and the compass.
- These applications get support from the app stores and marketplaces. Users can find and download what they want from the stores.
- A native mobile app can produce the best user experience. High performance and fluid interaction can squeeze out all the built-in features and hardware in benefit of the user.
- Stores have strict audit procedures for ensuring that new apps follow the security standards (most of the markets). Therefore, users can download applications safely.
- Native applications suit better for developers because platforms provide SDKs and other tools for developing applications faster and easier.
Cons:
- A Native application
approach can be expensive since they must be developed in each platform one by
one.
- Programming skills are required for each platform.
- The cost of maintaining
native applications is higher, especially if the application supports more than
one mobile platform.
- The process of approval for
publishing an application on a marketplace can be long, as the requisites are
high. Also, there is no guarantee that the application will be accepted. Even
more, that the application will be top listed.
- If there are different
versions of the same app, it will be difficult to maintain and offer support.
What are Web Applications?
They are websites that may look and feel like native
applications but under the hood are not the same. A web app is simply HTML5 (or simply HTML),
JavaScript, CSS rendered by a browser. The web browser renders the web
application like any other regular webpage. There is no need to download the
application in order to access to it, only is needed the URL and that is all.
Some elements typically present in native application are emulated by the application such as swiping horizontally to change the section or similar design as seen in Android or iOS applications.
Some elements typically present in native application are emulated by the application such as swiping horizontally to change the section or similar design as seen in Android or iOS applications.
What are the Pros and Cons of developing Web Applications?
Pros:
- They are easy to maintain as they share the same source code for multiple mobile platforms.
- Web Apps can be compatible with almost any old device (with browsing capabilities).
- These apps do not require passing through a rigorous approval process, just saving the URL.
- There are no restrictions of time or design for releasing the application. The developers publish the application when is necessary.
- All updates are transparent to the users as they only enter to the URL and execute always the last version available.
Cons:
- Web apps only can access a subset of the features available in the devices.
- The cost of supporting multiple platforms is high, as well as the maintenance too.
- The wide variety of devices makes difficult to offer support and study the usage patterns.
- The visibility of the application is reduced, as it is not listed in an app store.
- There are no standardized quality procedures for web apps, for this, quality and security of the app is not guaranteed.
What are Hybrid Applications?
These applications take a native wrapper and put inside a
web application. That is, the native wrapper is a native application from the
outside while the content is HTML, JavaScript and CSS. These kinds of
applications are distributed by app stores, just like native applications. Although
there are differences, users in general cannot distinguish between native
applications and hybrid applications.
Pros:
- They are faster to develop since the development process is the same as follow by web development and small amount of native coding is necessary.
- The tools for developing hybrid applications are evolving and maturing rapidly getting closer to native tools.
- Hybrid Applications can be deployed in app stores.
- They provide the best of both worlds, native apps + HTML5.
- These applications can work without Internet connection.
Cons:
- They are not native apps despite of being packed by a native wrapper. The web engine is the one provided by the platform and so the performance is not the same as a native app.
- No frequent updates (in the case of offline caching).
- Deciding how important is speed and performance.
- Determining if Internet access is necessary.
- Allocating the necessary budget for developing the application.
- Choosing between using device’s built-in features or not.
- Adopting an advertisement strategy (monetize the application).
- Focusing on your target users (specific market/platform dependent).
Some sources:
- http://www.apple.com/pr/library/2014/01/07App-Store-Sales-Top-10-Billion-in-2013.html
- http://thenextweb.com/mobile/2014/04/04/comscore-apple-takes-41-3-share-top-us-smartphone-maker-samsung-hits-27-android-outgains-ios/
- http://www.fiercedeveloper.com/story/distimo-google-play-revenue-grew-51-over-last-six-months/2013-12-30
- http://blog.appannie.com/app-annie-index-market-q1-2014/
- http://www.forbes.com/sites/ciocentral/2013/01/23/html5-vs-native-mobile-apps-myths-and-misconceptions/
- http://www.medialab.ie/mobilevnativeapps/
- http://mobiledevices.about.com/od/additionalresources/qt/The-Pros-And-Cons-Of-Native-Apps-And-Mobile-Web-Apps.htm
- http://www.wired.com/2012/11/native-apps-v
Comments