Full Stack Javascript (MEAN) (Betabeers ZGZ)

Preview:

DESCRIPTION

 

Citation preview

Desarrollo Full Stack Javascript !MEAN

• Desarrollo en JavaScript de principio a fin: Frontend, Backend y Base de Datos.

• El acrónimo MEAN viene de (M)ongo + (E)xpress + (A)ngular + (N)ode !

• Mismo lenguaje, mismos objetos:

{“_id”:ObjectId(“5333f43ca1edc7794c8c134f”), “username”:”joe”}

{“_id”:“5333f43ca1edc7794c8c134f”, “username”:”joe”}

{“_id”:“5333f43ca1edc7794c8c134f”, “username”:”joe”}

MongoDB• Base de datos no relacional (NoSQL) • Orientada a documentos • Javascript based query syntax • Formato BSON: Binary JSON • Schema-less • Permite consultas avanzadas • Preparado para escalar horizontalmente

Conceptos básicos!!• Database ====> Database !

• Table ====> Collection !

• Record ====> Document

MongoDB

• Objeto JSON guardado internamente como BSON • Flexible • Está compuesto por campos, sin un formato predefinido • Soporta subdocumentos y arrays !Esto es un documento:

¿Qué es un documento?

MongoDB

• CRUD: insert, find, update, remove • Operadores condicionales: $gt, $lt, $gte, $lte • $or, $not, $in, $in • Expresiones regulares db.users.find({"name" : /joe/i}) • Operaciones sobre arrays: $all, $size, $slice, $push, $pull • Consultas sobre documentos embebidos • Limit, skip, sorts • …..

Operaciones

A programar!

npm install -g yo!npm install -g generator-angular-fullstack!yo angular-fullstack

Node.js• Javascript en el backend • Basado en el motor V8 • Orientado a eventos, asíncrono, no bloqueante • Todo tu código se ejecuta en un único thread…. • …aunque todo se ejecuta en paralelo, salvo tu código

ExpressJS• Framework por encima de NodeJS • Aporta todo lo necesario para crear un servidor web • Middleware, routing, templating, static-files, cookies,

tokens… • Perfecto para crear API REST de forma sencilla • Inspirado en Sinatra (Ruby) • Asíncrono

ExpressJSConfiguración

ExpressJSRutas

ExpressJSMiddleware

ExpressJSY mucho mas…

• View rendering • Template engines • Sesiones (cookies, redis…) • Manejo de errores • ……

AngularJS• Framework Javascript • MVC • Inyección de dependencias • Pensado para ser probado (Karma) • Two-way data binding

AngularJSModelo Vista Controlador

Lógica de negocio para interactuar con la vista

AngularJSOtros conceptos importantes

• Modulos • Servicios:

• Factory, Service, Constant, Value • Singleton • Reutilizables • Inyectables

• Filtros • Directivas (Manipulación del DOM)

Raúl Novoa!Co-founder at @10labs & @fidelizoo Javascript Developer/iOS Developer @raul_novoa http://linkedin.com/in/raulnovoa