SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
AGENDA
Javascript
Aplicaciones	web
Aplicaciones	web	modernas
WAI	-	ARIA
SPA
MEAN	Stack
Automatización
JAVASCRIPT
Un	lenguaje	dinámico
Ligero	y	rápido
Multi	plataforma
Sin	tipado
Scripting
JAVASCRIPT
Se	ejecuta	en	el	cliente
Se	ejecuta	en	el	servidor
Lenguaje	subestimado
"It's	the	only	language	that	I'm	aware	of
that	people	feel	that	they	don't	need	to
learn	it	before	they	start	using	it."
Douglas	Crockford	about	JavaScript
APLICACIONES	WEB	
(Vieja	escuela)
1.	 Se	ejecutan	operaciones	en	el	servidor
2.	 El	servidor	devuelve	una	respuesta
3.	 Se	muestra	la	respuesta
1.	 Recargando	la	página
2.	 Vía	Asíncrona	(AJAX)
APLICACIONES	WEB
(Vieja	escuela)
1.	 El	servidor	toma	un	papel	de	"Dios".
1.	 Manejo	envio	de	peticiones
2.	 Procesa	la	información
3.	 Realiza	operaciones	con	los	datos	enviados
4.	 Realizad	operaciones	en	base	de	datos
5.	 Envía	al	cliente	la	respuesta,	muchas	veces	con
estructura.
APLICACIONES	WEB	MODERNAS
Experiencia	de	usuario	superior
Múltiples	componentes	interactuando.
Evitar	recarga	completa	de	páginas	o	secciones.
Código	que	toma	ventaja	de	mecanismos	comunes.
APLICACIONES	WEB	MODERNAS
Modelos	como	única	fuente	de	datos
Vistas	que	observan	cambios	en	el	modelo
DOM	de	solo	escritura.
W3C
WAI	-	ARIA
The	Accessible	Rich	Internet	Applications
Suite,	defines	a	way	to	make	Web	content
and	Web	applications	more	accessible	to
people	with	disabilities.
	
It	especially	helps	with	dynamic	content
and	advanced	user	interface	controls
developed	with	Ajax,	HTML,	JavaScript,
and	related	technologies.
SPA
"Single	page	application,	se	ejecuta	el	flujo
en	una	sola	página,	logrando	una
experiencia	de	usuario	más	cercana	a	una
aplicación	de	escritorio"
SPA
Mueve	la	lógica	desde	el	servidor	al	cliente.
El	rol	del	servidor	web	evoluciona.
Funcionamiento	como	API	de	datos	pura	o	servicios	web.
El	protagonismo	está	del	lado	cliente	(Javascript	rules…)
MEAN	STACK
Base	de	datos	no	relacional	(NoSQL)
Estructura	basada	en	documentos
JSON	en	forma	binaria	(BSON)
Se	pueden	ejecutar	operaciones	Javascript
Flexibilidad.
Drivers	para	manejo	con	Node.Js
Nodejs	Framework
Servidor	HTTP
APIS	REST
Framework	JS	para	el	cliente
MVC
SPA
Soportado	por	Google
Modelos
Promesas
Controladores
Entorno	de	desarrollo	Js
Basado	en	V8
No	bloqueante
Manejo	de	eventos
Aplicaciones	real	time
AUTOMATIZACIÓN	DE	PROCESOS
YEOMAN
YEOMAN
Workflow	de	desarrollo	estandarizado
Manejo	de	configuraciones	entre	ambiente
Generador	de	aplicaciones
Tareas	automatizadas
Construcción,	previsualización	y	pruebas.
Manejo	de	dependencias	utilizadas
INSTALACIÓN
Instalación	de	Yeoman
	npm	install	-g	yo
Instalar	un	generador	de	aplicaciones
		npm	install	-g	generator-webapp
USO	DE	YEOMAN	EN	UN	PROYECTO
		yo	webapp
Añadir	una	dependencia	a	un	proyecto
			bower	install	underscore
Deploy	del	proyecto
			grunt
MEAN	STACK	EJEMPLO
SCAFFOLDING	DEL	PROYECTO
Generamos	el	proyecto	con
	npm	install	-g	generator-angular-fullstack
Crear	una	carpeta	donde	almacenaras	el	proyecto	ejemplo
proyectos/awm-ejemplo
	mkdir	proyectos/awm-ejemplo	&&	cd	$_
	yo	angular-fullstack
Ejecutamos
	grunt	serve
Antes	de	ejecutar	el	comando	anterior,	se	asume	que	se
cuenta	con	mongoDB	instalado	y	configurado.	Y	que	esta
levantado	el	servicio	de	mongoDB
	mongod
ESTRUCTURA
Como	funciona	angular
SE	CONFIGURAN	LAS	RUTAS
CONTROLADORES	Y	MODELOS
MODELOS
El	modelo	es:
Donde	awesomeThings,	es	la	respuesta	de
la	promesa	que	se	lleva	a	cabo.
$scope.awesomeThings	=	awesomeThings
PROMESAS
USANDO	LAS	PROMESAS
Puedes	bajar	este	ejemplo	de	github:
	git	clone	https://github.com/gartox/sgvirtual-awmjs.git
GRACIAS
Preguntas	¿?
18 19 aplicaciones web modernas con javascript

Más contenido relacionado

La actualidad más candente

Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
vamsi krishna
 
Java script final presentation
Java script final presentationJava script final presentation
Java script final presentation
Adhoura Academy
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access Protocol
Saatviga Sudhahar
 

La actualidad más candente (20)

Java script
Java scriptJava script
Java script
 
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
 
Javascript validating form
Javascript validating formJavascript validating form
Javascript validating form
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
JavaScript Promises
JavaScript PromisesJavaScript Promises
JavaScript Promises
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
JS Event Loop
JS Event LoopJS Event Loop
JS Event Loop
 
Introduction to es6
Introduction to es6Introduction to es6
Introduction to es6
 
Introducción a Javascript I
Introducción a Javascript IIntroducción a Javascript I
Introducción a Javascript I
 
Web forms in ASP.net
Web forms in ASP.netWeb forms in ASP.net
Web forms in ASP.net
 
Servletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,postServletarchitecture,lifecycle,get,post
Servletarchitecture,lifecycle,get,post
 
jQuery
jQueryjQuery
jQuery
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 
Asynchronous programming in C#
Asynchronous programming in C#Asynchronous programming in C#
Asynchronous programming in C#
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Java script final presentation
Java script final presentationJava script final presentation
Java script final presentation
 
Xml http request
Xml http requestXml http request
Xml http request
 
Javascript
JavascriptJavascript
Javascript
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access Protocol
 
Express js
Express jsExpress js
Express js
 

Destacado (6)

Aplicaciones Web Modernas con Javascript
Aplicaciones Web Modernas con Javascript Aplicaciones Web Modernas con Javascript
Aplicaciones Web Modernas con Javascript
 
Concurso juvenil agora 2016
Concurso juvenil agora 2016Concurso juvenil agora 2016
Concurso juvenil agora 2016
 
MeteoSIX - Building a Meteorological SDI for the region of Galicia (Spain)
MeteoSIX - Building a Meteorological SDI for the region of Galicia (Spain)MeteoSIX - Building a Meteorological SDI for the region of Galicia (Spain)
MeteoSIX - Building a Meteorological SDI for the region of Galicia (Spain)
 
Curso OpenLayers Xeoinquedos
Curso OpenLayers XeoinquedosCurso OpenLayers Xeoinquedos
Curso OpenLayers Xeoinquedos
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
Qué es tecnoparque
Qué es tecnoparqueQué es tecnoparque
Qué es tecnoparque
 

Similar a 18 19 aplicaciones web modernas con javascript

Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0
Arnulfo Gomez
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de Ajax
Alvaro Castillo
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
vicosw
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
Anyeni Garay
 

Similar a 18 19 aplicaciones web modernas con javascript (20)

AJAX
AJAXAJAX
AJAX
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0
 
ajax
ajaxajax
ajax
 
Ajax
AjaxAjax
Ajax
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de Ajax
 
Uts Lenguaje Ajax
Uts Lenguaje AjaxUts Lenguaje Ajax
Uts Lenguaje Ajax
 
Uts Lenguaje Ajax
Uts Lenguaje AjaxUts Lenguaje Ajax
Uts Lenguaje Ajax
 
Ajax
AjaxAjax
Ajax
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
HTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo WebHTML Tour - Construyendo tu ecosistema de desarrollo Web
HTML Tour - Construyendo tu ecosistema de desarrollo Web
 
Javascript
JavascriptJavascript
Javascript
 
Ajax Atlas
Ajax AtlasAjax Atlas
Ajax Atlas
 
Ajax
AjaxAjax
Ajax
 
Jc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net BeansJc Web2.0 Java Ee5 Net Beans
Jc Web2.0 Java Ee5 Net Beans
 
Curso ajax
Curso ajaxCurso ajax
Curso ajax
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 
TEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EETEMA Nº 1: INTRODUCCIÓN A J2EE
TEMA Nº 1: INTRODUCCIÓN A J2EE
 

Más de Software Guru

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

18 19 aplicaciones web modernas con javascript