Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN
Node es un apasionante lenguaje JavaScript para desarrolladores web que ha ido
ganando popularidad en los ltimos aos. Empez usndose en pequeos proyectos o
medianas empresas y ahora puede verse en grandes compaas como Microsoft, eBay,
LinkedIn, Yahoo, WalMart, Uber, Oracle, y muchos ms.
POR QU MEAN?
El stack MEAN usa cuatro componentes de software, MongoDB, ExpressJS, AngularJS y
NodeJS. Estas cuatro herramientas juntas permite a los desarrolladores crear aplicaciones
de forma eficiente, bien estructurada y rpida. Todos los componentes del stack usan
JavaScript, usando para todo este lenguaje podemos hacer cosas cosas como:
Usar JavaScript del lado del servidor (Node y Express)
Usar JavaScript en el lado del cliente (Angular)
Almacenar objetos JSON en MongoDB
Usar los objetos JSON para transferir datos fcilmente de la base de datos al servidor y
del servidor al cliente
El hecho de usar un solo JavaScript como lenguaje aumenta la productividad. Los
desarrolladores del lado del cliente que trabajan con Angular pueden entender fcilmente
la mayora del cdigo del lado del servidor y viceversa.
En la base de datos almacenamos informacin como formato JSON. Despus podemos
escribir queries JSON (peticiones) en nuestro servidor Node y enviar estas peticiones
directamente a nuestro front-end usando Angular. Esto es especialmente til cuando
tienes a varios desarrolladores trabajando en un proyecto. El cdigo del lado del servidor
es ms legible por los desarrolladores front-end y viceversa.
La facilidad de desarrollo ser mucho ms evidente una vez empezamos a indagar en
ejemplos y con suerte os salve a tu equipo y a ti de algunos quebraderos de cabeza en el
futuro.
chats, actualizacin de estados, o cualquier otra situacin que requiera mostrar datos
rpidamente en tiempo real:
Chat
Actualizacin de estados en tiempo real por el usuario (como Twitter)
RSS feed
Tienda online
Polling app (aplicacin para votaciones)
PRIMER VISTAZO
Vamos a echar un vistazo rpido a las tecnologas que usaremos. Recuerda, esta serie de
tutoriales estn destinados a ensear
cmo todas estas piezas trabajan juntass, as que no va a meternos en las tcnicas ms
avanzadas
y conceptos de cada uno. Dejar enlaces a ms recursos para complementar los
conocimientos adquiridos en cada seccin.
MongoDB, llamado as por la palabra humongous, es una
base de datos de cdigo abierto NoSQL, base de datos que
almacena documentos en formato JSON. Se sita lder de las
bases de datos NoSQL, segn el estudio a partir del nmero
de bsquedas en Google y demandas en ofertas de trabajo.
Mongo vs MYSQL
LAMP, que usa MYSQL, ha sido el stack lider durante varios aos hasta ahora. MYSQL es
clasificado como una base de datos relacional.
Si en la aplicacin existe una operacin bloqueante (I/O), Node.js crea entonces otro hilo
en segundo plano, pero no lo hace por cada conexin, como hara un servidor web como
por ejemplo Apache.
Callbacks asncronos. Una funcin que es pasada como parmetro para ser
ejecutada ms adelante (cuando este lista). Los callbacks se usan cuando una
funcin necesita ms tiempo para ejecutarse para devolver los valores correctos.
Es una forma de decirle a tu programa cuando hayas terminado con esto, haz
todo esto.
EXPRESSJS
Express es una plataforma ligera para construir aplicaciones web usando NodeJS. Nos
ayuda a organizar las aplicaciones web en el lado del servidor. En la web de ExpressJS, lo
describen comoun framework de desarrollo de aplicaciones web minimalista y flexible
para Node.js.
Express esconde muchas funcionalidades internas de Node, lo que te permite sumergirte
en el cdigo de tu aplicacin y conseguir tus objetivos de forma muy rpida. Es fcil de
aprender y te deja cierta flexibilidad con su estructura.
Por algo es el framework ms popular de Node. Algunos nombres destacados que usan
Express son:
MySpace
Klout
Segment.io
Y muchos ms en esta lista.
De entre tantas cosas que puede hacer este framework, podemos destacar:
Router
Manejo de peticiones
Configuracin de la aplicacin
Middleware
No te preocupes si estos trminos son nuevos para ti, a medida que avancemos en los
tutoriales profundizaremos en cada uno de estos componentes, los aprenderemos y los
usaremos.
DATA BINDING
Si vienes del pas de jQuery, estars familiarizado con el uso de selectores CSS para
acceder al DOM. Cada vez que quieras obtener el valor de un input, necesitas usar $
(input).val();. No digo que este mal, pero cuando tienes aplicaciones grandes con
muchos input boxes, llega a ser un tanto tedioso controlarlo.
Con Angular se ha eliminado la manipulacin del DOM y al ser modelo MVC (model-viewcontroller) tus datos estn en un lugar. Mediante el data binding, la vista (archivos HTML)
se actualizar automticamente cada vez que el modelo cambie y viceversa.