At the very least the unobtrusive javascript helpers. It's easy to imagine that all web frameworks will come to a kind of protocol modeled on the efforts of the rails core team here. This will mean that you can use any JS framework ( Prototype, jQuery, Moo, Google Closure, Ext ) and simply add a few lines of shim code that correctly reworks the tags to their AJAX equivalents when it encounters the correct data- tags. It's a brilliant abstraction.
Fair enough. It doesn't have to be helpers. It could become the standard way of writing active ajax elements. Typing out <a href="/stuff" data-remote="true">more</a> is pretty efficient even by hand.
I've been arguing about this for years; my view is that people should actually learn and write JavaScript rather than demand the framework write it for them automatically. Refusing to learn a key technology of the web platform isn't an attitude I'd like to encourage.
Some samples of my reasoning and the times I've argued it with people:
Yes you have a point. But otoh, the history of software has been one of more and more abstraction and code generation. This argument can be made (not saying you are making it) to say something like "People should actually learn and use Assembler than demand that their C compiler do it for them. Refusing to learn a key technology of Computing is not something that I'd like to encourage".
Many languages generate C code. Should everyone learn C because it is a foundational language? (and it is a foundational language). Do you insist all Django users learn C? Why not?
It is ok to have a choice of learning Javascript or not. Just like people have the choice to learn Assembler or have it generated for them. To learn C or have it generated for them.
And framework devs have the freedom to choose whether their framework supports javascript code generation or not. There aren't really any good or evil choices. Rails is cool. Django is, too (I prefer Django fwiw).
Gotcha. That's a pretty reasonable position to take.
Personally, I've written my own "let's see if xmlhttprequest exists, otherwise, do the thing ie needs" ajax handlers, I've written a bunch of SQL, and all that other fun foundational stuff. So I'm really glad that I can just not worry about that and use what's already written, because it's pretty much what I would write anyway. And my snarky reply to 'stfu, write your own' is "Why aren't you coding in machine code, then? Your compiler/interpreter is just hand holding!"
But if I didn't already know it, it'd be easy to cripple myself by never bothering to learn.
(Also, I've been writing my own javascript, even within rails, because I prefer jQuery to prototype.)