Let me say from the outset, that there is no right answer for everybody. The battle between cross-platform solutions and native mobile applications is going to continue for years to come; I know I have blogged about this before, and probably will again.
For many corporate applications, native code offers the marketing group richer customer experiences, the business the chance to innovate solutions using device-specific solutions, and IT some new development tools.
However, if an organisation has to support the widest range of phones possible, the development of native apps becomes cumbersome, since you then need to write apps for each of the major mobile platforms available.
Part of this decision depends on whether you decide to support older phones, i.e. non-smartphones. For non-smartphone support you'll need to build in support for features from SMS text services to basic text browsers.
Typically this is aimed at operating in developing countries. In developed countries like the UK, the growth of smartphones means that there is now a critical mass of users crowding out lower-featured handsets.
If you decide to target smartphones, then you still have a choice. You can either:
- Build for each platform, using it’s own development tools
- Use a cross platform mobile development solution, or
- Write your app as a browser solution.
So how does an organisation decide which way to go?
I found this useful little questionnaire developed by InfoTech. It takes you through a set of questions about your needs, and then suggests the best way forward between a native solution and a web-based solution.
As a quick guide to review a specific tactical requirement, I thought it was pretty good and asked very pertinent questions. Obviously this is something that an IT department could expand or specialise for their own needs, and so provides a useful structured approach to making impartial decisions without any emotional bias.
Where support for multiple platforms is crucial, a more difficult decision will be whether to use a cross-platform mobile development solution or to go for a pure web (and possibly HTML5) solution.
I’ll discuss this issue in a future blog, but for the time being, check out the questionnaire to start thinking about your mobile approach.