Acaz, That link is the old version of JavaScriptMVC. You can find the new one here: http://javascriptmvc.com/ .
I develop JavaScriptMVC, but here's an attempt at a real and unbiased answer: The short answer: It depends on what you are doing and what you care about. For the long answer, I'll take the frameworks above, add Dojo, and do my best comparison .... JavaScriptMVC ------ JavaScriptMVC is, for the most part, about 'everything else' that goes into building a web application. It probably the easiest framework to compress / concat your application. It's build system works with LessCSS and CoffeeScript. It also makes it easy to get extremely optimal caching between multiple pages / applications (I think it's multi-build is a unique feature). I'd also argue it has hands down the best testing solution with FuncUnit. It also makes it easy to do things like clean your scripts, and convert them to a stand-alone (steal-less) downloads. On it's MVC parts, I consider it fairly intuitive and simple. Controller is just a jQuery generator that does a nice job of 'hooking up and tearing down' your events automatically. You can read about the theory behind it here: http://jupiterjs.com/news/writing-the-perfect-jquery-plugin. Model is just a way to request and wrap service data, though it has a number of plugins. And views are just client side templates (EJS, JAML, Micro, jquery-tmpl are all supported). But the syntax is really nice: $('#el').html('path/to/tmpl.ejs',{ ... data ...}). Plus, JMVC can build your processed templates into your production download. DOJO ------------- Dojo, of all the frameworks, I have the most respect for it. It's basically has everything JavaScriptMVC has, and a whole lot more. The core difference between Dojo and JavaScriptMVC is ease of use. I consider JavaScriptMVC's build process to be a lot easier (no config scripts). However, Rebecca Murphey just turned me on to Dojo's templated widgets, which I have to say is really nice and smart (except slower by default, for the first 'dom write') than JMVC's controller. Yet ... FuncUnit is freaking amazing and I like to do a lot of testing. ExtJS ------------- ExtJS is an outstanding UI library. It probably has some of the most full featured and robust widget libraries around. However ... It's GNU GPL license v3. So you might have to buy a license. And, it's MVC-ish layers (like Ext.Component), imo, are not as polished as JMVC's and Dojos. It's not focused on providing these layers. Backbone + Knockoutjs------------- I'll address them together, because they are similar in approach. Backbone's existence is crazy frustrating for me. It's basically JavaScriptMVC, just minus a lot of features. Backbone.View is just not-as-nice as jQuery.Controller (mostly b/c it requires you to list events away from the function they describe "click .icon": "open"). However, I can see arguments that this is an advantage (even though you can do the same with Controller). It's Model is almost identical. I really want to work with them for a common MVC approach. I just have to find time. I've looked a little at Knockout. I like that it 'mostly-does' data - template binding. It's a useful feature (also in JMVC). It's dependent observables feature is downright snazzzzzy and doesn't have a parallel in JMVC (for now bwhahaha). My guess is that Knockout would be a great library for Comet based apps. I don't know aframejs, but I do have all sorts of problems with this statement: "these libraries are much smaller, much more focused, and don't include the entire kitchen sink" JavaScriptMVC does not contain the kitchen sink (it has no widgets). And it's extremely focused on it's individual MVC parts. In fact, each of it's MVC parts was released on its own before the framework was created: http://ajaxian.com/archives/controller-event-delegation-library http://ajaxian.com/archives/ejs-embedded-javascript-client-side-preprocessor http://robots.thoughtbot.com/post/159808627/jester-1-2-flexible-rest And so was it's dependency management solution: http://ajaxian.com/archives/include-pack-your-javascript-with-ease I don't think you can argue that the MVC parts of JavaScriptMVC have not received the same attention as the other libraries you mentioned. The project is over 3 years old and hasn't added all that much. Instead it's been refined and refined and refined. Now, as for the 'kitchen sink' being a bad thing. This is possible if there hasn't been a focus on the individual layers and quality is diluted. But this has not been the case. So, the 'kitchen' sink is really a good thing. For example, it would be rather difficult to load and compress templates into your production build with Kockout? By being an integrated solution, JavaScriptMVC is able to do things that smaller frameworks can not. Plus, you can download each part of JavaScriptMVC stand-alone: http://javascriptmvc.com/docs/download.html . CONCLUSION ==== So, is JavaScriptMVC a good idea for large projects? If there were no other frameworks, the answer would be an unequivocal yes. But, there's a lot of choices out there. All I can say is if you want to build and test a maintainable and quality JavaScript application, JavaScriptMVC will make your life a lot easier. P.S. I'm not an expert in any framework other than JavaScriptMVC. So, hopefully you can get some other people to chime in. On Dec 20, 11:25 am, Shane Tomlinson <[email protected]> wrote: > Hey Acaz, I was just checking over your link there and it seems pretty full > featured - there are actually quite a few MVC libraries out there written in > Javascript. ExtJS <http://www.sencha.com/products/js/> is pretty > ridiculously full featured, a couple of others you might want to check out > are BackboneJS <http://documentcloud.github.com/backbone/>, > KnockoutJS<http://www.knockoutjs.com/>, > and AFrameJS <http://www.aframejs.com> (I am developing this), these > libraries are much smaller, much more focused, and don't include the entire > kitchen sink. > > Shane > > > > > > > > > > On Mon, Dec 20, 2010 at 2:41 PM, Acaz Souza <[email protected]> wrote: > > that frameworkhttp://wiki.javascriptmvc.com/index.htmlis a good idea > > for large projects? > > > someone know that? > > > -- > > To view archived discussions from the original JSMentors Mailman list: > > http://www.mail-archive.com/[email protected]/ > > > To search via a non-Google archive, visit here: > >http://www.mail-archive.com/[email protected]/ > > > To unsubscribe from this group, send email to > > [email protected]<jsmentors%2bunsubscr...@googlegroups > > .com> > > -- > ---------------------------------------------------http://www.shanetomlinson.comhttp://www.aframejs.com- > a Javascript MVC library making traditional app > development in the browser much easier -- To view archived discussions from the original JSMentors Mailman list: http://www.mail-archive.com/[email protected]/ To search via a non-Google archive, visit here: http://www.mail-archive.com/[email protected]/ To unsubscribe from this group, send email to [email protected]
