Throughout the evolution of computers, software and technology, the web browser is one of the many applications that has seen tremendous change.  During the days of dial-up, web browsers were relatively weak, discouraging web programmers from implementing too many advanced features that may slow down or crash the browser, and possibly the entire system.

Today, companies such as Google and Mozilla are creating new browsers that explicitly target many of the advanced techniques and languages; they can render pages and scripts quicker and more efficiently.  Google Chrome is leap-frogging the other browsers by almost becoming its own operating system, capable of very quickly running full applications, games and videos without the need of extra plugins.  This near-OS goal is quite evident when you open the embedded task manager.

All of this new power and capabilities is allowing web sites to become more then just plain text/informative sites; full applications are springing up all over the web.  This trend to create more dynamic and event-oriented site has been coined as the term ‘web 2.0′.

As a web developer, I often get requests from clients to convert their old informative sites to new web 2.0 -enabled sites.  One powerful tool in this conversion is what’s known as a javascript toolkit; the name is quite fitting.  A javascript toolkit is basically a toolkit with a set amount of tools provided to the programmer.  Just like with real toolkits, the contents and usefulness is quite diverse.  Some toolkits contain only simple scripts, allowing easy handling of currency or time, while others will provide an entire desktop experience, (literally).

One of the most simple toolkits is prototype.  This framework provides convenient access to the elements on a page for manipulation, such as hiding something, or changing some text.  This toolkit is rather limited in what it can do, but it is small and loads quickly into nearly any web application for immediate use; it can be considered a small but convenient toolbelt, something you can carry with you nearly anywhere.

ExtJS is another toolkit, but is on the opposite spectrum from prototype.  It has the capabilities to do almost anything, from simple number formatting to creating an entire desktop in your browser, literally!  RSS feeds, desktops, forums, moveable resizable windows, image galleries, there’s almost nothing this library can’t do; it can be considered an entire tool shed.  The drawback to all this functionality is its size.  The full compressed size is nearly 1MB, (excluding all the CSS and images required also), while the “debug” version is 2.5MB!  A staggering size given that most websites rarely exceed 300kB, images included.

A happy medium between a toolbelt and the entire tool shed would be the basic toolbox, big enough for most tasks, enough room to add more specialized tools if needed, and small enough to not be a burden.  A library that fits this bill is jQuery, (which is my personal favorite).

This library is actually split in two, the core and the UI part.  This allows you to choose if you want just easy manipulation of elements, or the additional goodies the UI provides.  In addition, the UI component is further customizable; you can build your own custom version of the toolkit, adding in only features and effects you want.  This helps keeps the size to a minimum, saving bandwidth and allowing your customers to see your content quicker.  The minified core weighs in at under 60kB, and the core UI ranges between 40kB up to about 200kB, depending on how many extras you add in.

One part of any good toolbox is the ability to add more specialty tools if they’re needed.  JQuery has a plethora of plugins and widgets that can be easily installed and used.  These allow you to quickly add rich and interactive content to virtually any website.

BlindAcre’s homepage provides a glimpse at some of the effects you can do with this library, including the scrolling content and rounded corners.  Calendars, dragable and sortable content, image zooming, fade in/out, and painless ajax calls are a few of the many things you can add to make your static site into a fully featured web 2.0 site. Most of this is done in as little as one line of code!

So if you have a website to build or maintain and haven’t experimented with the various  javascript toolboxes available, go ahead and check out a few.  If downloading and including them is too much work, Google has a solution for even that with their Ajax libraries API.  With 2 lines of code, you can tap into the speed and reliability of Google’s cloud by having the libraries loaded directly from it.  This saves you the bandwidth of serving the libraries yourself, and the trouble of downloading/uploading them to your server.