I started writing my ExtJS 4.1.3 and Sencha Touch 2.1.2 apps by hand not using any of the tools, but laid them out in the MVC patterns. I decided I wanted to minimize my touch code (and the desktop code while I was at it) to reduce download time for my users.
I was mostly able to get it to work but has a few issues I thought were a pain when using the 'sencha compile' command:
Both Touch and ExtJS:
- views : ['SomeView']
Would not get pulled in in the correct order when defined in the Controller. I had to add them to the requires: ['SomeView'] to have the views concatenated before the controller.
- My model definitions needed me to "require" both the "proxy" and the "associations" I was using. I didn't need to require those when using the Ext.Loader and it worked fine with the sencha touch application.
I was able to work around the first 3 issues, but the last one with the Date.parseCodes gives me issues no matter what I did. It doesn't seem to prevent my app from working, but it bothers me that sencha command isn't doing what it should when compiling a sencha touch app.
- I had to manually include the log namespace
requires : [ 'Ext.MessageBox', 'Ext.log.*' ]
if I did not include that, I'd get errors in my console when loading the app that Ext.log.Logger didn't exist. Just including the Logger class didn't help, I had to include the entire namespace.
- I had an issue with the english language file src/locale/ext-lang-en.js.
at line: Date.parseCodes.S.s = '(?t|nd|rd|th)';
I'd get an error: Uncaught TypeError: Cannot read property 'S' of undefined
apparently Date.parseCodes doesn't exist yet when sencha command compiles the Ext libraries. I tried manually including the Ext.DateExtras, but that didn't help and caused issues when using Ext.Loader. I didn't have any issues when I enabled Ext.Loader and use the non-concatenated files.
I updated my sencha command to 126.96.36.1994 and the Date.parseCodes error still pops up. I didn't test the other problems as I already have work arounds in place for them.