If you have developed any web applications and written more than a few lines of code in JavaScript, you will have encountered one of the many quirks of JavaScript. Web application development has gone through some major changes in the last decade or so. We have been writing more and more complex applications that need to have a highly interactive user interface. There have been libraries which have helped us along the way, such as jQuery, Knockout, and so on, but they can only go so far to manage an ever-expanding code base.
Applications written in JavaScript tend to become cluttered and difficult to maintain after a few hundred lines of code if we do not follow best practices and patterns. To solve this problem, many JavaScript frameworks have come along, such as Durandal, Backbone, React, and Angular, which have helped manage these complexities...