app フォルダの外で定義されたクラスを持つ sencha touch アプリケーションを構築しています。そのクラスを動的にロードする方法です。
アプリケーションの構造は次のようになります。
assets
   -> Assignment
          -> controller
                 -> AssignmentAPI
   -> Application
          -> app
                -> controller
                     -> LoadAssignment
          -> app.js
割り当てAPI:
Ext.define('Assignment.controller.AssignmentAPI', {
          extend:'Ext.app.Controller',
              statics: {
                    getAssignments: function() {
                    }
              }
});
ロード割り当て:
 Ext.define('Application.controller.LoadAssignment', {
             extend:'Ext.app.Controller',
             requires: [
             ],
             statics: {
                    populateAssignments: function() {
                         Ext.require(['Product.controller.AssignmentAPI']);
             var assignmentAPI = Ext.ClassManager.get('Assignment.controller.AssignmentAPI');           
             //Assignment API is coming as NULL
             assignmentAPI.getAssignments()
                    }
             }  
});
app.js
 Ext.Loader.setPath({
       'Ext':      'sdk/src',
       'Assignment': '../Assignment'
  });
注*: LoadAssignment クラスの requires:[] で Task.controller.AssignmentAPI クラスを指定すると正常に動作しますが、Ext.require() を使用して Assignment.controller.AssignmentAPI をロードすると動作しません。