A free open source platform built
on top of Node.js that makes it
dramatically faster to write rich
realtime web applications in pure
It's what sits between your app's
database and its user interface and
makes sure that both are kept in sync.
How to think of it?
Live Page Updates
• Just write your templates.
• Automatically update when database changes.
• Supports any templating language.
No more refreshing!
DDP (Distributed Data Protocol)
• A standard way to solve the biggest problem
• Querying a server-side database, sending the results down
to the client, and then pushing changes to the client
whenever anything changes in the database.
• Supported on newer browsers using WebSockets and on
(Ajax) long polling
Every Meteor client includes an in-memory database cache.
• To manage the client cache, the server publishes sets of
JSON documents, and the client subscribes to those
• As documents in a set change, the server patches each
Hot Code Pushes
• Update your app while users are connected
without disturbing them.
• When a user makes a change, their screen
updates immediately. If the server rejects their
request or executes it differently, the client is
patched up with what actually happened.
• In Meteor, the client and server share the same
• Code running on the server has direct access to the
database, code running on the client does not.
• By default, a new Meteor app includes the
autopublish and insecure packages, which together
mimic the effect of each client having full read/write
access to the server's database.
• Each Meteor app comes with it’s own
• Meteor currently only supports Mongo.
• Future Support coming for SQL and other
• Little programs that can inject code into the client or
• You can continue use your favorite templating,
testing, or DOM manipulation frameworks.
• A smart package for accounts.
• Includes pre-built components for common tasks like
login, signup, password reset, and verification emails.
• Easy to add and easy to setup external services.
• A Meteor package manager.
• Allows you to install 1000s of packages from the
community through the Atmosphere package
• Incredibly easy to create real time applications
• Large community package system, allows for use of
Meteor packages and NPM packages.
Why use this over Ruby and
Rails, Python and Django
or another language and
curl https://install.meteor.com | /bin/sh
How to get started?
meteor create HelloWorld
=> Meteor server running on: http://localhost:3000/
Linux & Mac
meteor deploy osf2014.meteor.com