Mobilize your website: Native App or Mobile Web?
There is mobile buzz going on, every one want that there
website should have access to smart phones. It was till last year that only
Social/e-commerce sites have mobilized but now because of phenomenon growth of
smart mobiles and tablets there is also good growth in enterprise applications.
Each sector whether it is Education, Health, Social etc every one is trying to be mobilized.
In mobile world things are not simple as web development as
there are lot of different devices available.
There is no standard in these devices and that's also changing at very fast rate.
I will give you an example I am working on mobilizing BMC IT Service
management. When we started we did a survey about which mobile device is mostly
used by our Clients. The number of Blackberry users at that time were huge. So we started
development concentrating on Blackberry but then we realized that iphone number
has grown at very fast rate and our customers want the product for iphone also.
It was good that we designed our API’s and code in good way that it does not take
much time to release the same product for iphone also. So coming back to point
the mobile world is changing at very fast rate, we can’t decide which platform
will lead the future but choosing the right framework and designing good API
will always help you.
I got frequently get mail and call by many companies and people
asking which framework is good for creating Mobile application or asking which
is better Native application or Web application. So just thought to consolidate all the ideas.
To start with we can create mobile application in three type way:
Native Apps:
These are platform specific application which
is coded in platform specific language like Objective C for iphone/ipad, Java
for Andorid etc.
Mobile games are develop using this application.
Advantages:
- This application are reliable, performance is good and very powerful.
- Can use Device Cabiblity like GPS, phone book, camera etc
- You can have push Notifications
Disadvantage:
- Take lot of time for Development
- Creating and maintain cost is very high as we have to code for each platform.
- Finding language specific resource for this language is big task. As we need dedicate resources which are expert in these languages.
- Have to submit to Appstore which is a painful process.
Mobile Web application:
These are the simple web application which can be access
from each web enable device.
Advantage:
- Don’t need for Appstore submission. This is the most painful and time consuming process.
- Cross platform- work on all HTML5 devices like iphone, Android and Blackberry
- Easy to create and maintain.
Disadvantage:
- Not work well for touch phones( Can use some CSS framework for touch effect)
- This application are not very fast and not reliable
- No Offline Capability
- Can’t use Device Capbilities and push notifications
Hybrid Applcations
These are application which are created with some HTML5
based framework like Rhomobie, phonegap, titanium. These application can access
device capability with there API and easy to code.
Advantage
- Development is very fast,
- Cross platform
- Can use device capability and push notifications
Disadvantage:
- If you need any specific feature you have to wait until these framework support that feature.
- Choosing between these framework is difficult task. Each has its advantage and disadvantages.
So choosing in between depends on your requirements:
Sites like standard e-commerce sites, Social Networking
site speed and experience can make a huge difference in the effectiveness of a
mobile commerce website or native application. Sites that are slow to load —
even by just a second or two — can often lead to users forgoing the transaction
altogether. For this type of application I think Native application is best
solution.
Sites like Enterprise application, Events, meetups etc were ease and time of development is important there Hybrid application are best solutions. You can also use device capability, offline capabilities with them.
If your application is used to check certain information and don’t want any offline capabilities/Device capabilities than Mobile Web application is best solutions.
And most important, design your API in good way so that they can be reused easily.
To know about different framework available follow this link
Also i have presentation in RubyConfIndia 2012 about "Which Mobile platform should i choose?"
Also i have presentation in RubyConfIndia 2012 about "Which Mobile platform should i choose?"