javascript revolution - 5/nov/13 - prdc saskatoon, sk
Post on 12-Sep-2014
1.198 views
DESCRIPTION
Slides from presentation delivered at Prairie Dev Con 2013 in Saskatoon, SK entitled JavaScript Revolution: The New Age of Software Development.TRANSCRIPT
![Page 1: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/1.jpg)
![Page 2: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/2.jpg)
THE JAVASCRIPTREVOLUTION
THE NEW AGE OF SOFTWARE DEVELOPMENTAn original presentation by / David Wesst @davidwesst
Prarie Dev Con 2013 - Saskatoon, SK
![Page 3: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/3.jpg)
DAVID WESSTFROM WINNIPEG, MANITOBA
SYSTEMS ANALYST, UNIVERSITY OF MANITOBA (FACULTY OFMEDICINE)
MICROSOFT MVP, INTERNET EXPLORER
IE USER AGENT USERAGENTS.IE
PRODUCER, BREWPUB STUDIOS
![Page 4: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/4.jpg)
DAVID WESST@DAVIDWESST ON TWITTER
DAVIDWESST.COM ON THE WEB
DAVIDWESST.COM/BLOG ON THE BLOGOSPHERE
DW [AT] DAVIDWESST.COM ON EMAIL
![Page 5: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/5.jpg)
FOLLOW ALONGHTTP://DAVIDWESST.GITHUB.IO/DW-PRESENTATIONS
![Page 6: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/6.jpg)
SLIDES AND DEMOS WILL BE POSTEDAFTERWARDS.
![Page 7: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/7.jpg)
THE POINTTO ACCOMPLISH ONE OF THESE BEFORE YOU LEAVE:
To see some new JavaScript toolsTo understand how a JavaScript project can workTo bring you up-to-speed with JavaScript
![Page 8: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/8.jpg)
THE POINTTHEME FOR THIS PRESENTATION
TO SHOW YOU THATJAVASCRIPT IS A REAL
OPTION
![Page 9: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/9.jpg)
THE PLANA.K.A. THE AGENDA
Why JavaScript?
Survival Skills for the New Age of JavaScript
Modern Day JavaScript Projects
Source ControlJavaScript Code TodayManaging DependenciesTest, Test, and Test AgainBuilding JavaScript
Next Steps
![Page 10: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/10.jpg)
THE PLANSETTING YOUR EXPECTATIONS
This presentation is...
An overview of JavaScript modern developmentA review of JavaScript development toolsA "core sample" of pure JavaScript developmentA taste of things to come for JavaScript at DevTeach
![Page 11: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/11.jpg)
THE PLANSETTING YOUR EXPECTATIONS
This presentation is not...
A 100% code-centric presentationA lesson on JavaScript coding practicesA discussion on JavaScript ALM (Application LifecycyleManagement)A "deep-dive" into one or more specific JavaScripttechnologies
![Page 12: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/12.jpg)
WHY JAVASCRIPT?
![Page 13: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/13.jpg)
WHY JAVASCRIPT?COMMON ARGUMENTS ABOUT JAVASCRIPT
JAVASCRIPT IS FOR CLIENT-SIDE WEB DEVELOPMENT ANDNOTHING ELSE.
IT'S NOT AN OO LANGUAGE, SO I CAN'T USE IT FOR ANYTHING.
I DON'T PROGRAM FOR THE WEB, SO I DON'T NEEDJAVASCRIPT ANYWAY.
![Page 14: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/14.jpg)
WHY JAVASCRIPT?
Image Source: Wikimedia Commons
![Page 15: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/15.jpg)
JavaScript is for client-side web developmentand nothing else.
NOT QUITE...Web BrowsersChrome Installed Apps / Chromium AppsiOS, Windows Phone, Android (through PhoneGap)Windows 8Wii U
![Page 16: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/16.jpg)
It's not an OO language, so I can't use it foranything.
ACTUALLY, IT IS.Prototype-based LanguageProvides properties, classes, polymorphism, etc...
![Page 17: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/17.jpg)
I don't program for the web, so I don't needJavaScript anyway.
JAVASCRIPT LIVES OUTSIDE OF THE WEBWindows Store AppsChromium and Firefox AppsWii UPhoneGap
![Page 18: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/18.jpg)
SURVIVAL SKILLS FORTHE NEW AGE OF
JAVASCRIPT
![Page 19: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/19.jpg)
SURVIVAL SKILLS FOR THE NEW AGE OFJAVASCRIPT
OPEN SOURCE IS YOUR FRIEND
![Page 20: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/20.jpg)
SURVIVAL SKILLS FOR THE NEW AGE OFJAVASCRIPT
PLAN AND CHOOSE YOUR PLATFORMS
![Page 21: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/21.jpg)
SURVIVAL SKILLS FOR THE NEW AGE OFJAVASCRIPT
UNDERSTAND YOUR HTML5
![Page 22: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/22.jpg)
SURVIVAL SKILLS FOR THE NEW AGE OFJAVASCRIPT
EXPLORE YOUR ENVIRONMENT(S)Eclipse (Web Platform Tools, Aptana, Nodeclipse)Visual Studio 2012/2013WebMatrixWebStormCloud9 (http://c9.io)
![Page 23: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/23.jpg)
MODERN DAYJAVASCRIPT PROJECTS:
SOURCE CONTROL
![Page 24: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/24.jpg)
HERE'S THE SECRET:
ANY SOURCE CONTROLWILL DO!
BUT IN CASE YOU ARE GOING OPEN SOURCEWITH YOUR PROJECT...
![Page 25: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/25.jpg)
MODERN DAY JAVASCRIPT PROJECTS: SOURCECONTROL
A FEW CONSIDERATIONS FOR OPEN SOURCE PROJECTSVisibilityShare-abilityAccessibility
![Page 26: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/26.jpg)
MODERN DAY JAVASCRIPT PROJECTS: SOURCECONTROL
SOME OPTIONSGithub (http://github.com)Bitbucket (http://bitbucket.org)CodePlex (http://codeplex.com)Google Code (http://code.google.com)
![Page 27: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/27.jpg)
MODERN DAYJAVASCRIPT PROJECTS:
JAVASCRIPT CODE TODAY
![Page 28: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/28.jpg)
MODERN DAY JAVASCRIPT PROJECTS:JAVASCRIPT CODE TODAY
COMPILERSProvide solution to some common "issues" with JavaScript
More familiar syntax than JavaScriptProvides common keywords like "class" and "interface"Compiles into optimized JavaScriptMakes OO programming easier to learn in JavaScript
![Page 29: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/29.jpg)
MODERN DAY JAVASCRIPT PROJECTS:JAVASCRIPT CODE TODAY
COMPILERSPopular Examples
CoffeeScript - Ruby Like SyntaxTypeScript - Superset of JavaScriptFor more check out Altjs.org
![Page 30: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/30.jpg)
DEMO: COMPILERSTYPESCRIPT
![Page 31: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/31.jpg)
MODERN DAY JAVASCRIPT PROJECTS:JAVASCRIPT CODE TODAYMV* PATTERNS AND FRAMEWORKS
MVC, Model View ControllerMVVM, Model View ViewModelMVP, Model View Presenter
![Page 32: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/32.jpg)
MODERN DAY JAVASCRIPT PROJECTS:JAVASCRIPT CODE TODAYMV* PATTERNS AND FRAMEWORKS
Backbone (http://backbonejs.org/)Knockout (http://knockoutjs.com/)AngularJS (http://angularjs.org/)
![Page 33: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/33.jpg)
DEMO: MV* PATTERNSAND FRAMEWORKS
KNOCKOUTJS
![Page 34: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/34.jpg)
MODERN DAY JAVASCRIPT PROJECTS:JAVASCRIPT CODE TODAY
ON THE SERVER WITH NODEJSRuns JavaScript on the ServerOpen Source TechnologyProvides Asynchronous I/O, i.e. Non-Blocking I/O
![Page 35: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/35.jpg)
DEMO: ON THE SERVERWITH NODEJS
WALKING THROUGH NODEJS
![Page 36: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/36.jpg)
MODERN DAYJAVASCRIPT PROJECTS:
MANAGINGDEPENDENCIES
![Page 37: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/37.jpg)
MODERN DAY JAVASCRIPT PROJECTS:MANAGING DEPENDENCIES
REQUIREJSAllows you to define and load JavaScript modulesRemoves need for "script" tags to define dependenciesRuns JavaScript ONLY when dependencies are loaded
![Page 38: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/38.jpg)
DEMO: MANAGINGDEPENDENCIES
REQUIREJS
![Page 39: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/39.jpg)
MODERN DAY JAVASCRIPT PROJECTS:MANAGING DEPENDENCIES
NPM, NODE PACKAGED MODULESBundled with NodeJSDefine dependencies through package name or git repoThrows errors when dependencies are not loaded properlyDefine dependencies in package.json
![Page 40: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/40.jpg)
DEMO: MANAGINGDEPENDENCIES
NPM, NODE PACKAGED MODULES
![Page 41: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/41.jpg)
MODERN DAYJAVASCRIPT PROJECTS:TEST, TEST, AND TEST
AGAIN
![Page 42: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/42.jpg)
MODERN DAY JAVASCRIPT PROJECTS: TEST,TEST, AND TEST AGAIN
TESTING YOUR JAVASCRIPTLarge number of frameworks for testsApply TDD or BDD PracticesMocking frameworks exist as wellAvailable for both client and server
![Page 43: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/43.jpg)
MODERN DAY JAVASCRIPT PROJECTS: TEST,TEST, AND TEST AGAIN
TESTING YOUR JAVASCRIPT: QUNITDeveloped by jQueryUnit Testing FrameworkNo external dependencies (not even jQuery)
![Page 44: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/44.jpg)
MODERN DAY JAVASCRIPT PROJECTS: TEST,TEST, AND TEST AGAIN
TESTING YOUR JAVASCRIPT: JASMINEBDD based frameworkResembles RSpecNo external dependenciesProvides multiple output channels for results
![Page 45: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/45.jpg)
MODERN DAY JAVASCRIPT PROJECTS: TEST,TEST, AND TEST AGAIN
TESTING YOUR JAVASCRIPT: MOCHABDD based frameworkResembles RSpecWorks with both client and server (NodeJS)
![Page 46: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/46.jpg)
DEMO: TEST, TEST, ANDTEST AGAIN
MOCHA
![Page 47: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/47.jpg)
MODERN DAYJAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
![Page 48: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/48.jpg)
MODERN DAY JAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
WHY "BUILD" YOURJAVASCRIPT?
WE AREN'T REALLY BUILDING ANYTHING...ARE WE?
![Page 49: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/49.jpg)
MODERN DAY JAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
YOU ARE NOW.
![Page 50: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/50.jpg)
MODERN DAY JAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
WHAT WE CAN TODAY DO TODAY WITH JAVASCRIPT1. Get our source2. Compile it (from TypeScript)3. Setup dependencies4. Test it
![Page 51: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/51.jpg)
MODERN DAY JAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
SOME BUILDING SOLUTIONSTravis-CI (Free for Open Source)JenkinsWhatever you want to execute CLI commands
![Page 52: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/52.jpg)
![Page 53: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/53.jpg)
DEMO: BUILDINGJAVASCRIPT
TRAVIS-CI
![Page 54: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/54.jpg)
MODERN DAY JAVASCRIPT PROJECTS:BUILDING JAVASCRIPT
GRUNT: THE JAVASCRIPT CLI TOOLOpen SourceProvides CLI to run common project actionsAllows you to define custom CLI actions
![Page 56: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/56.jpg)
QUICK RECAP: THE PLAN
Why JavaScript?
Survival Skills for the New Age of JavaScript
Modern Day JavaScript Projects
Source ControlJavaScript Code TodayManaging DependenciesTest, Test, and Test AgainBuilding JavaScript
Next Steps
![Page 57: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/57.jpg)
QUICK RECAP: THE POINTTO ACCOMPLISH ONE OF THESE BEFORE YOU LEAVE:
To see some new JavaScript toolsTo understand how a JavaScript project can workTo bring you up-to-speed with JavaScript
![Page 58: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/58.jpg)
QUICK RECAP: THE POINTTHEME FOR THIS PRESENTATION
TO SHOW YOU THATJAVASCRIPT IS A REAL
OPTION
![Page 59: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/59.jpg)
NEXT STEPSWhere do we go from here?
![Page 60: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/60.jpg)
NEXT STEPSGo to the other JavaScript/HTML5 Presentations at PrDCMake Your Own JavaScript ProjectLeverage one of the tools in your exiting projectsBuild a JavaScript Project
![Page 61: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/61.jpg)
NEXT STEPSCHECK OUT A RESOURCE
Douglas Crockford's BlogJavaScript: The Good PartsCheckout the npm (http://npmjs.org)
![Page 62: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/62.jpg)
DAVID WESSTFROM WINNIPEG, MANITOBA
SYSTEMS ANALYST, UNIVERSITY OF MANITOBA (FACULTY OFMEDICINE)
MICROSOFT MVP, INTERNET EXPLORERIE USER AGENT USERAGENTS.IE
PRODUCER, BREWPUB GAMES
![Page 63: JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK](https://reader033.vdocuments.site/reader033/viewer/2022051815/541271668d7f720f4e8b45aa/html5/thumbnails/63.jpg)
DAVID WESST@DAVIDWESST ON TWITTER
DAVIDWESST.COM ON THE WEB
DAVIDWESST.COM/BLOG ON THE BLOGOSPHEREDW [AT] DAVIDWESST.COM ON EMAIL