Doom! Doooooooom!
I spent most of today writing a set of DHTML classes that allow a programmer to add HTML to web pages procedurally rather than declaratively. Only after finishing did I realize that my classes looked like a primitive form of .NET code behind. This made me think about why HTML is declarative in syntax and if web application development will move away from HTML at some point in its evolution.
In the early days of HTML, a declarative syntax was the perfect solution to distributing documents that consisted solely of text. There was no point in a procedural syntax that would have been much more difficult to parse and display. The needs and purposes of the web have changed over time, however, and the syntax that Tim Berners-Lee developed for linking and viewing documents is now a platform on which corporations build enterprise level applications.
Web applications have successfully leveraged the power of HTML because it is a simple and powerful medium for distributing information. Its document centric model and declarative syntax, however, are not ideal for application development. Even if one can procedurally create pages with JavaScript, there is nowhere to run from the limitations of the document object model, and this is as it should be. The document object model was not created with application development in mind.
The web has blossomed into the most powerful, adaptable tool that humanity has created, partially due to the tendencies of its die-hard practitioners toward standardization and backwards compatibility. That aspect of the web will never and should never die, so the future should heavily skew towards a declarative syntax and a document object model of some sort (in the vein of XUL or even XAML). But although I cut my teeth as a developer on DHTML applications, I think that over the next five years the death and rebirth of DHTML in a more application centric form is inevitable. With any luck, I’ll even be able to script together my own OS using nothing but a browser, a file directory and database located on an external server, and a collection of web services.
In the early days of HTML, a declarative syntax was the perfect solution to distributing documents that consisted solely of text. There was no point in a procedural syntax that would have been much more difficult to parse and display. The needs and purposes of the web have changed over time, however, and the syntax that Tim Berners-Lee developed for linking and viewing documents is now a platform on which corporations build enterprise level applications.
Web applications have successfully leveraged the power of HTML because it is a simple and powerful medium for distributing information. Its document centric model and declarative syntax, however, are not ideal for application development. Even if one can procedurally create pages with JavaScript, there is nowhere to run from the limitations of the document object model, and this is as it should be. The document object model was not created with application development in mind.
The web has blossomed into the most powerful, adaptable tool that humanity has created, partially due to the tendencies of its die-hard practitioners toward standardization and backwards compatibility. That aspect of the web will never and should never die, so the future should heavily skew towards a declarative syntax and a document object model of some sort (in the vein of XUL or even XAML). But although I cut my teeth as a developer on DHTML applications, I think that over the next five years the death and rebirth of DHTML in a more application centric form is inevitable. With any luck, I’ll even be able to script together my own OS using nothing but a browser, a file directory and database located on an external server, and a collection of web services.

0 Comments:
Post a Comment