Slide 1

Slide 1 text

Intro to Meteor Mark Shropshire

Slide 2

Slide 2 text

Mark Shropshire http://mark.shropshires.net z l @shrop @shrop /shrop /user/14767

Slide 3

Slide 3 text

What’s Meteor? “Meteor is an open-source platform for building top- quality web apps in a fraction of the time, whether you're an expert developer or just getting started.” http://meteor.com

Slide 4

Slide 4 text

What’s Meteor? and more… A stack of technologies

Slide 5

Slide 5 text

What’s Meteor? CLI tool: meteor meteor create myNewApp myNewApp: created. ! To run your new app: cd myNewApp meteor cd myNewApp meteor => Meteor server running on: http://localhost:3000/ $ $ $ [[[[[ ~/Sites/myNewApp ]]]]]

Slide 6

Slide 6 text

What’s Meteor? • http://docs.meteor.com/#api • Node Fibers • DDP (Distributed Data Protocol) • Works identically in the browser
 and on the server (when possible) A wonderful API

Slide 7

Slide 7 text

Is Meteor MVC? No, Model View View-Model (MVVM) Model View View-Model Client code HTML Templates Synchronized data Source: Getting Started with Meteor.js JavaScript Framework by Issac Strack

Slide 8

Slide 8 text

What’s Meteor? • Meteor Development Group • $11.2M development budget

Slide 9

Slide 9 text

Why Meteor? Seven Principles of Meteor • Data on the Wire • One language • Database Everywhere • Latency Compensation • Full Stack Reactivity • Embrace the Ecosystem • Simplicity Equals Productivity Source: http://docs.meteor.com/#sevenprinciples

Slide 10

Slide 10 text

Why Meteor? Database Web server Traditional web applications Data Client HTTP Request

Slide 11

Slide 11 text

Why Meteor? Database Meteor server Meteor web applications Data Client Initial package Client Polling Data updates Local DB write (sync) DB writes (async)

Slide 12

Slide 12 text

Why Meteor? DDP (Distributed Data Protocol) • RPC from client to server • Client subscriptions to sets of documents • JSON objects/EJSON field specifications • Introducing DDP • DDP Specificaiton

Slide 13

Slide 13 text

Installation curl https://install.meteor.com/ | sh $

Slide 14

Slide 14 text

Atmosphere http://atmosphere.meteor.com - Meteor package directory

Slide 15

Slide 15 text

Meteorite mrt add iron-router ✓ iron-router ! Done installing smart packages Stand back while Meteorite does its thing ! Done installing smart packages Ok, everything's ready. Here comes Meteor! ! iron-router: Routing specifically designed for Meteor $ $ http://oortcloud.github.io/meteorite - Installer and package manager for Meteor

Slide 16

Slide 16 text

App Structure • Some folders are “special” • Flexibility server lib client private public tests tests compatibility

Slide 17

Slide 17 text

Testing • Possible official testing framework for 1.0 • Laika testing framework for Meteor • Testing with Meteor book

Slide 18

Slide 18 text

Deployment • Deploying to meteor.com • Deploying to Modulus

Slide 19

Slide 19 text

Resources • https://gist.github.com/shrop/9069013 • Meteorpedia

Slide 20

Slide 20 text

Demos

Slide 21

Slide 21 text

Questions?