By Andy Harris

JavaScript is a very powerful programming language and it can be extended in some very powerful ways. Besides the well-known jQuery library, there are many other intriguing libraries that extend the power of JavaScript. Here are a few:

  • Modernizr: The Modernizr web library is a fascinating library that tests the features of your browser and allows you to use HTML5 and CSS3 on older browsers. You can check out an example program using Modernizr to determine which HTML5/CSS3 elements work on your current browser.

  • JavaScript InfoVis Toolkit: This library allows you to create interactive data visualization tools on your site. Many of the visualizations allow you to visualize the relationships between various nodes of hierarchical data. The resulting graphs are often beautiful and powerful. Data visualizations made with this tool are available on the White House website as well as numerous news sites.

  • Three.js: This interesting library is used to add 3D graphics features to websites using a number of interesting technologies. Without a doubt, 3D programming brings its own complexities, but this technology is particularly promising because it is multiplatform, open, and capable of handling 3D-accelerated hardware. A number of other tools and libraries are built on three.js, including voxel.js, a tool for building Minecraft-like worlds in the browser, and Cube Slam, a cool 3D pong game played in the browser. Three.js points out the huge potential for multiplatform 3D in the browser.

  • DHTMLX: This is an interesting library that offers a series of widgets such as file management tools, tree and grid controls, toolbars, and menus. The library is intended to help you build desktop-style applications using web technologies. The library currently features 23 controls. It’s available for free unlimited use on open-source projects, but you must pay for a license to use the library on commercial projects. DHTMLX features a visual designer that helps you to build a visual interface much like Visual Basic. The library also includes a mobile interface tool for building powerful web apps for mobile devices.

  • Socket IO: HTML5 includes a number of extensions which change the way web programming is done. One of the most important changes is a feature called web sockets, which allows real-time communication between clients and servers. (This profoundly changes the nature of the web and makes tools like real-time chat and multiplayer gaming much easier to build on the web.) Unfortunately, web sockets are quite difficult to program. The Socket.IO library simplifies this process, working in conjunction with node.js.

  • Node.js: JavaScript is generally seen as a client-side technology, which is where it’s most frequently used. However, there is growing interest in using JavaScript on the server. Node.js is a platform that allows you to create and manipulate your own custom servers using JavaScript. It’s a powerful and interesting idea that has the potential to change the web in a big way.

  • PhoneGap: Although not strictly a JavaScript library, PhoneGap is an important framework that’s changing mobile development in an important way. PhoneGap is a customized browser tool that allows you to transform any HTML5/JavaScript app you write into a native mobile app that can be bundled on the various app stores. PhoneGap essentially allows you to convert your web development skills to mobile app skills.