Meteor realtidsramverket

Preview:

DESCRIPTION

Presentation av Meteor på Valtech Tech Days 2012.

Citation preview

Realtidsramverket

Mina poänger

MVC är inte det enda sättet att bygga webb

Meteor är rätt sätt att koda för realtid

Agenda

Problem idag

Arkitektur för Meteor

Exempel: Luffarschack

Problem idag

Webben är mycket långsammare än ”native”

Dagens webbservrar är inte skrivna för realtid

Komplicerat: För många olika lager

~49 dagar gammalt

Byggt av Fyra (sjukt duktiga) hackers

Byggt på Node.js

Screencast

http://meteor.com/screencast

Arkitektur

ServerBrowser

<Project>.js

Templates

HTML

MongoDB API

MongoDB API

Session

MongoDB

Realtime data sync

Collections (MongoDB)

Games = new Meteor.Collection("games");

Games.insert({ number: 1, board: generate(), turn: true })

Games.find();

Games.findOne( game_id );

Games.findOne({}, {sort: {number: -1}});

Games.update(game_id, {$set: { board: new_board, turn:

new_turn }})

Templates (handlebars.js)

<body> {{> page}} </body>

<template name="page”>{{#each games}}

<li><a href="#">Game {{number}}</a></li>

{{/each}}</template>

<Project>.js

if (Meteor.is_client){Template.page.games = function(){

return Games.find();}

}

if (Meteor.is_server){ Meteor.startup(function() { if (Games.find().count() === 0) { Games.insert(…) } });}

Problem idag

Webben är mycket långsammare än ”native”

Ändra gränssnittet direkt, ångra ev. senare

Dagens webbservrar är inte skrivna för realtid

Node.js är gjord för realtidswebben

Komplicerat: För många olika lager

Meteor är enkelt: två lager!

Mina poänger

MVC är inte det enda sättet att bygga webb

Meteor är rätt sätt att koda för realtid

Tack!

@EmilStenstrom emil@kundo.se

Recommended