Top Banner
39

SenchaCon 2015 - Visualizing Class Dependencies

Jul 16, 2015

Download

Technology

stan229
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SenchaCon 2015 - Visualizing Class Dependencies
Page 2: SenchaCon 2015 - Visualizing Class Dependencies

Visualizing Class Dependencies

Page 3: SenchaCon 2015 - Visualizing Class Dependencies

Stan BershadskiySenior Engineer, Modus Create

@stan229

[email protected]

Page 4: SenchaCon 2015 - Visualizing Class Dependencies

Agenda

• Understand Sencha Class System Dependency Management

• Explore the Sencha Dependency Visualizer

• Take a peak under the hood of the Dependency Visualizer

Page 5: SenchaCon 2015 - Visualizing Class Dependencies

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 6: SenchaCon 2015 - Visualizing Class Dependencies
Page 7: SenchaCon 2015 - Visualizing Class Dependencies
Page 8: SenchaCon 2015 - Visualizing Class Dependencies

Sencha Class SystemWhy should we care about dependencies?

Page 9: SenchaCon 2015 - Visualizing Class Dependencies

Why is the Class System Awesome?

Page 10: SenchaCon 2015 - Visualizing Class Dependencies

Well Structured

Page 11: SenchaCon 2015 - Visualizing Class Dependencies

Best Practices Learn from the mistakes of others!

Page 12: SenchaCon 2015 - Visualizing Class Dependencies

Extending through Inheritance

Page 13: SenchaCon 2015 - Visualizing Class Dependencies

Dependency Management

Page 14: SenchaCon 2015 - Visualizing Class Dependencies

Class Hierarchy

Page 15: SenchaCon 2015 - Visualizing Class Dependencies

Sencha Cmd

Page 16: SenchaCon 2015 - Visualizing Class Dependencies

How does Sencha Cmd play a role here?

Assembles Class “Sets” that cover dependencies and requirements Framework Workspace

Application

Page 17: SenchaCon 2015 - Visualizing Class Dependencies

Finding DependenciesDependencies.json

Page 18: SenchaCon 2015 - Visualizing Class Dependencies

src/Mask.js

Page 19: SenchaCon 2015 - Visualizing Class Dependencies

Finding RequirementsBootsequence.json

Page 20: SenchaCon 2015 - Visualizing Class Dependencies

Detailed RequirementsDependencies.json

Page 21: SenchaCon 2015 - Visualizing Class Dependencies

src/Container.js

Page 22: SenchaCon 2015 - Visualizing Class Dependencies

Sencha Dependency Visualizer

Page 23: SenchaCon 2015 - Visualizing Class Dependencies

Dependencies Tree

Page 24: SenchaCon 2015 - Visualizing Class Dependencies

Locate Dependencies in Code

Page 25: SenchaCon 2015 - Visualizing Class Dependencies

Requirements View

Beta Alert

Page 26: SenchaCon 2015 - Visualizing Class Dependencies

Special Thanks

Jay  Garcia Don  Griffin Kevin  Krohe

Page 27: SenchaCon 2015 - Visualizing Class Dependencies

“DJing with Sencha Touch” - SenchaCon 2013

Page 28: SenchaCon 2015 - Visualizing Class Dependencies
Page 29: SenchaCon 2015 - Visualizing Class Dependencies

What can we accomplish?

Page 30: SenchaCon 2015 - Visualizing Class Dependencies

Let’s Remove Some Unnecessary Dependencies

Page 31: SenchaCon 2015 - Visualizing Class Dependencies

Let’s Gain Some Insight and Optimize Our App

Page 32: SenchaCon 2015 - Visualizing Class Dependencies

Can I Use It In My App?

Page 33: SenchaCon 2015 - Visualizing Class Dependencies

Under The Hood

Page 34: SenchaCon 2015 - Visualizing Class Dependencies

How Was The App Built?

Page 35: SenchaCon 2015 - Visualizing Class Dependencies

Requirements Parsing

Page 36: SenchaCon 2015 - Visualizing Class Dependencies
Page 37: SenchaCon 2015 - Visualizing Class Dependencies

Further Reading & What’s Next

• Sencha Cmd Compiler Reference

• D3.js wiki• Requirements Source Code view

• Requirements Grid

• Edge case bug fixes :)

Page 38: SenchaCon 2015 - Visualizing Class Dependencies

Conclusion

• Visualize an application’s structure by its class dependencies and requirements

• Leverage D3.js to render collapsible tree structure