View
546
Download
4
Category
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
Recommended