JavaScriptMVC 2.0

JavaScriptMVC 2.0


(Disclaimer: I was not able to continue the previous thread -
http://groups.google.com/group/jquery-dev/browse_thread/thread/1ec4dca6e02616d6)
Dear jQuery Community,
We've just finished the first stable release of JavaScriptMVC 2.0
(http://javascriptmvc.com) and I couldn't be more please with the
result. I've posted a 12 min video that walks through getting started
( http://cdn.javascriptmvc.com/videos/2_0/2_0_demo.htm ).
It includes everything I mentioned in the original post:
- A standard way of organizing files
- Compression
- Documentation
- Testing
- Code generators
- Scaffolding for easily connecting to services
- Command line plug-in installation and dependency management.
- A powerful class system (based off Resig's class)
2.0's feature set is similar to 1.5 with 3 important exceptions:
1. jQuery integration and API improvement. I tried very hard to
'jQuery-ify' JavaScriptMVC. Everything (with the exception of
include) is under the jQuery namespace. I've tightened and eliminated
much of the old API. Controllers add themselves to the jQuery
namespace and into jQuery data. For a single contrived example:
$.Controller.extend('TodoController',{
".show mouseover" : function(el, ev){
el.addClass('over');
}
})
To add TodoController 'powers' to any element of the dom:
$('.todos').todo_controller();
2. Testing. 2.0 integrates Selenium, Rhino, and Browser based
testing. This means you can write your tests so they work in the
browser, then they will instantly run in selenium and rhino.
3. The documentation engine was re-engineered to work like Remy
Sharp's jQuery API Browser (http://api.jquery.com). However, the docs
are completely JavaScript, written in JMVC. In fact, the entire
http://javascriptmvc.com site is just JMVC's documentation.
If you have 20 min, walk through the getting started
guide. It touches on most of the
important concepts and tools packed in JMVC.
I still would like to see JMVC become part of the jQuery team. I
believe that Thin Server Architecture is how apps will be built. This
is going to force more code and developers on the client. In my
experience, this creates havoc that no amount of documentation or a
jQuery 'lint' would correct.
Becoming part of jQuery can, and should, only happen if there is a
demand for these problems to be solved. Not everyone is building
Gmail. Most are using a few scripts to add a lightbox here and an
animation effect there. However, it's possible to for jQuery to have
a smooth gradient from adding simple hover effects to full blown, 100k
lines-of-code, monster apps.
If you have ideas on ideas for the next version (2.1), I'd love to
hear them. Thanks,
Justin Meyer