meteor realtidsramverket
DESCRIPTION
Presentation av Meteor på Valtech Tech Days 2012.TRANSCRIPT
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
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(…) } });}
Exempel: Luffarschack
http://gomoku.meteor.com
https://github.com/EmilStenstrom/meteor-gomoku
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 [email protected]