As a web developer, I have delved into many different JavaScript libraries and frameworks. Through my work with these libraries, I have come up with a discriminating list of some of the more important JavaScript libraries that should be in every developer’s toolbox.
YUI Library
The Yahoo User Interface (YUI) Library is a combination of utilities, controls and widgets that were written in JavaScript and CSS. YUI is used to create interactive web apps, and is free to use, falling under a BSD license. It is been used by thousands of developers, and has proven to be scalable, quick and robust. It was created by the engineers who designed the frontend at Yahoo! (it is the JavaScript library that they use to power the Yahoo! homepage) along with developers around the globe.
Utilities that are a part of the library include:
- Animation Utility
- Browser History Manager
- Connection Manager (for XHR/Ajax)
- Cookie Utility
- DataSource Utility
- Drag and Drop Utility
- Element Utility
- Get Utility (dynamic script/css loading)
- ImageLoader Utility
- JSON Utility
- Resize Utility
- Selector Utility
- Storage Utility
- SWFStore Utility
- SWF Utility
- StyleSheet Utility
- The YUI Loader Utility
Dojo
The Dojo JavaScript library enables developers to create powerful mobile and desktop apps that scale with the development process. Using Dojo, you can animate elements, work with the DOM (Document Object Model), and query using the familiar CSS syntax. Dojo APIs are enhanced with HTML5 functionality including geolocation, touch events and 3-D effects. Widgets include calendars, input validation, buttons, combo boxes, file uploaders, dialogs, tooltips and more. Enterprise developers can create apps with grids and charts that work with all web browsers.
Dojo also comes with many layout widgets to help you design your website with exceptional functionality, including:
Echo
Echo is another library/platform that is designed for creating web apps that are very close to being native apps. By using a component-oriented, event-driven API (Application Programming Interface), developers can create apps just like they do with other UI toolkits (such as the YUI we discussed above). Unlike other libraries, Echo allows developers to create apps using server-side Java or client-side JavaScript. Those developers who are comfortable with Java will find themselves at home with Echo, which allows them to create server-side apps that run in a Java Servlet Container, while those familiar with JavaScript will be able to take advantage of that scripting language, which is able to communicate using XML or JSON.
The latest version of Echo includes a new web container that also enables developers to create Echo apps entirely in client-side JavaScript using an API that was patterned after that of server-side Echo (and the same apps may also be written entirely in server-side Java depending on your preference).
Conclusion
We have discussed some JavaScript frameworks and libraries that can make your life as a developer easier and more productive. In the next part of this series we will discuss three more frameworks that you won’t want to miss!