The Next Generation Software Stack: Meteor

20
The Next Generation Software Stack Henrik Ingo Solutions Architect, MongoDB @h_ingo

description

Meteor is the next take on agile development on the full JavaScript stack. Based on established JavaScript tools like Node, JQuery and Underscore, it still brings a fresh and integrated approach. And MongoDB is very much its heart: Minimongo implements a client side MongoDB API for manipulating your data model; Transparent replication of data between client and server; Using WebSockets, MongoDB oplog events replicate immediately to all clients, making it simple to do distributed applications "Google Docs style."

Transcript of The Next Generation Software Stack: Meteor

Page 1: The Next Generation Software Stack: Meteor

The Next Generation Software Stack

Henrik Ingo

Solutions Architect, MongoDB

@h_ingo

Page 2: The Next Generation Software Stack: Meteor

2

Hi, I am Henrik Ingo

@h_ingo

Page 3: The Next Generation Software Stack: Meteor

3

1999

You're not a serious programmer if

all you know is JavaScript

JavaScript

Page 4: The Next Generation Software Stack: Meteor

4

2014

You're not a serious programmer if

you do not know JavaScript

JavaScript

Page 5: The Next Generation Software Stack: Meteor

5

Full Stack JavaScript

Express.js

JSON

Page 6: The Next Generation Software Stack: Meteor
Page 7: The Next Generation Software Stack: Meteor

7

Developed by a company

Meteor Development Group

Based on Node.js, but

Think of it as its own framework

Integrated

Server & client

Heavy use of MongoDB API

Server & client!

Meteor facts

Page 8: The Next Generation Software Stack: Meteor

8

The Little Things

Why Meteor is cool

Page 9: The Next Generation Software Stack: Meteor

9

Project layout

app

common.js

server

server.js

client

client.js

client.css

client.html

public

static.html

image.png

Page 10: The Next Generation Software Stack: Meteor

10

The Little Things

Server & Client

Why Meteor is cool

Page 11: The Next Generation Software Stack: Meteor

11

The Little Things

Server & Client

MongoDB

Why Meteor is cool

Page 12: The Next Generation Software Stack: Meteor

12

The Little Things

Server & Client

MongoDB

Minimongo!

Why Meteor is cool

Page 13: The Next Generation Software Stack: Meteor

13

The Little Things

Server & Client

MongoDB

Minimongo!

Reactive

Why Meteor is cool

Page 14: The Next Generation Software Stack: Meteor

14

The Little Things

Server & Client

MongoDB

Minimongo!

Full Stack Reactive

Why Meteor is cool

Page 15: The Next Generation Software Stack: Meteor

15

The Little Things

Server & Client

MongoDB

Minimongo!

Full Stack Reactive

No callback hell!

Why Meteor is cool

Page 16: The Next Generation Software Stack: Meteor

16

How the magic happens

Oplog

Websocket Websocket

Meteor

Meteor

Minimongo

<h1>Hello World!</h1>

Page 17: The Next Generation Software Stack: Meteor

17

To some extent, the client-server integration

is an illusion that quickly falls apart.

A lot of things have to execute explicitly within client/ or server/.

Is there anything I don't like?

Page 18: The Next Generation Software Stack: Meteor

18

Data on the Wire

One Language (JavaScript)

Database Everywhere

Latency Compensation

Full Stack Reactivity

Embrace the Ecosystem

Simplicity = Productivity

7 Meteor Principles

docs.meteor.com/#sevenprinciples

Page 19: The Next Generation Software Stack: Meteor

19

RTFM: docs.meteor.com

Tutorial: sebastiandahlgren.se/2013/07/17/tutorial-writing-your-first-metor-application

Books:www.discovermeteor.com

meteortips.com/book

Learn more

Page 20: The Next Generation Software Stack: Meteor

The Next Generation Software Stack

Henrik Ingo

Solutions Architect, MongoDB

@h_ingo