Tools• Browsers – Safari the best (unfortunately)• Web Inspector• RemoteJS (Android debugging)• Souders’ bookmarklets – stevesouders.com/mobileperf• Jdrop – jdrop.org
Object-oriented• Use namespaces to deﬁne your library• Deﬁne components – code for reusability• Extend ﬁrst, write plugins second (not at all if possible)
Events rock!• Use events to communicate between components• Use event delegation
Override appropriately• Do not edit the library ﬁles• DO NOT EDIT THE LIBRARY FILES!• Use an overrides ﬁle if you need to override the framework• Do the same with CSS (but you should be using cls, ui properties)
Deﬁne a directory structure• Break your code into small ﬁles• Use build tools to compile for performance• Use sencha-touch-debug.js during dev (but never prod!)• Keep the framework up-to-date – upgrade as often as you can
Worry about performance• Understand client-side performance rules & use them• Latency bad• JIT compilers – compilation time relates to size of ﬁle the method exists in• Keep DOM light• Destroy components that aren’t visible• concatenate, minify, compress!
Theming/Layouts• Use SCSS• Remove unnecessary CSS by only including required SCSS mixins• Understand XTemplate• Understand doComponentLayout
Sencha.comRead the forums Read the docs Read the source!