js tooling in rails 3.1

40
JavaScript Tooling In Rails 3.1 And how you should be doing it... Saturday, November 12, 2011

Upload: duda-dornelles

Post on 15-May-2015

487 views

Category:

Entertainment & Humor


0 download

TRANSCRIPT

Page 1: JS Tooling in Rails 3.1

JavaScript ToolingIn Rails 3.1

And how you should be doing it...

Saturday, November 12, 2011

Page 2: JS Tooling in Rails 3.1

@dudadornelles

Saturday, November 12, 2011

Page 3: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 4: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 5: JS Tooling in Rails 3.1

9f09aeb8273177fc2d09ebdafcc76ee8eb56fe33

Saturday, November 12, 2011

Page 6: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 7: JS Tooling in Rails 3.1

http://jashkenas.github.com/coffee-script/

http://gastronomous.files.wordpress.com/2010/03/img_6226.jpg

Saturday, November 12, 2011

Page 8: JS Tooling in Rails 3.1

math = root: Math.sqrt square: square cube: (x) -> x * square x

math = { root: Math.sqrt, square: square, cube: function(x) { return x * square(x); }};

Saturday, November 12, 2011

Page 9: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 10: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 11: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 12: JS Tooling in Rails 3.1

+ .JS =

Saturday, November 12, 2011

Page 13: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 14: JS Tooling in Rails 3.1

Insert broken build picture here

Saturday, November 12, 2011

Page 15: JS Tooling in Rails 3.1

class Ninja constructor: (@numOfShurikens) ->

throwShuriken: -> @numOfShurikens--

class Ronin extends Ninja

constructor: (numOfShurikens) -> super numOfShurikens+1 #ronins know to carry a spare

Saturday, November 12, 2011

Page 16: JS Tooling in Rails 3.1

Debugging... :(

Saturday, November 12, 2011

Page 17: JS Tooling in Rails 3.1

http://getsprockets.org

Saturday, November 12, 2011

Page 18: JS Tooling in Rails 3.1

.JS

.JS .JS

.JS .JS

.JS

.JSYour entire application

Saturday, November 12, 2011

Page 19: JS Tooling in Rails 3.1

.task_controller.js.coffee

#= require taskwindow.MyApp = window.MyApp || {}Task = window.MyApp.Task

class TaskController create: (description) -> Task.save(new Task(description))

.task.js.coffee

window.MyApp = window.MyApp || {}

class Task constructor: (@description) -> @save: (task) -> ...

window.MyApp.Task = Task

Saturday, November 12, 2011

Page 20: JS Tooling in Rails 3.1

+

Saturday, November 12, 2011

Page 21: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffee

Saturday, November 12, 2011

Page 22: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffee

Single Class

Saturday, November 12, 2011

Page 23: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 24: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

Saturday, November 12, 2011

Page 25: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 26: JS Tooling in Rails 3.1

COWBOY?

Saturday, November 12, 2011

Page 27: JS Tooling in Rails 3.1

http://pivotal.github.com/jasmine/Saturday, November 12, 2011

Page 28: JS Tooling in Rails 3.1

describe 'Math', ->  describe 'fib', ->    it 'should calculate the numbers correctly up to fib(16)', ->      fib = [0, 1, 1, 2, 3, 5, 8, 13]      expect(Math.fib(i)).toEqual fib[i] for i in [0..7]

describe 'Math' do  describe 'fib' do    it 'should calculate the numbers correctly up to fib(16)'      fib = [0, 1, 1, 2, 3, 5, 8, 13]      (0..7).map { |n| Math.fib(n) }.should == fib end endend

Saturday, November 12, 2011

Page 29: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

Saturday, November 12, 2011

Page 30: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

spec spec

specspec

spec

spec

Saturday, November 12, 2011

Page 31: JS Tooling in Rails 3.1

.coffee

.coffee .coffee

.coffee .coffee

.coffee

.coffeeDOM Interactions

Domain/Business Logic

spec spec

specspec

spec

spec

?

Saturday, November 12, 2011

Page 32: JS Tooling in Rails 3.1

TDD

Saturday, November 12, 2011

Page 33: JS Tooling in Rails 3.1

Standard?

Saturday, November 12, 2011

Page 34: JS Tooling in Rails 3.1

+

=

?

+

Saturday, November 12, 2011

Page 36: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 37: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 38: JS Tooling in Rails 3.1

+

Saturday, November 12, 2011

Page 39: JS Tooling in Rails 3.1

Saturday, November 12, 2011

Page 40: JS Tooling in Rails 3.1

Thanks! :)

Saturday, November 12, 2011