2008-08-07

On JavaScript WEB Application Frameworks

I have found jQuery to be the best library for JavaScript web development. jQuery has the biggest community, more high quality plug-ins than any other JavaScript library and I have found it is the best designed library. Most projects are moving to jQuery from other JavaScript libraries like Prototype JavaScript Framework (See this article of a developer that migrated from Prototype to JQuery and this ticket about the midgard migration from prototype to jQuery) or like Dojo or YUI (Ning moved from Dojo to jQuery Djblets and Review Board moving from YUI to jQuery anyMeta moves from Dojo to JQuery). I still have to check out Google Web Toolkit (it seems like the ideal bet, but it uses its own GWT-RPC protocol by default that is not a standard web service interface). (See this Evaluation of JavaScript Libraries and reddit comments on it). Now, that Microsoft and Nokia are supporting jQuery it is by no doubt the best option to choose. Why does everyone like jQuery more than prototype/script.aclo.us or mootools or whatever?

Comparison of JavaScript frameworks

These are my favorite jQuery plugins:
  • jQuery UI high quality basic widgets
  • Tablesorter makes any HTML table client sortable
  • History prevents the client application from breaking the back button
  • Form Deserialization deserialize JSON to a HTML form
  • Form makes any form AJAX ready with little code
  • Autocomplete text input autocompletion (both local and remote even using JSON)
Most browsers are getting or are quite optimized for JavaScript execution like:
See this comparison of JavaScript engines by John Resig of jQuery fame.

That means that Client Web Applications will run much faster and will allow for much more than is currently possible. So, it is time to start betting for a future of JavaScript Web Applications that contact the server using XMLHttpRequest and REST WEB Services. I also bet this will put dynamic server web pages technologies (like JSP, PHP, ...) on extinction (also because these technologies do not use DOM to manipulate XHTML and I think it is the only correct way).

A web indexer (like Google) just needs to access the raw resources using REST. It should not crawl any web application. And these resources should be raw (without any decoration like navigation menus) and just one resource per URL.

No comments: