Slide 1

Slide 1 text

To a Single Page Web App… and Back Again Nick Simmons RedDotRubyConf Singapore 2014

Slide 2

Slide 2 text

“WHO IS THIS GUY?”

Slide 3

Slide 3 text

CANADIAN

Slide 4

Slide 4 text

I LIVED HERE

Slide 5

Slide 5 text

WHAT I DO NOW

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

SHOPIFY ADMIN EVOLUTION Admin Classic: + ERB + Admin 2: Admin Next: ...

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

SHOPIFY - MAY 2013 + =

Slide 10

Slide 10 text

BUT... “Batman is hard!” - said everyone.

Slide 11

Slide 11 text

LEARNING BATMAN Superhero Newb Time Read Admin code Read Batman docs Back to Admin code Ask for help Read Batman code

Slide 12

Slide 12 text

HACK DAYS - JUNE 2013 “Let’s use Batman for our project!” “Where do I start?” “HELP!” “F**k this, I’m using Rails”

Slide 13

Slide 13 text

LESSON #1 Solid documentation and excellent examples are vital to framework adoption.

Slide 14

Slide 14 text

NEW FEATURES - JUL TO NOV 2013 “Where should I put this code?” “I’m a frontend dev, client has all the state that I need.” “Let’s do it client side!”

Slide 15

Slide 15 text

THE RISE OF POS JSON API BUSINESS LOGIC BUSINESS LOGIC

Slide 16

Slide 16 text

LESSON #2 Minimize business logic in the client.

Slide 17

Slide 17 text

BATMAN DEEP DIVE - DEC 2013 “The Admin is looking a little janky.”

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

BINDINGS IN ACTION

Slide 20

Slide 20 text

ORDER PAGE BINDINGS

Slide 21

Slide 21 text

THE COST OF BATMAN

Slide 22

Slide 22 text

LESSON #3 JS MVC is a great technology, but not for our app.

Slide 23

Slide 23 text

ADMIN REBOOT

Slide 24

Slide 24 text

ADMIN-NEXT GOALS ● Easy to use. ● Keep the good bits. ● Fast… (er than Batman)

Slide 25

Slide 25 text

WHAT IS ADMIN-NEXT? Turbolinks (modified) Bindings.coffee + +

Slide 26

Slide 26 text

LESSON #4 A simple approach scales better than a complex one.

Slide 27

Slide 27 text

How are we doing?

Slide 28

Slide 28 text

No content