magikcraft - react, redux, and braaaaains!

52

Upload: josh-wulf

Post on 14-Feb-2017

53 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Magikcraft - React, Redux, and Braaaaains!
Page 2: Magikcraft - React, Redux, and Braaaaains!

Teaching kids how to code, through the metaphor of magic, in Minecraft.

Page 4: Magikcraft - React, Redux, and Braaaaains!
Page 6: Magikcraft - React, Redux, and Braaaaains!

The best-selling PC game to date.Over 106 million copies sold.

Page 7: Magikcraft - React, Redux, and Braaaaains!

The best-selling PC game to date.Over 106 million copies sold.

2nd best-selling video game of all time.

Page 8: Magikcraft - React, Redux, and Braaaaains!
Page 9: Magikcraft - React, Redux, and Braaaaains!
Page 10: Magikcraft - React, Redux, and Braaaaains!

Since June 2016

Page 11: Magikcraft - React, Redux, and Braaaaains!
Page 12: Magikcraft - React, Redux, and Braaaaains!
Page 13: Magikcraft - React, Redux, and Braaaaains!
Page 14: Magikcraft - React, Redux, and Braaaaains!
Page 15: Magikcraft - React, Redux, and Braaaaains!
Page 16: Magikcraft - React, Redux, and Braaaaains!
Page 17: Magikcraft - React, Redux, and Braaaaains!
Page 19: Magikcraft - React, Redux, and Braaaaains!
Page 20: Magikcraft - React, Redux, and Braaaaains!
Page 21: Magikcraft - React, Redux, and Braaaaains!
Page 22: Magikcraft - React, Redux, and Braaaaains!
Page 23: Magikcraft - React, Redux, and Braaaaains!

Ian!

Page 24: Magikcraft - React, Redux, and Braaaaains!

Knockout

●Tim mocked up the view●Almost ready to start wiring into Magic Craft

Then..

Page 25: Magikcraft - React, Redux, and Braaaaains!

React

●We rebuilt in react●Started using nanoflux fusionator for state●Then moved to Redux●Then moved to RxJS●We started having problems with our shape

so...

Page 26: Magikcraft - React, Redux, and Braaaaains!

In comes TypeScript●What shape is that anyway?●A type for this, a type of that●Add a little linting to help●Age old coding problem - Tab or Space

But what about all the tabs?

Page 27: Magikcraft - React, Redux, and Braaaaains!

Too many tabs

●Each new Lore or Quest opens a new tab●No way to programatically close them

Time for another pivot?

Page 28: Magikcraft - React, Redux, and Braaaaains!

Electron to the rescue!

●Solves the tab problem●Now we only need to code in one browser

But, there is a problem...

Page 29: Magikcraft - React, Redux, and Braaaaains!

Electron needs to be install

●Not massive problem, but a blocker for 8 yr old.●That tab problem didn’t seem so big anymore

Time for another pivot

Page 30: Magikcraft - React, Redux, and Braaaaains!

Back to the Future!

●Back to our react/typescript setup●Over a week to get electron working●3 People working 17-18 hour days

How long to strip Electron from the build?

Page 31: Magikcraft - React, Redux, and Braaaaains!

2 Hours

●And we are back to our React / Typescript app

Of course there were other improvements along the way.

Page 32: Magikcraft - React, Redux, and Braaaaains!

We now have

●PouchDB on client / CouchDB on Cloudant●Websockets - For optimistic updates●We push new Lore and Quests into the client's

browser with Notifications

Page 33: Magikcraft - React, Redux, and Braaaaains!
Page 34: Magikcraft - React, Redux, and Braaaaains!

All this is so that we can reliably kill a zombie with a

lightning bolt using JavaScript....

Page 35: Magikcraft - React, Redux, and Braaaaains!

AT SCALE!

Page 36: Magikcraft - React, Redux, and Braaaaains!

Briggsy!

Page 37: Magikcraft - React, Redux, and Braaaaains!

Let’s set world record!(Azure functions & brainnnssssss)

Page 38: Magikcraft - React, Redux, and Braaaaains!
Page 40: Magikcraft - React, Redux, and Braaaaains!

Only need 2 things to set a world record...

right?

Page 41: Magikcraft - React, Redux, and Braaaaains!

Now how do we track this?Excuse to wear a lab coat :D

Page 42: Magikcraft - React, Redux, and Braaaaains!

Azure functionsI feel the need...the need to scale!

Page 43: Magikcraft - React, Redux, and Braaaaains!
Page 44: Magikcraft - React, Redux, and Braaaaains!

One HitchThere always is

Page 45: Magikcraft - React, Redux, and Braaaaains!
Page 46: Magikcraft - React, Redux, and Braaaaains!
Page 47: Magikcraft - React, Redux, and Braaaaains!
Page 48: Magikcraft - React, Redux, and Braaaaains!
Page 49: Magikcraft - React, Redux, and Braaaaains!

How much do you think it cost?

Drum roll please...

Page 50: Magikcraft - React, Redux, and Braaaaains!

10cSerious...I know right!

Page 51: Magikcraft - React, Redux, and Braaaaains!
Page 52: Magikcraft - React, Redux, and Braaaaains!