Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

#dotjs 3/35

Slide 3

Slide 3 text

In-browser DevTools #dotjs Constantly evolving Use Canary channel for development Lots of juicy experimental features - - - 4/35

Slide 4

Slide 4 text

Performance: Timeline + Frames view #dotjs Timeline gives you an overview of memory usage over time Summary and detailed views Helps remove jank. Layout or scripts - who triggered what? Frames view helps achieve that snappy 60fps you ideally want - - - - 5/35

Slide 5

Slide 5 text

Finding memory leaks and DOM leaks #dotjs JavaScript, CSS, Heap snapshot Profiles What is using memory at a given point in time? Not being GC'd? Use comparison view to identify potential memory leaks Use summary view to identify DOM leaks - - - - 6/35

Slide 6

Slide 6 text

A better authoring workflow #dotjs Live Edit Snippets Revision history AutoSave - - - - 7/35

Slide 7

Slide 7 text

Live reloading + SASS Source Maps #dotjs Editing compiled CSS has little value Enable new SASS hotness BOOM! You can edit SASS source files Changes automatically reload - - - - 8/35

Slide 8

Slide 8 text

CoffeeScript + @sourceURL #dotjs Compile your Coffee sources Open up the DevTools Review your compiled file Whoa! sourceURL comments - - - - 9/35

Slide 9

Slide 9 text

Mobile Debugging: Overrides Panel #dotjs User Agent Device Metrics Geolocation Orientation Emulate touch events - - - - - 10/35

Slide 10

Slide 10 text

DevTools Console #dotjs Styled-console Multi-style support inspect() command - - - 11/35

Slide 11

Slide 11 text

Learn to love the command line. It isn't scary. ~ Stephen Hay #dotjs 12/35

Slide 12

Slide 12 text

Command-line #dotjs Make it look hot fi. Capture and replay your command line history DOTFILE EVERYTHING (mine) Aliases are awesome Our faves: g z , s e r v e r alias and n y Some for Browserstack: win7ie8, win8ie10, ios3 - - - - - - 13/35

Slide 13

Slide 13 text

Sublime Text #protips #dotjs Run JavaScript From Your Editor In The Browser Use the built-in Build System! Zen coding with Emmet Stack Overflow code search Snippets for frameworks - - - - - 14/35

Slide 14

Slide 14 text

Finding missing semicolons should never be a manual process.

Slide 15

Slide 15 text

Linting #dotjs On file save On source control commit At build time Anything better? - - - - 16/35

Slide 16

Slide 16 text

Live feedback #dotjs Linting Reload Recompilation - - - 17/35

Slide 17

Slide 17 text

WebStorm #dotjs Live Edit + Chrome JS Language version based suggestions Code inspection and zen coding Suggestions for DRYer code Built in code linting and more - - - - - - 18/35

Slide 18

Slide 18 text

Unit Testing In The Cloud Testing approaches you already know: New hotness: #dotjs In the browser In a headless browser on-demand via cmd line: g r u n t q u n i t In a headless browser post-push - - - In multiple browsers in the cloud via cmd line: - b u n y i p - f M o d e r n i z r / t e s t / i n d e x . h t m l - c ~ / b u n y i p / c o n f i g . j s - b i o s b u n y i p - f i n d e x . h t m l l o c a l - l " f i r e f o x | c h r o m e | s a f a r i | p h a n t o m j s " 19/35

Slide 19

Slide 19 text

Build system Lint. Resolve depenencies. concatenate modules. compile. Flatten your CSS @ i m p o r t s. Remove debugging statements. Compress images. Precompile templates. Run tests in a variety of environments. Revs asset paths for caching. Affirm code quality.

Slide 20

Slide 20 text

New hotness: Grunt.js #dotjs 21/35

Slide 21

Slide 21 text

Grunt.js: #dotjs Task based command line build tool Alternative to Rake/Cake/Make/Jake Rich community of build tasks Generates simple skeleton for new projects Lint, test, concat, watch and min out of the box. however..you're still responsible for workflow - - - - - - 22/35

Slide 22

Slide 22 text

#dotjs so much choice! you want flexibility. how could we make this any easier? 23/35

Slide 23

Slide 23 text

Introducing Yeoman #dotjs 24/35

Slide 24

Slide 24 text

Go from idea to a rough prototype in 10 min

Slide 25

Slide 25 text

Limit the time spent on writing boilerplate for your app

Slide 26

Slide 26 text

Automate as much of your workflow as possible

Slide 27

Slide 27 text

Yeoman #dotjs Authoring abstractions Scaffolds Linting LiveReload Testing Build tools and more. - - - - - - - - - 28/35

Slide 28

Slide 28 text

Built on top of great tools like Grunt and Bower #dotjs 29/35

Slide 29

Slide 29 text

Walkthrough #dotjs 1. Package management 2. Generators 3. Live Reload 4. Testing 5. Build system 30/35

Slide 30

Slide 30 text

What's next? #dotjs 31/35

Slide 31

Slide 31 text

Yeoman in 2013 #dotjs 1. Improved flexibility with tools (Grunt, Bower) 2. Better editor integration 3. Support for backends (Rails, PHP) 4. Better mobile helpers and remote debugging 5. Support for all of JS.next (Traceur) 6. Deployment (Heroku, AppEngine) 7. ..plans for a little more 32/35

Slide 32

Slide 32 text

Yeoman 0.9.5 Just Launched! #dotjs Visit yeoman.io - 33/35

Slide 33

Slide 33 text

Learn to love your workflow and tools #dotjs 34/35

Slide 34

Slide 34 text

g+ addyosmani.com/+ twitter @addyosmani www addyosmani.com github github.com/addyosmani #dotjs Thank you! 35/35