For a large ajax site, what is the best framework/approach
There are a lot of ajax frameworks out there. We have backbone.js, sammy.js, JavaScriptMVC, SproutCore and a bunch of others I don't even know exist... it can be overwhelming.

If you were going a rails project that had to offer a very rich ajax frontend... which would you use and why? Or would you not use any of these?

Important things to consider:

1. Updating multiple models and even nested models (like a model and perhaps some children) in one server call might be important.

2. Productivity is important, which means good productivity to start and consistently good productivity when the application is complex

3. Low cognitive load is important. Having lots of entanglements and dealing with something that is overly complex and/or overly engineered is not desirable.

4. It must be easy to find out what is wrong if there's a problem. Put another way, silent errors and spending 3 or 5 hours debugging a silent error, in my opinion, counteracts the productivity gains given by the framework.

5. Should emphasize low duplication. Not duplicating HTML generated on the server and the client is a must (basically an easy way to do javascript templates must be in there).

6. Does not need to be compatible with non-Javascript browsers.

7. You can assume good knowledge and comfort with Javascript and Jquery, but not good knowledge with designing large-scale AJAX applications
For a large ajax site, what is the best framework/approach
===

There are a lot of ajax frameworks out there. We have backbone.js, sammy.js, JavaScriptMVC, SproutCore and a bunch of others I don't even know exist... it can be overwhelming.

If you were going a rails project that had to offer a very rich ajax frontend... which would you use and why? Or would you not use any of these?

Important things to consider:

1. Updating multiple models and even nested models (like a model and perhaps some children) in one server call might be important.

2. Productivity is important, which means good productivity to start and consistently good productivity when the application is complex

3. Low cognitive load is important. Having lots of entanglements and dealing with something that is overly complex and/or overly engineered is not desirable.

4. It must be easy to find out what is wrong if there's a problem. Put another way, silent errors and spending 3 or 5 hours debugging a silent error, in my opinion, counteracts the productivity gains given by the framework.

5. Should emphasize low duplication. Not duplicating HTML generated on the server and the client is a must (basically an easy way to do javascript templates must be in there).

6. Does not need to be compatible with non-Javascript browsers.

7. You can assume good knowledge and comfort with Javascript and Jquery, but not good knowledge with designing large-scale AJAX applications