How Do You Write a Web App?

Web development is currently the dominant arena for the professional programmer. You would imagine that by now there would be standards-based tools for the job. Instead there is no clear cut way to go about creating a web app and the future is unclear.

So how should we create web applications?

The question is so fundamental that it is surprising that it has to be asked and more surprising that there is no clear and obvious right answer. Part of the problem is that the position that we find ourselves in today isn't by design.

The web was never designed to make it possible to build applications of the sort that run on the desktop. The web was all about presenting information in a fairly static form and has slowly evolved some of the facilities it needs to make that content more dynamic. However, at no point has any standards based web technology been seriously proposed with the stated aim of making it possible to write "rich" web applications.

To find this intent you have to look to proprietary solutions. This in itself is strange because you might have thought that by now the standards bodies might have thought of creating something similar to Flash or Silverlight or at the very least have been more ambitious sooner.

However, this is all in danger of presenting a point of view before the evidence so let us take a look at the main technologies available for implementing a "rich" web application.

HTML5/CSS/Java script

This is the great hope for the near future - but when you look at it objectively it is difficult to see why. The facilities being added to HTML are welcome and progressive but they are not exactly a revolution. The new HTML gives you the ability to use some new user interface elements, a 2D Canvas to draw on, better multimedia, some client-side data storage facilities and extras such as geo location. However, the fundamental flaw in the mix is Java script. It really is a wonderful language, but it isn't a first class language in the same way that C#, Java or C++ are. It lacks so many professional facilities that it really does deserve to be called a scripting language.

Many of the demos of HTML5 are impressive, but ask how they were created and the answer is usually with a lot of hard work. Many could and have been achieved using HTML 4 and Dynamic HTML which was never really exploited as much as it deserved.

Read More........