The announce of the webOS from Palm and the Google Chrome OS, the web as development platform is taking off. But the web is not the ideal platform to all applications, let’s see in detail.
Layers and more layers
To develop in the web, the applications have many layers that the developer or developers have to take care of; starting from the bottom is: Databases, logic, back-end scripting, front-end, front-end style and front-end interaction; just mentioning some of the most used.
This means that all this elements have to play nice and interact with the others in a nice and smooth way, so the users get a good Experience. As many layers and elements you introduce in the application, more difficult is to make all things to work together. This increase the development, deployment and testing time.
In a standard, “native” application; you need only a few of these layers to take care. Meaning the development time and deployment time is drastically reduced.
The web as development platform
For applications running on the web platform the deployment happen server site and the users get always the most up to date version of the application.
In the development of a web application, many technologies can be used: for the server-side and also for the front-end. This lead to a myriad of technologies and methodologies that developers adopt based on their taste, the popularity of the technologies and the requirements of the applications.
Some other stuff must be keep it in mind: in the web we don’t have to deal with cross-platform compatibility, but cross-browser compatibility, this one can be a terrible time eater mostly when the developer of the application need to address for instance Internet Explorer 6.
Native applications as a development platform
These are the oldest technologies; that’s why they are really more advanced than web technologies. Also the Development Environments, the debugging etc. are a lot better.
Native applications can use the local resources in a better way, this increase notably the performance of the application. These applications can use then resources like local storage, sound and graphics acceleration. Also are better integrated with the Operating Systems.
The difficult task for native applications is, distribution and deployment; because not all users can or want to upgrade every time. Also the deployment time take longer on native applications, because you cannot deploy a new version every day and get the 100% of your users to update in a small amount of time.
Finally
The selection of the best development platform has to be based on the requirements of the application itself. Also how the users have to interact with your application, the amount of user collaboration you want to insert in the application, and a long etc.
One thing is sure, Native applications are easier and fast to develop as web applications; also as said; the development environment is friendlier.

I like the work you’ve done on your site – are you having fun with it? It’s interesting and well worth the time to visit.