About Me
Pablo Chiappetti
Full Stack Web Developer.
Multimedial Designer.
♥
PHP & JS
Lead Developer
PES GAMER

Meteor.js
No, it's not a toy.
Web development today
- CSS pre-processors
- Realtime data?
-
AngularJS
- SocketIO
- Backbone
- High expectations from users
- Multiple technologies
SERVER SIDE
- Python
- PHP
- Ruby
-
Node
- Database?
FRONT END

SO WHAT IS METEOR?
Meteor is an open-source platform for building top-quality, reactive, web apps in a fraction of the time , whether you're an expert developer or just getting started .
where is meteor at now?
-
Funded with $11M late 2012
-
VERY active development since
- Close to release of v1.0
- No huge changes expected on API
- Already efficient on production
active community
- AtmosphereJS (Packages)
- Meteorpedia
- #meteor in irc.freenode.net
- DEV SHOPS!
METEOR is cool
Full stack JS framework.
MAIN PRINCIPLES OF METEOR
DATA ON THE WIRE
Don't send HTML over the network.
Send data and let the client decide how to render it.
One language
Javscript FTW!
Database Everywhere
Database is present on both the
server and the client
Latency compensation
When the user makes a change,
the UI renders immediately
Full stack reactivity
Everything reacts to changes.
Reactive programming.
get started!
On Windows (unofficial)
Installation on Mac / Linux
Linux VM recommended
$ curl https://install.meteor.com | /bin/sh meteor cli
$ meteor --helprun [default] Run this project in local development modecreate Create a new project update Upgrade this project to the latest version of Meteor add Add a package to this project remove Remove a package from this project list List available packages bundle Pack this project up into a tarball mongo Connect to the Mongo database for the specified site reset Reset the project state. Erases the local database. deploy Deploy this project to Meteor logs Show logs for specified site authorized View or change authorized users for a site claim Claim a site deployed with an old Meteor version login Log in to your Meteor developer account logout Log out of your Meteor developer account whoami Prints the username of your Meteor developer account test-packages Test one or more packages login Log in to your Meteor account
Our first meteor app
Create it using Meteor CLI
$ meteor create meetupjs
Run it!
$ cd meetupjs $ meteor[[[[[ ~/Meteor/meetupjs ]]]]] => Started proxy. => Started MongoDB. => Started your app. => App running at: http://localhost:3000/
WHAT HAPPENS ON RUNTIME?
- Joins all JS files into one, minified file.
- Compiles
CSS
files into one file, also minified.
- CSS & JS generated files are
versioned
- Scan project tree for HTML files and concatenate head and body tags
By default, Meteor creates this for us:
meetupjs $ ls
meetupjs.css meetupjs.html meetupjs.js
We can be as flexible as we need
with our app's structure.
APP STRUCTURE
Main special directories
/client Files available to the client *only*
/server Files available to the server side *only*
/public Home directory of the app, client assets
Reactivity sample
Set Template
Send data to the template
Create new MongoDB collection
Clients = new Meteor.collection("clients");Template.clients.clientList = function() {return Clients.find();};
Fulbito {{#if cantidad_jugadores}} ({{cantidad_jugadores}} Jugadores) {{/if}}
<template name="clients">{{ #each clientList }}{{ name }}{{ /each }}</template>
QUICK DEMO
Meteor
By Pablo Chiappetti
Meteor
- 1,406
