Debugging Sencha Touch     Applications    Evan Trimboli & Tommy Maintz
AgendaCommon Javascript Oversights    Investigating the Tools  Touch Debugging Specifics
Common Javascript   Oversights
No CompilerCase sensitivity mattersCheck spellingDeclare variablesReserved words
Truthiness & EqualityNo need for explicit true valueType coercion not performed by ===null/undefined are di erent!
Closures
Variable Binding
Variable Binding
Language FeaturesNo block level scopePrototypal inheritanceHigher order functions
Investigating The Tools
Chrome Debugger
Elements Screen
Elements TabView current DOM stateSearchingView/Modify styles dynamically
Scripts Screen
Scripts TabBreakpoints, step line by lineCall stackInspect locals
Resources Screen
Resources TabLoading time/sizeLoad informationFiltering
ConsoleInteractive commandslog()/warn()/error()Counting/Grouping
JSLint
JSLint - Code Quality ToolGlobal variablesTrailing commasUnreachable codeRequired blocksMuch more
RemoteJS
RemoteJS - Android
Touch Debugging Specifics
Data
Loading DataIs the URL correct?Did the request complete?Was the data valid?Does the Model match the Component?
Event Driven ModelAjax - ASYNCHRONOUSExecution doesn’t stopMust use appropriate callbacks
Layouts
Over-nestingPanels with no layoutImplicit layouts (Carousel, TabPanel)
Dynamic LayoutsRemember doLayout & doComponentLayoutApply sizes to Components
Events & Scoping
What is “this”Contextual InformationHandlersCallbacksBlocks (Ext.each)
Are You ListeningCapture - All events on an instanceObserve - Specific events on all instances
General Tips
Use the Right Filessencha-touch.js - Minified, compressedsencha-touch-debug.js - Whitespace,comments
Getting Further HelpRead the documentation (then read it again)Consult the sourceWrite a test caseKnow how to ask for help
Happy Debugging!
Debugging Sencha Touch Apps
Upcoming SlideShare
Loading in …5
×

Debugging Sencha Touch Apps

7,765 views

Published on

Debugging applications on mobile devices is challenging. Although simulators exist, tooling is limited. Luckily, with some accomodations, you can debug your mobile web applications using most desktop tools. In this session, we'll go over what works, what doesn't and how to use tools appropriately to debug your mobile web app.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,765
On SlideShare
0
From Embeds
0
Number of Embeds
105
Actions
Shares
0
Downloads
98
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Debugging Sencha Touch Apps

  1. 1. Debugging Sencha Touch Applications Evan Trimboli & Tommy Maintz
  2. 2. AgendaCommon Javascript Oversights Investigating the Tools Touch Debugging Specifics
  3. 3. Common Javascript Oversights
  4. 4. No CompilerCase sensitivity mattersCheck spellingDeclare variablesReserved words
  5. 5. Truthiness & EqualityNo need for explicit true valueType coercion not performed by ===null/undefined are di erent!
  6. 6. Closures
  7. 7. Variable Binding
  8. 8. Variable Binding
  9. 9. Language FeaturesNo block level scopePrototypal inheritanceHigher order functions
  10. 10. Investigating The Tools
  11. 11. Chrome Debugger
  12. 12. Elements Screen
  13. 13. Elements TabView current DOM stateSearchingView/Modify styles dynamically
  14. 14. Scripts Screen
  15. 15. Scripts TabBreakpoints, step line by lineCall stackInspect locals
  16. 16. Resources Screen
  17. 17. Resources TabLoading time/sizeLoad informationFiltering
  18. 18. ConsoleInteractive commandslog()/warn()/error()Counting/Grouping
  19. 19. JSLint
  20. 20. JSLint - Code Quality ToolGlobal variablesTrailing commasUnreachable codeRequired blocksMuch more
  21. 21. RemoteJS
  22. 22. RemoteJS - Android
  23. 23. Touch Debugging Specifics
  24. 24. Data
  25. 25. Loading DataIs the URL correct?Did the request complete?Was the data valid?Does the Model match the Component?
  26. 26. Event Driven ModelAjax - ASYNCHRONOUSExecution doesn’t stopMust use appropriate callbacks
  27. 27. Layouts
  28. 28. Over-nestingPanels with no layoutImplicit layouts (Carousel, TabPanel)
  29. 29. Dynamic LayoutsRemember doLayout & doComponentLayoutApply sizes to Components
  30. 30. Events & Scoping
  31. 31. What is “this”Contextual InformationHandlersCallbacksBlocks (Ext.each)
  32. 32. Are You ListeningCapture - All events on an instanceObserve - Specific events on all instances
  33. 33. General Tips
  34. 34. Use the Right Filessencha-touch.js - Minified, compressedsencha-touch-debug.js - Whitespace,comments
  35. 35. Getting Further HelpRead the documentation (then read it again)Consult the sourceWrite a test caseKnow how to ask for help
  36. 36. Happy Debugging!

×