As prevalent as jQuery has become in the client-application world, there are still a number of popular frameworks available that I think are worth your time.
Here are three frameworks that are worth your time in gaining at least a surface knowledge of their features…
Prototype JS
Prototype JS is a few years old and is included by default in the Rails framework. Scriptaculous is an effects library built on top of Prototype and also offers a great set of visuals to enhance your UI.
Prototype, although having a slower development cycle than some other frameworks, has a great community around it – especially in the Rails world – and has an amazing API documentation.
I also highly recommend the Prototype and Scriptaculous Book by the Pragmatic Programmers if you’re looking for a great tutorial through the framework.
MooTools
MooTools is another framework that we’ve covered a few times. Similar to other frameworks, it offers a great effects library, and extensible via plugins.
One of the nicest things about MooTools is the ability to create your own bundle so that you’re only including the components that you need for a specific project.
Midori
Midori is newer and much less popular than the other two frameworks, but offers a nice set of features especially if you’re looking for a lot of functionality in a small size.
As lightweight as it is, it offers Ajax functionality, a CSS selector engine, certain visual effects, and drag-and-drop functionality right out of the box.
At any rate, the development field is wide and it’s always a good idea to be versatile in a variety of technologies. Don’t be dogmatic about the tools that you use – there’s no silver bullet solution.
That said, what’s your preferred framework or library?
TQ White II says
I use jqueryMX (nee JavscriptMVC). It is a comprehensive MVC framework.
Among it’s virtues is a very nice, plugin compatible MVC organization. It handles a ton of things that one does every day. For example, controllers are associated with their DOM element and, when an (object literal type) function named ‘click’ is defined, it is automatically associated with the element. Another lovely helper is a routine that grabs all input tag data into an object for your computation needs. It has a good template mechanism associated with it’s view structure that can be replaced with the template system of your choice. Similarly, it’s model structure is wired in nicely and keeps you development organized.
There are a ton of other features. Probably the most important is a unit testing framework. Based on envJS, Rhino and Selenium, it is an amazing improvement in reliable development. It also has an excellent dependency management system (steal.js) and it has a utility to compress and combine code and css into a pair of production files. The improvement in performance is striking.
I’m building a substantial RIA with it. As I was planning the project, I was deeply worried about doing a team project in Javascript without being able to organize the code and separate the concerns. JqueryMX (they recently renamed it from JavascriptMVC) has solved the problem. Further, it has a pretty active community and responsive forum. Though I am not involved except as a user, it gets my hearty recommendation.
Check it out here: http://javascriptmvc.com/
Tom says
That’s awesome! It looks as if it could be completely pulled through end-to-end as a full application.
I love the fact that testing is built into it. I’ve done a significant amount of TDD my 9-to-5 and it’s definitely carried into much of my hobby projects. Hard not to want to stay with it once you see the obvious benefits.
Good stuff, TQ!