From 'Meteor' to 'Maker'

36
From ‘Meteor’ to ‘Maker’ Meteor NY Meetup | January 15, 2014 | Nitya Narasimhan

description

Creations + Concepts + Connections. Presentation to the 2014 'reboot' of the Meteor NY Meetup geared towards an introductory high-level tour for diverse audience backgrounds (artists, designers and developers)

Transcript of From 'Meteor' to 'Maker'

Page 1: From 'Meteor' to 'Maker'

From ‘Meteor’ to ‘Maker’

Meteor NY Meetup | January 15, 2014 | Nitya Narasimhan!

Page 2: From 'Meteor' to 'Maker'

ROCK

LEARN concepts

Think DATA

PAPER

DESIGN applications

Think

REACTIVITY

+  

SCISSORS

CRAFT experiences

Think

PERFORMANCE

+  

1/15/14 – METEOR NY MEETUP! 2!

Page 3: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 3!

..  everything  should  work  identically  on  browser  and  server  ..  

Page 4: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 4!

Meteor  Core  Packages  

Meteor  Optional  Packages  

Meteor  Optional  Hosting  

Atmosphere  Smart  Packages  

Meteorite  Command  Line  Tools  

CODE  IT  

BUNDLE  IT  

DEPLOY  IT  Heroku  Buildpack  

Meteor    Command  Line  Tools  

Page 5: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 5!

Page 6: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 6!

SMART    SERVER  

View  

User  Interac

tions

  3rd  Party  Interactions  

Data  Cache  

DUMB  CLIENT  

Controller  

Model     Model  

App  Logic  +  All  Controllers  

Database  +  CONNECTIVITY  

Synchronous  Data  Transfers  

Page 7: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 7!

View  

User  Interac

tions

  3rd  Party  Interactions  

Data  Cache  

Controller  

Model    

App  Logic  +  Model  Controller  

Model  

Database  

WEB  APP    SERVER  

SMART  CLIENT  

+  PROCESSING  

+  CONNECTIVITY  

Asynchronous    Data  Transfers  

Page 8: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 8!

View  

User  Interac

tions

  3rd  Party  Interactions  

Data  Cache  

Controller  

Model  +  Sync    

App  Logic  

Database  

Model  +  Sync  

Privileged  or  Protected  operations  

WEB  APP    SERVER  

METEOR  CLIENT  

+  LOCAL  STORAGE  

DDP  

+  PROCESSING  

+  CONNECTIVITY  

Reactive  Data  Transfers  

SMART  DB  

Page 9: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 9!

Handlebars  

Local  Storage  

JavaScript  

Mini  Mongo    

JavaScript  

Mongo  DB  

Mongo  DDP  

(Transparent  Publications,  Subscriptions,  Observes)  

HTTP  (Explicit  Method  calls)  

Some  changes  in  METEOR  1.0  

METEOR  CLIENT  

ATMOSPHERE  

NPM  NODE  JS  RUNTIME  

METEOR  SERVER  

Mongo  DB  

Page 10: From 'Meteor' to 'Maker'

¡  Data on the wire. Client handles views."¡  One language. JavaScript everywhere."¡  Database everywhere. Consistent usage."¡  Latency compensation. Zero latency.*"¡  Full Stack reactivity. Real-time as default."¡  Embrace the ecosystem. Interoperable."¡  Simplicity Equals Productivity. Clean APIs"

1/15/14 – METEOR NY MEETUP! 10!

http://docs.meteor.com/#sevenprinciples  

Page 11: From 'Meteor' to 'Maker'

https://www.meteor.com/examples/wordplay  

Page 12: From 'Meteor' to 'Maker'

Creations

Meteor NY Meetup | January 15, 2014 | Nitya Narasimhan!

Page 13: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 13!

‘ACTIVE’  DOGFOODING  http://atmosphere.meteor.com  

Page 14: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 14!

MULTIPLAYER  GAMES  http://wordplay.meteor.com  

Page 15: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 15!

REAL-­‐TIME  +  CRITICAL  http://www.sharewith911.com/  

Page 16: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 16!

RICH  MAP  INTEGRATION  http://leaflet.meteor.com/  

Page 17: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 17!

MEDIA  ANNOTATION  http://subtitles.fiddleware.com/  

Page 18: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 18!

EMOTIVE  IMAGERY  http://ilovesf.meteor.com  

Page 19: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 19!

HACKER  NEWS  REDUX  http://telescope.meteor.com/  

Page 20: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 20!

CIVIC  VISUALIZATION  http://illustreets.co.uk/  

Page 21: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 21!

REAL  TIME    TRANSIT    http://livebus.meteor.com/  

Page 22: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 22!

VIDEO  SHARING    http://streem.io  

Page 23: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 23!

BULLETIN  BOARDS  http://madewithmeteor.com  

Page 24: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 24!

RAPID  PROTOTYPING*  http://sevakalt.meteor.com  

Page 25: From 'Meteor' to 'Maker'

Concepts

Meteor NY Meetup | January 15, 2014 | Nitya Narasimhan!

Page 26: From 'Meteor' to 'Maker'

¡  Structure (/client /server /lib depth-first)"¡  Templates (views, helpers, handlers)"¡  Reactivity (contexts & computations)"¡  Accounts (custom & social auth.)"¡  Packages (core + official + 3rd party)"¡  Security (data vs. code)"¡  Extensibility (community, smart packages)"¡  Deployment (run vs. bundle vs. deploy) "

1/15/14 – METEOR NY MEETUP! 26!

Page 27: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 27!

Demo  at  break..  

Page 28: From 'Meteor' to 'Maker'

DESIGN  YOUR  DATA  MODEL                                                    (Collections,  Indexes)  

DESIGN  YOUR  INTERFACES                  (Templates,  Layouts)  

DESIGN    YOUR  INTERACTIONS                            (Helpers,  Handlers,    Routes)  

CRAFT  YOUR  DATA  USAGE                                      (Publish/Subscribe,  Filter)  

CRAFT    YOUR  TEMPLATE  USAGE*                                            (Breakup,  Reuse,  Isolate)  

CRAFT    YOUR  REACTIVITY                                      (Session,  Computations,  Observes)    

WIRE  THINGS  TOGETHER                    (Packages,  Directory  Structure)  

Demo  at  break..  

1/15/14 – METEOR NY MEETUP! 28!

Page 29: From 'Meteor' to 'Maker'

Simplicity  (Build  &  Deploy)  

Reactivity  (Event  Driven)  

Interoperability    (via  DDP)  

Community  (smart  packages)  

Maturity  (changing,  not  yet  v1.0.)  

Scalability*  (need  for  patterns)  

Consistency*  (legacy  creep)  

Testability  (but  wait  for  it..)  

*  “With  great  power  comes  great  responsibility”  

1/15/14 – METEOR NY MEETUP! 29!

Page 30: From 'Meteor' to 'Maker'

Trello  (Jan  14,  2014)  

1/15/14 – METEOR NY MEETUP! 30!

Page 31: From 'Meteor' to 'Maker'

¡  Walks through concepts in context of real application"

¡  Extensive  ‘support’  material  (ar4cles,  screencasts)  

¡ Meteor  NY  Promo4on  Link  (Code  =  ORIONIDS)  

1/15/14 – METEOR NY MEETUP! 31!

http://discovermeteror.com  

Page 32: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 32!

http://eventedmind.com  

Page 33: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 33!

http://meteorhacks.com  

Page 34: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 34!

http://www.youtube.com/user/meteorvideos  

Save  the  Date  

Page 35: From 'Meteor' to 'Maker'

1/15/14 – METEOR NY MEETUP! 35!

http://yauh.de/articles/376/best-­‐learning-­‐resources-­‐for-­‐meteorjs  

General  Resources   Code  Tutorials   Code  Examples   Testing  

Ready  For  Production  

Page 36: From 'Meteor' to 'Maker'