Page 2
Visualizing Class Dependencies
Page 3
Stan BershadskiySenior Engineer, Modus Create
@stan229
[email protected]
Page 4
Agenda
• Understand Sencha Class System Dependency Management
• Explore the Sencha Dependency Visualizer
• Take a peak under the hood of the Dependency Visualizer
Page 5
About Me
• Senior Engineer at Modus Create
• Started out with Sencha GWT & Ext 2
• Presented “DJing with Sencha Touch” at SenchaCon 2013
• Enjoy coding (sometimes)
Page 8
Sencha Class SystemWhy should we care about dependencies?
Page 9
Why is the Class System Awesome?
Page 11
Best Practices Learn from the mistakes of others!
Page 12
Extending through Inheritance
Page 13
Dependency Management
Page 16
How does Sencha Cmd play a role here?
Assembles Class “Sets” that cover dependencies and requirements Framework Workspace
Application
Page 17
Finding DependenciesDependencies.json
Page 19
Finding RequirementsBootsequence.json
Page 20
Detailed RequirementsDependencies.json
Page 22
Sencha Dependency Visualizer
Page 23
Dependencies Tree
Page 24
Locate Dependencies in Code
Page 25
Requirements View
Beta Alert
Page 26
Special Thanks
Jay Garcia Don Griffin Kevin Krohe
Page 27
“DJing with Sencha Touch” - SenchaCon 2013
Page 29
What can we accomplish?
Page 30
Let’s Remove Some Unnecessary Dependencies
Page 31
Let’s Gain Some Insight and Optimize Our App
Page 32
Can I Use It In My App?
Page 34
How Was The App Built?
Page 35
Requirements Parsing
Page 37
Further Reading & What’s Next
• Sencha Cmd Compiler Reference
• D3.js wiki• Requirements Source Code view
• Requirements Grid
• Edge case bug fixes :)
Page 38
Conclusion
• Visualize an application’s structure by its class dependencies and requirements
• Leverage D3.js to render collapsible tree structure
Page 39
Questions?@stan229
[email protected]