Aplicaciones Web Modernas con Javascript

Post on 12-Jun-2015

368 views 1 download

Tags:

description

Esta presentación muestra una introducción a la generación de webApps modernas utilizando un stack de tecnologías basadas en Javascript, como NodeJs, MongoDB, AngularJS, API REST. A través de un ejemplo el instructor mostrará como crear aplicaciones Web utilizando el potencial de Javascript.

transcript

AGENDAJavascriptAplicacioneswebAplicacioneswebmodernasWAI-ARIASPAMEANStackAutomatización

JAVASCRIPTUnlenguajedinámicoLigeroyrápidoMultiplataformaSintipadoScripting

JAVASCRIPTSeejecutaenelclienteSeejecutaenelservidorLenguajesubestimado

"It'stheonlylanguagethatI'mawareofthatpeoplefeelthattheydon'tneedto

learnitbeforetheystartusingit."

DouglasCrockfordaboutJavaScript

APLICACIONESWEB(Viejaescuela)

1. Seejecutanoperacionesenelservidor2. Elservidordevuelveunarespuesta3. Semuestralarespuesta1. Recargandolapágina2. VíaAsíncrona(AJAX)

APLICACIONESWEB(Viejaescuela)

1. Elservidortomaunpapelde"Dios".1. Manejoenviodepeticiones2. Procesalainformación3. Realizaoperacionesconlosdatosenviados4. Realizadoperacionesenbasededatos5. Envíaalclientelarespuesta,muchasvecescon

estructura.

APLICACIONESWEBMODERNASExperienciadeusuariosuperiorMúltiplescomponentesinteractuando.Evitarrecargacompletadepáginasosecciones.Códigoquetomaventajademecanismoscomunes.

APLICACIONESWEBMODERNASModeloscomoúnicafuentededatosVistasqueobservancambiosenelmodeloDOMdesoloescritura.

W3C

WAI-ARIA

TheAccessibleRichInternetApplicationsSuite,definesawaytomakeWebcontentandWebapplicationsmoreaccessibleto

peoplewithdisabilities.

Itespeciallyhelpswithdynamiccontentandadvanceduserinterfacecontrols

developedwithAjax,HTML,JavaScript,andrelatedtechnologies.

SPA

"Singlepageapplication,seejecutaelflujoenunasolapágina,lograndouna

experienciadeusuariomáscercanaaunaaplicacióndeescritorio"

SPAMuevelalógicadesdeelservidoralcliente.Elroldelservidorwebevoluciona.FuncionamientocomoAPIdedatospuraoserviciosweb.Elprotagonismoestádelladocliente(Javascriptrules…)

MEANSTACK

Basededatosnorelacional(NoSQL)EstructurabasadaendocumentosJSONenformabinaria(BSON)SepuedenejecutaroperacionesJavascriptFlexibilidad.DriversparamanejoconNode.Js

NodejsFrameworkServidorHTTPAPISREST

FrameworkJSparaelclienteMVCSPASoportadoporGoogleModelosPromesasControladores

EntornodedesarrolloJsBasadoenV8NobloqueanteManejodeeventosAplicacionesrealtime

AUTOMATIZACIÓNDEPROCESOS

YEOMAN

YEOMANWorkflowdedesarrolloestandarizadoManejodeconfiguracionesentreambienteGeneradordeaplicacionesTareasautomatizadasConstrucción,previsualizaciónypruebas.Manejodedependenciasutilizadas

INSTALACIÓNInstalacióndeYeoman

npminstall-gyo

Instalarungeneradordeaplicaciones

npminstall-ggenerator-webapp

USODEYEOMANENUNPROYECTO

yowebapp

Añadirunadependenciaaunproyecto

bowerinstallunderscore

Deploydelproyecto

grunt

MEANSTACKEJEMPLO

SCAFFOLDINGDELPROYECTO

Generamoselproyectocon

npminstall-ggenerator-angular-fullstack

Crearunacarpetadondealmacenaraselproyectoejemploproyectos/awm-ejemplo

mkdirproyectos/awm-ejemplo&&cd$_

yoangular-fullstack

Ejecutamos

gruntserve

Antesdeejecutarelcomandoanterior,seasumequesecuentaconmongoDBinstaladoyconfigurado.Yqueesta

levantadoelserviciodemongoDB

mongod

ESTRUCTURA

Comofuncionaangular

SECONFIGURANLASRUTAS

CONTROLADORESYMODELOS

MODELOSElmodeloes:

DondeawesomeThings,eslarespuestadelapromesaquesellevaacabo.

$scope.awesomeThings=awesomeThings

PROMESAS

USANDOLASPROMESAS

Puedesbajaresteejemplodegithub:

gitclonehttps://github.com/gartox/sgvirtual-awmjs.git

GRACIAS

Preguntas¿?