SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Comparación awt y java swing
Comparación awt y java swingComparación awt y java swing
Comparación awt y java swingsebastiangalindob
 
Módulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdfMódulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdftripfrap
 
Reactjs workshop (1)
Reactjs workshop (1)Reactjs workshop (1)
Reactjs workshop (1)Ahmed rebai
 
JShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJavaDayUA
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightKnoldus Inc.
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introductionRasheed Waraich
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture AppDynamics
 
Del modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosDel modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosYAMILA GASCON
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with SpringJoshua Long
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introductionejlp12
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete GuideSam Dias
 
Java spring framework
Java spring frameworkJava spring framework
Java spring frameworkRajiv Gupta
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudEberhard Wolff
 

Mais procurados (20)

Comparación awt y java swing
Comparación awt y java swingComparación awt y java swing
Comparación awt y java swing
 
Selenium Handbook
Selenium HandbookSelenium Handbook
Selenium Handbook
 
Historia de java script
Historia de java scriptHistoria de java script
Historia de java script
 
Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
Módulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdfMódulo 7–Programación Web con Java.pdf
Módulo 7–Programación Web con Java.pdf
 
Reactjs workshop (1)
Reactjs workshop (1)Reactjs workshop (1)
Reactjs workshop (1)
 
JShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java PlatformJShell: An Interactive Shell for the Java Platform
JShell: An Interactive Shell for the Java Platform
 
Why Should we use Microsoft's Playwright
Why Should we use Microsoft's PlaywrightWhy Should we use Microsoft's Playwright
Why Should we use Microsoft's Playwright
 
JMeter: Análisis de Resultados.
JMeter: Análisis de Resultados.JMeter: Análisis de Resultados.
JMeter: Análisis de Resultados.
 
Spring boot introduction
Spring boot introductionSpring boot introduction
Spring boot introduction
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
Del modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitosDel modelo del negocio al modelo de requisitos
Del modelo del negocio al modelo de requisitos
 
REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Soap Vs Rest
Soap Vs RestSoap Vs Rest
Soap Vs Rest
 
Java script
Java scriptJava script
Java script
 
Java EE Introduction
Java EE IntroductionJava EE Introduction
Java EE Introduction
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Java spring framework
Java spring frameworkJava spring framework
Java spring framework
 
Microservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring CloudMicroservices with Java, Spring Boot and Spring Cloud
Microservices with Java, Spring Boot and Spring Cloud
 

Destaque

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)Xurxo Mendez Perez
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
 

Destaque (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
 

Semelhante a 18 19 aplicaciones web modernas con javascript

Semelhante 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
 

Mais de Software Guru

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 CosasSoftware Guru
 
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 realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
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 SeniorSoftware Guru
 
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 idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
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:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
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.0Software Guru
 
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 StencilJSSoftware Guru
 
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 ...Software Guru
 
¿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?Software Guru
 
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.Software Guru
 
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 DevOpsSoftware Guru
 
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 productivosSoftware Guru
 
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 stressSoftware Guru
 
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 goalsSoftware Guru
 
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 Covid19Software Guru
 
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ñoSoftware Guru
 

Mais 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