Slide 1

Slide 1 text

GemifyJS Sharing Javascript just got easier Monday, December 3, 12

Slide 2

Slide 2 text

The Team Stephen Chen github.com/stephenchen13 @twenty2twoss Nikhil Thomas github.com/nt591 @nikhilthomas90 Monday, December 3, 12

Slide 3

Slide 3 text

Sharing Javascript is really hard Monday, December 3, 12

Slide 4

Slide 4 text

Sharing Ruby is really easy Monday, December 3, 12

Slide 5

Slide 5 text

Monday, December 3, 12

Slide 6

Slide 6 text

Q. How can I share Javascript? Monday, December 3, 12

Slide 7

Slide 7 text

Q. How can I share Javascript? A: Treat it like Ruby! Monday, December 3, 12

Slide 8

Slide 8 text

Let’s build a new gem Monday, December 3, 12

Slide 9

Slide 9 text

It’s like magic! Monday, December 3, 12

Slide 10

Slide 10 text

Nope. Monday, December 3, 12

Slide 11

Slide 11 text

It’s all about patterns Monday, December 3, 12

Slide 12

Slide 12 text

Gems have blueprints Monday, December 3, 12

Slide 13

Slide 13 text

Gems have gemspecs Monday, December 3, 12

Slide 14

Slide 14 text

Monday, December 3, 12

Slide 15

Slide 15 text

Then what? Monday, December 3, 12

Slide 16

Slide 16 text

Monday, December 3, 12

Slide 17

Slide 17 text

Monday, December 3, 12

Slide 18

Slide 18 text

Monday, December 3, 12

Slide 19

Slide 19 text

Monday, December 3, 12

Slide 20

Slide 20 text

What’s in the lib folder? Monday, December 3, 12

Slide 21

Slide 21 text

Monday, December 3, 12

Slide 22

Slide 22 text

What’s that other stuff? Monday, December 3, 12

Slide 23

Slide 23 text

Monday, December 3, 12

Slide 24

Slide 24 text

Where does my Javascript go? Monday, December 3, 12

Slide 25

Slide 25 text

With all your assets Monday, December 3, 12

Slide 26

Slide 26 text

We call this the “asset pipeline” Monday, December 3, 12

Slide 27

Slide 27 text

Thanks DHH Monday, December 3, 12

Slide 28

Slide 28 text

Monday, December 3, 12

Slide 29

Slide 29 text

Rails engines! Monday, December 3, 12

Slide 30

Slide 30 text

Gem it up! Monday, December 3, 12

Slide 31

Slide 31 text

We don’t want to write this over and over Monday, December 3, 12

Slide 32

Slide 32 text

Let’s go one level higher. Monday, December 3, 12

Slide 33

Slide 33 text

What if our code wrote code? Monday, December 3, 12

Slide 34

Slide 34 text

Metaprogramming Monday, December 3, 12

Slide 35

Slide 35 text

They’re called generators Monday, December 3, 12

Slide 36

Slide 36 text

You already do this! Monday, December 3, 12

Slide 37

Slide 37 text

Monday, December 3, 12

Slide 38

Slide 38 text

Can we make our own generator? Monday, December 3, 12

Slide 39

Slide 39 text

Hell yes. Monday, December 3, 12

Slide 40

Slide 40 text

Monday, December 3, 12

Slide 41

Slide 41 text

Monday, December 3, 12

Slide 42

Slide 42 text

Wait...what? Monday, December 3, 12

Slide 43

Slide 43 text

Where are the templates? Monday, December 3, 12

Slide 44

Slide 44 text

Monday, December 3, 12

Slide 45

Slide 45 text

Let’s explore the code and see our templates Monday, December 3, 12

Slide 46

Slide 46 text

But how did we share it? Monday, December 3, 12

Slide 47

Slide 47 text

You’ll need to log into GitHub and RubyGems Monday, December 3, 12

Slide 48

Slide 48 text

Monday, December 3, 12

Slide 49

Slide 49 text

We hid our confidential information. Monday, December 3, 12

Slide 50

Slide 50 text

That sucked. Monday, December 3, 12

Slide 51

Slide 51 text

We encourage you to try it Monday, December 3, 12

Slide 52

Slide 52 text

www.gemifyjs.com Monday, December 3, 12

Slide 53

Slide 53 text

Thank you. Monday, December 3, 12