Meteor o como era conocido antes MeteorJS,  es un framework web creado en NodeJS hecho para la creación rápida y simple de paginas web y/o aplicaciones mobiles usando JavaScript para el lado del cliente, servidor y mobile otorgando ciertas facilidades al desarrollador que evitan la demanda de tiempo en instalar y configurar funcionalidades que ya trae incluidas.

Estas funcionalidades o paquetes son:

  • MongoDB/Minimongo: base de datos del lado del cliente y el servidor
  • DDP: Distributed Data Protocol, el cual es usado para hacer web services y actualizar la base de datos y mostrar la actualización a todos los usuarios en tiempo real usando el patrón de publish-subscribe
  • NPM: uso de packages nativos del framework y así mismo cualquiera que se pueda obtener de NPM
  • Cordova: creación de los archivos web y de los correspondientes a las distintas plataformas
  • Reactivity: la aplicación va a responder a los cambios de la información en la aplicación mostrando su verdadero estado con un esfuerzo mínimo de desarrollo

Cabe aclarar que Meteor es muy versátil en el modo en el que podemos programar, ya que no usa estrictamente un lenguaje el cual rige sobre todo código, si no que se puede cambiar en distintos variaciones de JavaScript como CoffeeScript, TypeScript, ECMASCRIPT 6, y otros mas, ademas que podemos usar herramientas para generar UI como Ionic, Ionic2, Material, etc. Lo cual lo convierte en un framework totalmente versátil.

Dependiendo del sistema operativo se instala de una u otra manera, pero va a ser lo único que varíe del resto de la entrada.

vamos a empezar a definir nuestro entorno de trabajo, así que lo primero que vamos a hacer es instalar meteor de manera muy fácil

OSX/Linux

curl https://install.meteor.com/ | sh

Windows

Bajar el instalador de https://install.meteor.com/windows

screen-shot-2016-12-20-at-5-59-05-pm

Luego de esto podemos proceder a crear un proyecto Meteor, de los cuales hay varios templates, pero hoy vamos a usar nuevas tecnologías así que vamos a usar el template de Angular2 solo por diversión…. así que nos vamos a posicionar en una carpeta deseada para ubicarlo.

Yo por mi conveniencia tengo una carpeta llamada “Projects”, asi que la voy a usar para poner este pequeño proyecto ahi mismo. Luego de haber llegado a la carpeta en la que ubicaran su proyecto tendremos que hacer lo siguiente:

meteor create –example angular2-boilerplate FolderIT_Meteor

screen-shot-2016-12-20-at-6-15-21-pm

El cual creara una carpeta llamada “FolderIT_Meteor” con un código base para una aplicación que usara Angular2 y una combinación de la estructura de este y la de Meteor, ademas de una data demo en la base de datos, test, diferentes tipos de scripts para correr la app como podemos ver en la siguiente imagen:

screen-shot-2016-12-20-at-6-16-49-pm

 

como se puede ver, crear una aplicación es muy fácil, básicamente se hace uso del comando “meteor create {{app_name}}” el cual crea una carpeta con el nombre ‘app_name’ y adentro todo el contenido, en caso de no usar ningún template, se creara la base del framework nada mas el cual usa javascript y tiene utilidades jquery en el clientside.
todos los comandos empezaran con “meteor {{action}}” donde ‘action’ sera lo que queremos hacer, y dependiendo del caso podemos cambiar ‘meteor’ por ‘npm’ ya que recuerden, es una aplicación node en el fondo.

Prosiguiendo con la aplicación, ahora vamos a correrla, pero como bien saben, antes de correrla tenemos que instalar nuestras dependencias de Node, la cual se va a hacer con el siguiente comando:

meteor npm install

 

screen-shot-2016-12-20-at-6-54-51-pm

Seguido de eso, ya instalado todo, ya preparado todas nuestras dependencias vamos a proceder a correr nuestra aplicación. la forma mas simple es hacerlo con el comando de meteor

meteor run

o si prefieren con NPM y usar alguno de los comandos que contiene el archivo packages.json

npm run start – Run the Meteor application.
npm run start:prod – Run the Meteor application in production mode.
npm run build – Creates a Meteor build version under ./build/ directory.
npm run clear – Resets Meteor’s cache and clears the MongoDB collections.
npm run meteor:update – Updates Meteor’s version and it’s dependencies.
npm run test – Executes Meteor in test mode with Mocha.
npm run test:ci – Executes Meteor in test mode with Mocha for CI (run once).

screen-shot-2016-12-20-at-7-08-59-pm

 

Ahora que nuestra app esta corriendo podemos ir al navegador y fijarnos como esta la aplicación

 

screen-shot-2016-12-20-at-8-11-25-pm

Esto mostraría como la aplicación esta organizada por componentes y mostrando básicamente algunas de las funcionalidades que nos ofrece Angular2, con lo cual a partir de esto se puede empezar a hacer una aplicación web/mobile muy practica con el beneficio de tener muchas herramientas ya instaladas y traer funcionalidades muy interesantes que hacen mas fácil la vida del desarrollador incluyendo la posibilidad de seguir agregando mas herramientas y combinarlas a gusto.

En caso de querer correr la aplicación en un dispositivo ya sea iOS o Android tenemos disponibles los comandos para añadir las plataformas

meteor add-platform ios

meteor add-platform android

y luego correr en el dispositivo

meteor run ios-device

meteor run android-device

Como verán, se pueden hacer muchas cosas y agregar toneladas de paquetes para llevar a cabo la web o aplicación que necesitemos y el tema es lo suficientemente grande como para ver y aprender de todo un poco y conseguir resultados muy buenos con este framework que cada vez obtiene mas soporte y mas gente lo usa.