I found an article on Planet OSGeo that talks about lessons learned when doing a "modern" rewrite of a complex javascript application. http://www.geo-solutions.it/blog/mapstore-2-modern-webmapping/