Am I crazy? What is the benefit of this? With a bit of customization rails could do this out of the box without a duplicate MVC arch.
Your server models sync automatically to your client models, you can hit model.save() to persist your client models, and your client views represent the data in a way which can be quickly adapted if requirements change.
For a less dynamic app you don't need it.
I prefer the first approach.
Basically, it gives you a logical place for everything.
Word of caution though, it can get a little frustrating to start with (especially event binding) but once over that first bump, this just makes your code so much more readable and maintainable.
There's no graceful degradation at all, and in order to provide graceful degradation you'd have to duplicate the view templates (at the very least).
User Experience trumps Graceful Degradation.
Thanks for the assessment. I'll put that on my resume next to the 10yrs of web work.
search engine crawlers
It may sounds harsh but most sites couldn't care less about accessibility because it's not required by law and because users with assistive devices don't account for a measurable portion of their revenue.
Not sure what kind of site you have there, my reports are more inline with what yahoo measures (i.e. hovering around 1%):
Spoken like a true novice.
I'm not aware of anyone attempting to enforce this however.
Google, Yahoo, AOL, and several other major web companies all recommend Progressive Enhancement. But sure, you know better.
Sure, if you're building a content site, you will want to have progressive enhancement, but if you're building a client-side application, SEO concerns and the other concerns of content-delivery sites are less relevant.
I like the MooTools API better than JQuery's.
new Element('div').grab(new Element('a'));
Let the hot forking action commence.