To get monetary profit out of mobile applications, you need to get the application on as many devices as possible. A high volume, low cost application is the best way to go for individuals out there. Hence restricting to a single platform or device manufacturer is certainly something you do not want to do. Web development gets your service on every device and platform that supports some kind of data connectivity, meaning every device manufactured for some years from now, if not decades.
Why do vendors care?
The flipside of the picture is that device manufacturers and platform vendors want more and more applications developed for their devices and platforms so that they can attract high number of customers. However, this is easier said than done, especially when mobile development tools, languages, and methodologies change often. Hence, allowing Web software development for native applications suddenly makes every Web developer a mobile application developer.
Confused, are we talking web or native mobile applications?
How it all began?
Although Nokia’s WRT was the first such toolkit, and it got a lot of support from Nokia as they did provide plugins for major web development tools in use. These included Adobe Dreamweaver, Microsoft Studio and Aptana Studio. And that too in an era when the iPhone could only be developed for using similar Ajax applications. However, more developers developed for the iPhone and no major success story can be found around Nokia’s WRT. However, iPhone saw many popular applications from the same timeline. Nokia then also allowed WRT widgets for home screens on new devices and still could not gain the kind of traction that they should have gotten.
Where are we now?
We have progressed to the situation where not only platform vendors are providing rich APIs for web development of native applications but also third party development tools encapsulate native functionality behind these development methodologies. PhoneGap has a design once and run anywhere kind of a model for mobile platforms, which can even be used for cross/multi platform GPS applications, etc. While jQtouch kind of libraries help achieve native look and feel for web based applications on a number of platforms.
Where are we heading?
Well, to the future: we have a giant war for supremacy going on among the giants of mobile platforms and mutation in shape and size of devices, these will be the two most important factors in this regard. And looking at Google AppInventor we can assume that, this battle has only just began.
Alternatives to web development for multi platform applications?
Even when the web development approach is not perfect and you still have to test your application and tweak or modify it depending on the complexity, it might be the easiest or best of doing it. Porting applications from one platform to the other requires much more dedication and resources. Some organizations have parallel teams to implement the idea on multiple platforms but that kills any chance of improvisation because then the finished products won’t be like each other at all. Third party applications are out there to bring the dream of write once, run always to reality but lets just leave it at that. There are too many complications in that area for it to work even if the final authorities let such applications get published as paid application.
Hurdles and limitations?
As expected the web is all about user interface and rich internet applications, and that describes such applications on the mobile front as well. However, we expect other components to mobile applications which might require background services, daemons, or data providers and consumers. Web-based native applications usually fall short in most of these on most platforms of today.