Загрузчик в Ext JS разбит даже не на две, а на три части: Microloader, Ext.Boot и Ext.Loader.
- Microloader используется в боевом режиме для высокоуровневого определения платформы (телефон/таблетка/PC) и загрузки соответствующего приложения, или набора приложений.
- Boot отвечает за абстракцию метода загрузки скриптов и CSS файлов, отслеживание зависимостей при наличии декларации (Ext.manifest, генерируется Cmd), и общую бухгалтерию на уровне скриптов.
- Ext.Loader оперирует уже на уровне классовой системы, реализует динамическую загрузку классов, ведёт списки соответствия имени класса к файлу, пинает Boot на загрузку скриптов и следит за тем, чтобы все классы загрузились. Ну и ещё по мелочи.
Ext.Loader в боевом режиме выключен по умолчанию, поскольку динамическая загрузка не нужна. По сути используется только для разработки и является наследием эпохи до Cmd.
Если быть совсем педантичным, то Ext.Loader в 5+ был растащен на более мелкие куски и теперь часть живёт в Ext.Inventory, часть в Ext.ClassManager (экземпляр Ext.Inventory), и часть в Ext.Loader.
Я всю прошлую неделю провёл в потрохах этой дребедени, поэтому воспоминания ещё трепещут. Спрашивайте, если что интересно. :)