" Recent Advances and Remaining Obstacles in Web Application Technology
I like to keep a close eye on advances in browser-as-rich-client technology, as I think it's one of the most important areas in the continuing maturation and mass adoption of the Internet. I think there are still several hurdles to overcome before the browser can compete with the desktop in terms of rich client firepower, but the obstacles are falling almost on a daily basis.
Recent Advances
Some exciting developments have popped up recently, here are a few of the highlights:
Comet: Comet is a technology that keeps an HTTP connection alive between the browser and the server so that messages can be streamed back and forth in realtime. This is very rarely used right now primarily because the technology is so young and there's no easy way to implement it, making for a high barrier to entry. The stuff going on with the cometd framework is changing that, however, and I'm especially interested in what's happening with gCometd, which is a Java implementation of comet. Once comet grows up and extends into areas like server-side event-handling it's going to have as much of an effect on the rich browser application experience as AJAX had.
Offline Access: One of the big weaknesses in rich Internet applications is the lack of offline access, but there's a lot of work being done to fix that. In particular, the Dojo Javascript framework now has strong support for browser-side storage, and there's work being done on top of that to enable entire applications to be run offline.
Synchronous Server Calls: A big mental barrier to overcome when programming rich browser applications is the lack of support for synchronous calls to the server--asynchronous is really the only game in town. It's not just: call function A, get result, call function B. It's more like: call function A, wait for your callback function to be called, receive the result, and then call function B. Certainly not the easiest or most straightforward way to write an application. However, there are some interesting and creative solutions to this problem now thanks to projects like jwacs and Narrative Javascript.
Threading: The one topic that's sure to give any programmer heartburn is threading, but the fact is that there's a lot you can't do without the capability to write multi-threaded applications. To that end, there's a lot being done to facilitate multi-threaded Javascript applications in one form or another, such as wrapping server-side Java calls and using interpreted languages on top of Javascript.
Microformats and Live Clipboard: Even though Live Clipboard has completely fallen off the map recently (seriously, Ray Ozzie, where did you go?), I still believe that it's a very useful and cool technology and I hope it takes off (moving structured data between sites is just too useful to let die). Microformats, however, are very much alive, and once they're built into the browser itself I think there's no doubt that they're going to become as ubiquitous as RSS. They will be the standard way to publish structured data, and I love having a standard format for widely-used data such as contacts and events. Sites are already building in support, it's just a matter of time. "
Read it all : http://www.jasonkolb.com/weblog/2007/02/recent_importan.html
Commentaires