Is AJAX and DHTML really the future of rich internet applications
Of late we have been doing a lot of work in the rich internet application domain. We have used AJAX extensively to create slick user interfaces that look more and more like desktop applications. It amazes me all the time that the this technology existed for years and was never put to good use. Now that its finally gaining popularity and adoption, I get a feeling its time has alrady come and gone. Sure, previously unthought of web experiences are now possible with AJAX. But can DHTML and AJAX deliver on the thin client application-in-the-browser nirvana? I think not.
Firstly, coming from an operating system/application development background, the whole web programming model confounded me. There is no easy way to seperate the UI from the business logic. I have somewhat managed to achieve this seperation with ASP.NET and PHP5 classes but still, HTML remains a crappy way of developing user interfaces. Browser compatibility makes things worse (Safari has been the biggest PITA of late for us).
Secondly, AJAX is good for a “pull model”, i.e when data needs to be fetched from the backed based on user action. But a lot of scenarios require that data be made available to the client as and when it becomes available on the backend. Email clients checking for new email, or a radio station updating track information, chat applications etc are good examples. Right now, all these scenarios can be enabled only by periodic polling. Basically, true client-server model can not be achieved because the server can not callback to the client (this is not only an AJAX limitation. such is the nature of HTTP). Almost all networked desktop applications use a client-server model or a peer-to-peer model. Both these can not be achieved within the browser.
Finally, Javascript is clunky and limited in what it can do. It is hard to debug. It is clamped down for security reasons (you can’t access the file system, for example). After a few hundered lines, Javascript code starts getting unmanagable and unmaintainable. So it becomes increasingly complex to create even basic desktop-app like functionality using Javascript. I can’t even start to imagine somebody creating Microsoft Word like text editor using Javascript and AJAX.
Technologies like Laszlo try to ease the issues with HTML. But the real culprit is the browser itself. The browser was meant to be just that – a tool for browsing through web pages. It was not meant to be a platform for hosting entire applications. That is what an operating system was supposed to be for. But with the recent trend towards thin computing, browser emerged at the natural thin client because it was already installed on everybody’s machines.
So here is my prediction for the future. Someobdy (Google?, Novatium?, Microsoft?) will develop this new uber-browser platform which will run on all major operating systems. This new platform will be like a mini-OS by itself complete with hooks and apis and a programming model geared towards developing feature rich desktop like applications which will run within this browser. The platform will allow creation of true desktop like applications which will be OS-agnostic. Most end users will not even realize the difference since it will be completely transparent to them. And THEN we would have attained thin client utopia!
-
http://www.planetnazim.com Mir Nazim
-
http://www.planetnazim.com Mir Nazim
-
http://lailamajnu.com Amit Tyagi
-
http://lailamajnu.com Amit Tyagi
-
http://spaces.msn.com/members/aayushpuri Aayush
-
http://spaces.msn.com/members/aayushpuri Aayush
-
http://spaces.msn.com/members/aayushpuri Aayush
-
http://spaces.msn.com/members/aayushpuri Aayush
-
http://spaces.msn.com/members/krisdhingra Kirti Dhingra
-
http://spaces.msn.com/members/krisdhingra Kirti Dhingra
-
Tarun Agarwal
-
Tarun Agarwal
-
http://www.mungee.org/ Sumedh Mungee
-
http://www.mungee.org/ Sumedh Mungee
-
http://www.desinerd.com Dipankar
-
http://www.desinerd.com Dipankar
-
http://www.newdelhitimes.org Gaurav
-
http://www.newdelhitimes.org Gaurav
-
http://iamspl.blogspot.com Rajat
-
http://iamspl.blogspot.com Rajat
-
http://www.newdelhitimes.org Gaurav
-
http://www.newdelhitimes.org Gaurav
-
Keith
-
Keith
-
Ashit Patel
-
Ashit Patel