The second issue, however, is not easy to address because Ext.Window might depend on many other classes that it directly / indirectly inherits from, and in turn, these dependencies might depend on other classes to exist. For that reason, applications written before Ext JS 4 usually include the whole library in the form of ext-all.js even though they might only need a small portion of the framework.

So in other words, ext-all.js contains all of the libraries, even those that you might not be using in production, while ext.js lets you include only those libraries that you need.

I believe that the debug versions will throw errors to the console that are more helpful than those that are thrown in the production versions (making the files heavier).