Contenidos
Introducción a MEAN
MEAN de forma similar a LAMP, es un servidor que usa las siguientes tecnologías, MongoDB (base de datos no relacional), Express (framework de nodejs), Angularjs (framework de la parte cliente) y Nodejs (programación javascript del lado del servidor). Pero ¿qué quiere decir todo esto? simplificando diremos que todo el lenguaje de programación está en javascrip y ahora lo explicamos.
AngularJS
El en lado del cliente, es decir, el ordenador que se conecta a un servidor, todos nosotros somos clientes cuando entramos en una dirección desde Google, hasta el mismo Drouiz, existen varios estándares que son los que los navegadores entienden. El primero, el famoso HTML el esqueleto de una web, lo mínimo necesario para que funcione, posteriormente están los CSS, los estilos, la piel y los músculos, quien da color y belleza y por último javascript, el cerebro, la programación. Antiguamente los navegadores para tener cierto dinamismo en el lado del cliente usaban plugins de Java o de Flash, tecnologías prácticamente obsoletas salvo para algunas aplicaciones. Hoy todos los navegadores entienden javascript.
Javascript comienza a coger popularidad, en mi opinión es un lenguaje complejo y simple a la vez, realmente es lo más abstracto que he conocido, pero ese es su encanto, por supuesto comienza a crear comunidad y nacen librerías que van ayudando a mejorar el código y al final comienzan a surgir los frameworks. Mientras que en PHP el framework se ejecuta en el servidor, con AngularJS lo ejecutamos en el cliente es una página que hace pequeñas peticiones al pinchar en ella, los tiempos de carga son menores y más interactivos. Pero esto es solo una introducción pues es algo de cliente no de servidor que es lo que estamos preparando.
NodeJS
Si en el lado del cliente el estandar es JavaScrip en el lado del servidor ya existián y existen gran cantidad de lenguajes PHP, Phyton, Java y en Windows ASP. ¿no sería magnifico usar el mismo lenguaje? puesta es la idea de NodeJS que el programador no cambie al trabajar en el frontend o en el backend. Así de simple, NodeJS es ese mismo JavaScript adaptado para hacer lo que antiguamente hacía PHP.
Express
Es un framework de NodeJS, ligero y sencillo, básicamente su funcionamiento es cargar una web de Angular e intercambiar datos, en lugar de cargar completamente una página al pinchar en un link, la filosofía de MEAN es trabajar con Json (básicamente objetos en formato de texto). Un ejemplo sencillo, imaginemos que tenemos una web Angular con su HTML y sus estilos y tiene una opción de idioma, la cual pinchamos, en lugar de PHP enviar de nuevo toda la página, Express envia un Json con los cambios que debe realizar, las imágenes son las mismas y el tiempo de carga mejor ¿no es una gran tecnología?
MongoDB
Pues si tenemos JavaScript en el cliente y en el servidor, ¿porque no en la base de datos? y eso es MongoDB. Una base de datos no relacional, que básicamente almacena objetos de JavaScript. No relacional porque los objetos pueden ser diferentes, mientras que MySQL o MariaDB son similares a una hoja de calculo Excel, datos en filas y columnas todos iguales, MongoDB almacena datos como objetos que no tienen porque estar relacionados entre ellos, estos datos son importantes en el Internet de hoy en día, por ejemplo en el Big Data donde a veces los datos llegan de diferentes formas.
Instalando MEAN
Instalación de MongoDB
Primero debemos añadir un repositorio adicional con los paquetes de MongoDB actualizados hasta la fecha, pero antes necesitamos la clave de Mongo para la lista de claves de confianza. (Recordad esto es para Ubuntu Server 14, para otras versiones pinchar aquí)
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Ahora creamos una lista usando el siguiente comando (Ubuntu 14)
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Actualizamos
sudo apt-get update
Instalar última versión estable de MongoDB
sudo apt-get install -y mongodb-org
Por último iniciamos el MongoDB
sudo service mongod start
Instalación de NodeJS
Comenzamos instalando una librería de Ubuntu que nos permite crear paquetes.
1 sudo apt-get install build-essential libssl-dev git
- build-essential y libssl-dev nos sirve para compilar paquetes, eso haremos compilar el nodejs.
- git necesario para descargar repositorios desde github
Cargamos el script de instalación nvm desde Github, para posteriormente instalar node.
1 curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh
Insertamos el siguiente comando, que recarga el archivo en la terminal.
1 source ~/.profile
Hemos instalado nvm que es un gestor de versiónes para nodeJS, más adelante ya comentaremos que es un gestor de versiónes, con él lo primero es comprobar las versiones que tenemos de nodeJS
1 nvm ls-remote
Aparecerá un listado
Entonces seleccionamos la que deseemos en nuestro caso la última a fecha de hoy,
1 nvm
1 install v5.1.0
Una vez instalado ejecutamos los dos siguientes comandos,
1
2 node -v
npm -v
El primero nos indicará la versión de node y el segundo la de npm.
Expres
Por último instalaremos Express, simplemente con un comando
sudo npm install -gexpress
Y ya tendremos nuestro server MEAN listo
En caso de no funcionar podemos usar:
sudo apt-get install node-express
Probando MEAN
Ya solo nos queda probar y comprobar que funciona, nodeJS funciona de forma diferente a Apache, no es objeto enseñar el funcionamiento pero si haremos que funcione algo sencillito.
MAS INFO
Anterior | Indice | Siguiente |