Rediscovering the passion for digging into the source of the tools we use to create awesome web experiences and the design patterns that shape them.
Viewing Sourceon JavaScript Frameworks
View Slide
Who Am I?• Nick Hehr, a.k.a HipsterBrown• Product Designer• Front-End Developer• Forever Learner
What We’ll Cover• Discovery• Popular JS Frameworks• Source Code• JavaScript Design Patterns• Why?
Discovery
Remember whenthis was new?
It’s 2014:A Time of Powerful,Front-end Driven Apps
http://www.paulirish.com/2010/10-things-i-learned-from-the-jquery-source/
http://www.paulirish.com/2011/11-more-things-i-learned-from-the-jquery-source/Great screenshotting tunes
http://quickleft.com/blog/18-surprises-from-reading-jquery-s-source-code
We’re not here forJQuery.
http://backbonejs.org
https://docs.angularjs.org/api
http://emberjs.com/api
Straight to theSource
http://backbonejs.org/docs/backbone.html
https://github.com/angular/angular.js/tree/master/src
https://github.com/emberjs/ember.js/tree/master/packages
JavaScript Design Patterns
http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/
–Addy Osmani,Learning JavaScript Design Patterns“Design patterns are reusable solutions tocommonly occurring problems in softwaredesign.”
Creational Design Patterns• Modules• Singletons• Factories• Mixins
Modules
https://docs.angularjs.org/api/ng
https://github.com/angular/angular.js/blob/master/src/Angular.js
https://docs.angularjs.org/guide/module
https://github.com/emberjs/ember.js/blob/master/packages/ember-metal/lib/array.js
Singletons
http://backbonejs.org/docs/backbone.html#section-32
http://emberjs.com/guides/templates/rendering-with-helpers/
https://github.com/emberjs/ember.js/blob/4445be038bd839a1559020db5677b211dd3f1e9c/packages/ember-routing-handlebars/lib/helpers/render.js
https://docs.angularjs.org/guide/services
Factories
https://docs.angularjs.org/guide/providers
Mixins
http://emberjs.com/api/classes/Ember.Mixin.html
https://github.com/emberjs/ember.js/blob/v1.7.0/packages/ember-metal/lib/mixin.js
Why does it allmatter?
Back to Discovery
Start Contributing
Best Practices
Thank You!