The flip side of this is that you end up building your own <i>that is tailored to the particular requirements, users, and resources available to your product</i>.  That can be a huge advantage, given that differentiation is the only thing that will make your product stand out in the marketplace.<p>Are you in a latency-critical domain, which Google Search is?  Then optimize to minimize the number of bytes shipped to the user and startup time.  Do you have 100+ screenfuls of information?  Then optimize so that making new screens is easy.  Do users load your app once, leave it open in the background, but then need to perform a number of interactions quickly?  Then ship down the initial interface quickly and progressively lazy-load bundles of functionality that are just a JS function away on click, like GMail does.<p>Incidentally, one of the main reasons Google Search finally adopted Closure was because it had to integrate with Google+, which was all done using Closure.  So again, the choice of a framework was driven by product concerns.<p>It&#x27;s not a failure when a company builds a home-grown framework that is carefully tailored to the product needs that they&#x27;ve discovered over the last few years.  Indeed, having the resources and domain knowledge to build your own framework is a far bigger success than building an app with the hot framework of the month and failing because you look just like every other app out there.