SlideShare a Scribd company logo
1 of 13
Aplicaciones Web SPA con 
WebAPI y TypeScript 
Luis Guerrero 
luis.guerrero@microsoft.com 
@guerrerotook
Servidor y cliente 
• Las aplicaciones web han evolucionado para convertirse 
en algo más complejo que un componente de servidor 
que responde HTML y el navegador solamente dibuja ese 
HTML. 
• Ahora el cliente tiene una mayor importancia y los 
componentes de cliente en JavaScript son los 
responsables de la navegación e interacción del usuario. 
• Además los dispositivos móviles también han hecho que 
el diseño web evolucione en nuestras características 
como el diseño responsive.
Servidor 
• Actualmente hay muchas tecnologías en las que se 
pueden crear aplicaciones web en el servidor: 
• ASP.NET MVC + WebAPI + Entity Framework 
• MEAN Stack: Mongo + Express + Angularjs + Node.js 
• Python: Phyton + Django + sqlite3 
• Todas estas plataformas están perfectamente 
soportadas en Visual Studio
Técnicas a la hora de hacer sitios webs 
• Cliente/Servidor: es el patrón más conocido de todos, 
permite que el servidor genere HTML dinámica en base a la 
navegación del usuario. En cliente se utiliza CSS para diseñar 
y JavaScript para añadir más interacción en la web, pero todo 
está controlado desde el servidor. Se hace postback. 
• Single Page Application (SPA): es una nueva técnica que 
permite crear el sitio web en una única página en HTML, 
cargando y descargando las diferentes secciones de la 
misma, el control lo tiene el navegador que va solicitando 
diferentes secciones. Se utiliza un sistema de plantillas y los 
datos se exponen a través de servicios web RESTful con 
JSON.
SPA 
• SPA permite crear toda la lógica en un único HTML y 
tener ficheros json con los datos que las vistas utilizan 
para mostrar los datos. 
• El servidor únicamente es una capa de servicios RESTful que 
devuelven JSON o CSS/Javascript minificado. 
• Por la parte de cliente se suelen usar frameworks MVC para 
desarrollar las aplicaciones, los más famosos son: AngularJS, 
Backbone.js, Knockout 
• Por la parte del servidor se suele utilizar WebAPI para crear 
una API RESTfull con una respuesta en JSON o XML.
Browser Link 
• Permite conectar los navegadores con Visual Studio 
para poder sincronizar la visualización de elementos 
en tiempo real. 
• Junto con Web Essentials 2013 puede ser una 
herramienta muy potente para actualizar e 
identificar código en cliente. 
• Permite saber qué etiquetas de HTML/CSS están 
disponibles en qué navegador.
LESS
TypeScript y los TypeDefinitions 
• TypeScript es un 
lenguaje que te permite 
trabajar con JavaScript 
pero desde un lenguaje 
orientado a objetos. Al 
final de todo TypeScript 
genera JavaScript que 
puede ser ejecutado en 
cualquier navegado.
IntelliSense para JavaScript y jQuery
To-do demo
11 
Todo Demo Arquitecture - Software 
Document DB Azure Storage 
Node.js 
Express 
TodoMVC App 
TypeScript 
jQuery AngularJS 
Microsoft Azure 
Visual Studio Node.js Tools 
TypeScript Definitions for jQuery and AngularJS
Demo 
Software stack 
12
Todo Demo Arquitecture - Infrastructure 
North Europe 
West Europe 
Traffic Manager 
Round Robin 
API Management 
Document DB Storage Blob 
User Internet

More Related Content

What's hot

Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netAlberto Diaz Martin
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Micael Gallego
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePointAdrian Diaz Cervera
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserMicael Gallego
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a AngularArsys
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Nelson Rojas Núñez
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .NetGlobant
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasRoberto Luis Bisbé
 
NodeJS
NodeJSNodeJS
NodeJSIBM
 
Introducción a SSIS con Biml
Introducción a SSIS con BimlIntroducción a SSIS con Biml
Introducción a SSIS con BimlSpanishPASSVC
 
Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsSergio Gil
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7Luis Ruiz Pavón
 

What's hot (20)

Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019Dev Tools para Kubernetes - Codemotion 2019
Dev Tools para Kubernetes - Codemotion 2019
 
Java script para desarrolladores SharePoint
Java script para desarrolladores SharePointJava script para desarrolladores SharePoint
Java script para desarrolladores SharePoint
 
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserTypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browser
 
Stack mean
Stack meanStack mean
Stack mean
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net.NET Core General - Globant Tech Insiders .Net
.NET Core General - Globant Tech Insiders .Net
 
De escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincherasDe escritorio a Javascript, nuestra experiencia desde las trincheras
De escritorio a Javascript, nuestra experiencia desde las trincheras
 
Implementando una Arquitectura de Microservicios
Implementando una Arquitectura de MicroserviciosImplementando una Arquitectura de Microservicios
Implementando una Arquitectura de Microservicios
 
Introducción a Angular
Introducción a AngularIntroducción a Angular
Introducción a Angular
 
NodeJS
NodeJSNodeJS
NodeJS
 
Introducción a WPF
Introducción a WPFIntroducción a WPF
Introducción a WPF
 
Introducción a SSIS con Biml
Introducción a SSIS con BimlIntroducción a SSIS con Biml
Introducción a SSIS con Biml
 
Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on Rails
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
 
¿Por qué ruby on rails?
¿Por qué ruby on rails?¿Por qué ruby on rails?
¿Por qué ruby on rails?
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
 

Similar to Aplicaciones Web SPA con WebAPI y TypeScript

Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web modernoSebastián Rocco
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !ouuyeah
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.jsGDG Cali
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoAptitud Emprendedora
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosAdrian Alonso Vega
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx22040086
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webJulio Alfaro
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaverLuis Viteri
 
003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdfDubiWeb.TK
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorJose Felix Moran Agusto
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloPlain Concepts
 

Similar to Aplicaciones Web SPA con WebAPI y TypeScript (20)

Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
Tecnologias de desarrollo web
Tecnologias de desarrollo webTecnologias de desarrollo web
Tecnologias de desarrollo web
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.js
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
La importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyectoLa importancia del frontend y backend en un proyecto
La importancia del frontend y backend en un proyecto
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Desarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos DeportivosDesarrollo de una aplicación Web para organizar Eventos Deportivos
Desarrollo de una aplicación Web para organizar Eventos Deportivos
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
APPSWEBI4.0.pptx
APPSWEBI4.0.pptxAPPSWEBI4.0.pptx
APPSWEBI4.0.pptx
 
Desarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías webDesarrollos de aplicaciones móviles con tecnologías web
Desarrollos de aplicaciones móviles con tecnologías web
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
Instalacion adobe dream weaver
Instalacion adobe dream weaverInstalacion adobe dream weaver
Instalacion adobe dream weaver
 
Javacript
JavacriptJavacript
Javacript
 
003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf
 
Programacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidorProgramacion web-Lenguajes del lado del servidor
Programacion web-Lenguajes del lado del servidor
 
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo CabelloRealtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
Realtime Apps en .NET Core by Carlos Landeras y Manuel Rodrigo Cabello
 

Aplicaciones Web SPA con WebAPI y TypeScript

  • 1. Aplicaciones Web SPA con WebAPI y TypeScript Luis Guerrero luis.guerrero@microsoft.com @guerrerotook
  • 2. Servidor y cliente • Las aplicaciones web han evolucionado para convertirse en algo más complejo que un componente de servidor que responde HTML y el navegador solamente dibuja ese HTML. • Ahora el cliente tiene una mayor importancia y los componentes de cliente en JavaScript son los responsables de la navegación e interacción del usuario. • Además los dispositivos móviles también han hecho que el diseño web evolucione en nuestras características como el diseño responsive.
  • 3. Servidor • Actualmente hay muchas tecnologías en las que se pueden crear aplicaciones web en el servidor: • ASP.NET MVC + WebAPI + Entity Framework • MEAN Stack: Mongo + Express + Angularjs + Node.js • Python: Phyton + Django + sqlite3 • Todas estas plataformas están perfectamente soportadas en Visual Studio
  • 4. Técnicas a la hora de hacer sitios webs • Cliente/Servidor: es el patrón más conocido de todos, permite que el servidor genere HTML dinámica en base a la navegación del usuario. En cliente se utiliza CSS para diseñar y JavaScript para añadir más interacción en la web, pero todo está controlado desde el servidor. Se hace postback. • Single Page Application (SPA): es una nueva técnica que permite crear el sitio web en una única página en HTML, cargando y descargando las diferentes secciones de la misma, el control lo tiene el navegador que va solicitando diferentes secciones. Se utiliza un sistema de plantillas y los datos se exponen a través de servicios web RESTful con JSON.
  • 5. SPA • SPA permite crear toda la lógica en un único HTML y tener ficheros json con los datos que las vistas utilizan para mostrar los datos. • El servidor únicamente es una capa de servicios RESTful que devuelven JSON o CSS/Javascript minificado. • Por la parte de cliente se suelen usar frameworks MVC para desarrollar las aplicaciones, los más famosos son: AngularJS, Backbone.js, Knockout • Por la parte del servidor se suele utilizar WebAPI para crear una API RESTfull con una respuesta en JSON o XML.
  • 6. Browser Link • Permite conectar los navegadores con Visual Studio para poder sincronizar la visualización de elementos en tiempo real. • Junto con Web Essentials 2013 puede ser una herramienta muy potente para actualizar e identificar código en cliente. • Permite saber qué etiquetas de HTML/CSS están disponibles en qué navegador.
  • 8. TypeScript y los TypeDefinitions • TypeScript es un lenguaje que te permite trabajar con JavaScript pero desde un lenguaje orientado a objetos. Al final de todo TypeScript genera JavaScript que puede ser ejecutado en cualquier navegado.
  • 11. 11 Todo Demo Arquitecture - Software Document DB Azure Storage Node.js Express TodoMVC App TypeScript jQuery AngularJS Microsoft Azure Visual Studio Node.js Tools TypeScript Definitions for jQuery and AngularJS
  • 13. Todo Demo Arquitecture - Infrastructure North Europe West Europe Traffic Manager Round Robin API Management Document DB Storage Blob User Internet