Hacker News new | ask | show | jobs
by charlieflowers 4847 days ago
This article hits the nail on the head.

Remember, "MVC" means so many different things. Originally, the "controller" was needed for low-level keyboard processing, something no modern "MVC" framework needs in the same way. (See Martin Fowler's history of the term if you're unfamiliar with it).

So really, all "MVC" means these days, is, "Hey, we put some thought into how to have better separation of concerns in our UI code."

But past that point, it is hard to make simple, true statements that include all of the MVC frameworks out there. Rails controllers are different from Ember's controllers are different from Backbone controllers, etc.

So when someone tells you, "Here's an MVC framework," the only reasonable expectation you can come in with is that they put some thought into separation of concerns. Where that thought led them is likely to be very different from other MVC frameworks.

And in Ember's case, the particular details are, "Our whole philosophy was strongly influenced by Cocoa."

Ultimately, we seem to just now be getting to the point where we can, as an industry, intelligently figure out what concepts do make sense in a single-page javascript framework that "puts some thought into separation of concerns." It's not likely to be any of the approaches we've already tried, because our "javascript platform" was immature, and all we have done so far is borrow ideas (from Rails, or from Cocoa, or wherever).