Meteor
A platform to develop modern applications faster than you ever thought
José Cabo Carsí josecabocarsi@gmail.com @JoseCaboCarsi /in/josecabo
We are going to cover about...
But we will not cover...
Typical application workflow
MVC in server - Symfony2
Routing
Controller
Templating
Browser
Html
+ javascript
Ajax!
Model
Server basic MVC - REST
Ajax!
Routing
Controller
Templating
Model
Imperative/conventional style Coding
What is Meteor?
The 10th of the most starred github project at date
The 6th of javascript projects
What is Meteor?
What is Meteor?
Installing meteor
$ curl https://install.meteor.com/ | sh
$ meteor create <application-name>�$ cd <application-name>
$ MONGO_URL=mongodb://localhost:27017/your_db meteor
Reactivity? Uh?
If after: b := 3
(Unless explicit reexecution)
With Reactivity:
If after: b := 3
Meteor’s Full-Stack Reactivity
(client)�Minimongo
Server
(client)�Minimongo
Meteor data platform
MongoDB and minimongo
Real-time and multi-client data, by default
//Client
//Other client
MongoDB and minimongo
More about mongoDB
Blaze & templating
Blaze & templating
Events and meteor sessions
Tips
Securing our application
Reasons:
Revokes all client’s database writes
Securing our application
Special directories:
Securing our application
Securing our application
Securing our application
Problems:
Latency Compensation
It is possible to avoid network latency
Latency Compensation
Two different codes:
Same code in both sides.
More
Publish and Subscribe
So… the entire database is present in the client?
Where is all my data?!
Publish and Subscribe
To execute only in server
To execute only in client
More
Embrace the platform
ATMOSPHERE: https://atmospherejs.com/
$ meteor add repo:name
Embrace the platform
Warning!:
More
Embrace the platform
DDP client
DDP Server
DDP client
Meteor platform
(over websocket)
DDP
(over websocket)
DDP
Livequery
More
Easy deploying
$ meteor deploy <destination>
http://<destination>.meteor.com
Free and automatic meteor host
More
Thanks!
By Francisco López