http://docs.sencha.com/extjs/6.0/6.0...s-cfg-requires
Инструкция
requires гарантирует загрузку, перечисленных в ней классов до инстанцирования (наверное до создания экземпляров) данного класса.
http://docs.sencha.com/extjs/6.0/6.0...Class-cfg-uses
Инструкция
uses гарантирует загрузку, перечисленных в ней классов до вызова обработчиков
Ext.onReady.
Отсюда я делаю вывод, что
requires нужно использовать, если создаются экземпляры этого класса до
Ext.onReady, что происходит весьма редко. Мало того, с использованием
Sencha Cmd этот случай вообще исключен из жизни.
Таким образом, надо всегда и везде использовать
uses*. И только когда нужен экземпляр класса до
Ext.onReady, то нужно использовать
requires.
Почему тогда всюду используется requires?
И в коде самого ExtJS и в пользовательском коде.
_____
* А то может возникнуть предупреждение "
Duplicate class name 'Ext.ux.AppInspector' specified, must be a non-empty string", которое крайне сложно исправить.