Mine is not a technical question but I would like to read different opinions in one of the hottest topic of the web development nowadays.<p>I'm a frontend software engineer and I work with Ember.js (I didn't take this decision, it was already there when I started). In the old versions, it had an MVC approach and, up as it was being updated, the team behind it, left this pattern to embrace "Data down &actions up" (kind of Flux).<p>Actually, my question is: today, what are the most common patterns of the web development and, for each pattern, what are the frameworks that adopt it? I'm interested in a discussion that compares different patterns with their frameworks, and what should be the best situation to use each of them.<p>I hope the question is interesting for you as well (sorry if I did a O(n^2) complexity question due to the fact that we have to compare N patterns and N framework... I'm joking ) looking forward to read what you think.<p>Thanks.
In development environments where expectations have outpaced tools, frameworks and patterns proliferate. The front-end is one such environment.<p>Node.js created a revival of interest in Javascript as a serious language, causing the more casual/ad-hoc style of JQuery/YUI/MooTools/Dojo. to be eclipsed by more heavy-handed structured patterns like Backbone/Ember/Meteor/Angular, usually based on MVC. This went on for a long time because the browser front-end platform was still too primitive to support the kind of large projects people were suddenly demanding to build.<p>Now we are entering a period where the platform has finally become much more sophisticated with HTML5, CSS3, ES2015, HTTP2, etc., and not so many things need to be coded by hand anymore in the front-end world. Also, Facebook released React and introduced the one-way data flow pattern that's now popular. So the heavy handed approach to front-end design is now on the wane.