document.all
to determine which browser is being used.In fact, JavaScript is a fully-fledged prototype-based object-oriented language. There are other prototype-based languages of note, including
- self, which 'combines a pure, prototype-based object model with uniform access to state and behavior'
- Io, which 'is a small prototype-based programming language'
Others have long noticed JavaScript's utility. It is a key component of the Mozilla and Firefox applications. In those, it is used to script the various XPCOM components and services that these applications use, but it is also used to define the behaviour linking the various XUL components together in these products' user interface.
Mozilla are not the only people using JavaScript to deliver a 'rich' client experience. Bindows does this, but the applications are deployed entirely in your browser. Their component framework seems very impressive, although so far, I've only run their demo applications.
Perhaps its time that we stopped thinking about web applications as having most of the functionality defined on the server-side in Servlets or JSP or ASP or PHP or any-one-of-those. We probably don't even need the next big server-side things being promised by the usual suspects (cf. XAML, JavaServerFaces).
In the future, we can start to restructure web applications so that they consist of CSS and JavaScript for most of their behaviour. The server would only be invoked at points when behaviour that actually needs to reside on a server is required.
Maybe the wise have started doing this all ready, and I'm thinking about sites like Gmail and Blogger