Throne of JS: Eight JavaScript MV* Libraries Compared
http://tjholowaychuk.com/post/27984551477/componentsThose frameworks are great, but they all fail to take advantage of a key advance in software development: the widget.Reusable, composable GUI components that package front end and back end files together and can be distributed easily as plugins are the next step up in abstraction and superior from a software engineering perspective.The reason many web developers aren't able to either grasp or accept that is because A) understanding and building those types of components that are truly generic enough to be applicable to a wide variety of applications as well as reusable, has a significant learning curve and is time consuming and B) the better you are at it, the less likely you are to get credit for your programming skills, because unfortunately if you can build an application without typing colorful ASCII text, then you didn't do any programming and aren't a programmer.To get past B) we just need to redefine what programming is, and also grow up a little.  Also realize that even if you are programming with GUI components, you still have to create new components sometimes, so you are still programming and still a programmer.I have a very early rough draft system that I am throwing together on my own, mostly because very few people seem to be able to appreciate these concepts.  Or the ones that do are happy to use existing systems like ASP.NET or WordPress.https://github.com/ithkuil/curebloghttps://vimeo.com/43784316  Note that I have modernized the interface somewhat since I made that video.