Actualmente la web ha evolucionado hasta el punto de construir aplicaciones web en JavaScript que corren en el lado del cliente, que tienen interfaces gráficas eficientes, no recargan páginas y son reactivas.
Casi todas estas aplicaciones fueron escritas con pocas herramientas y usando mucho tiempo y personal
Meteor se encuentra bajo constante y ágil desarrollo, y piensa alcanzar la versión 1.0 en más que algunos meses y menos que un año, según sus creadores.
No se manda porciones de Html sobre la red, se mandan datos al cliente (plantilla) y es él el que decide como los visualiza.
Todo el código tanto en el lado del cliente como en el servidor se escribe en JavaScript (Aunque se soporta CoffeeScript por medio de un paquete).
Utiliza de igual forma el API de acceso a la base de datos tanto en el cliente como en el servidor.
En el cliente se simula la interacción para que se vea como si no hubiera tiempo de latencia en el acceso a la base de datos.
Actualiza en tiempo real automaticamente, toda la información desde la base de datos y la sesión del usuario al sistema de plantillas esto es realizado por su sistema de orientación a eventos que escucha y replica cambios en la información.
Meteor no pretende reinventar la rueda, por lo tanto animan al usuario a que integre otras herramientas existentes, por lo tanto es muy común ver un uso de meteor complementado por otros frameworks existentes que facilitan el desarrollo.
La mejor manera de que algo parezca simple es que en realidad sea simple, esto se logra con una API limpia que simplifica el código y por lo tanto aumenta la productividad.
Actualmente Meteor está soportado oficialmente para Mac y Linux , mediante el comando:
$ curl https://install.meteor.com | /bin/sh
(Lo siento, no hay soporte oficial para plataformas extrañas de desarrollo, pero pueden probar http://win.meteor.com/ en el caso de tener gusto por la vida peligrosa)
La mayoría de operaciones en Meteor se hacen mediante el comando meteor:
$ meteor create MiApp
(Este comando al ser ejecutado crea un directorio. dentro de este se encontrarán tres archivos: html,js y css)
Luego de ingresar al directorio creado por el comando meteor create:
$ meteor
(El comando meteor al ser ejecutado sin argumentos en el directorio del aplicativo inicia el servidor local en el puerto 3000: http://localhost:3000)
En el directorio creado por el comando meteor create:
$ meteor add jquery
En el directorio creado por el comando meteor create:
$ meteor list
Meteor ofrece la facilidad de utilizar sus servidores para desplegar aplicaciones.
En el directorio creado por el comando meteor create:
$ meteor deploy miapp.meteor.com
<head>
<title>MiApp</title>
</head>
<body>
{{> hello}}
</body>
<template name="hello">
<h1>Hello World!</h1>
{{greeting}}
<input type="button" value="Click" />
</template>
Este es el formato de plantillas de Handlebars
if (Meteor.isClient) {
Template.hello.greeting = function () {
return "Welcome to MiApp.";
};
Template.hello.events({
'click input' : function () {
// template data, if any, is available in 'this'
if (typeof console !== 'undefined')
console.log("You pressed the button");
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
Meteorite es un manejador de paquetes para meteor, permite descargar múltiples paquetes publicados por la comunidad desde
$ sudo npm install -g meteorite
Despúes de ejecutar este comando se podrá utilizar el comando mrt suplantando el comando meteor, ya que este hace las mismas funciones de meteor e incluye los paquetes de la comunidad
Meteor pone a disposición de sus usuarios 4 aplicaciones en las cuales se aplican diferentes conceptos del framework, cada una acompañada de un screencast explicando todo el proceso de creación
para descargar:
$ meteor create --example leaderboard
$ meteor create --example parties
$ meteor create --example todos
$ meteor create --example wordplay
para probar solo debemos ejecutar el comando meteor dentro del directorio creado