SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Desarrollo	Full	Stack
Una	visión	personal	y	sesgada
Roberto	Luis	Bisbé
DotnetClub UAM
17	de	Marzo de	2017
Acerca	de
• Ingeniero	de	Software	en	Amazon	Business
• Antiguo	alumno	de	esta	noble	casa
• II	Presidente	de	UAM.net
• Twitter:	@rlbisbe
• Blog:	rlbisbe.net
2
Agenda
• Motivación
• Viaje	personal
• Bloques	de	construcción
• Arquitecturas	a	la	italiana
3
Motivación
"Conocer	detalles	sobre	el	funcionamiento	de	las	diferentes	capas	de	un	
sistema nos	permite	tomar	mejores	decisiones que	afectan	al	mismo"
4
Motivación
"Conocer	detalles	sobre	el	funcionamiento	de	las	diferentes	capas	de	un	
sistema nos	permite	tomar	mejores	decisiones que	afectan	al	mismo"
Yo,	al	preparar	esta	charla
5
Motivación
• "Saber	optimizar	una	consulta	nos	permite	mostrar	solamente	la	
información	necesaria	en	la	UI"
• "Conocer	cual	es	la	representación de	los	datos	en	la	UI nos	permite	
modelar	mejor	nuestro	dominio"
• "Conocer	diferentes	tipos	de	almacenamiento	de	datos	nos	permite	
diseñar	mejor	nuesta API"
6
Pero	esto	no	es	nuevo
• En	la	carrera	estudiamos
• Electrónica
• Código binario
• Álgebra de	boole
• Ensamblador
• Sistemas	operativos
• Redes
• Son	"capas"	de	un	stack
7
Enter the	Stack
"In	computing,	a	solution	stack	or	software	stack	is	a	set	
of [...] components	needed	to	create	a	complete	platform	
such	that	no	additional	software	is	needed	to	support	
applications.
Applications	are	said	to	"run	on"	or	"run	on	top	of"	the	
resulting	platform."
Un	buen	samaritano	en	Wikipedia
8
Full	Stack	Developer
• "Alguien	que	puede	meter	la	pata	en	todas	las	capas	del	
código"
• "Alguien familiarizado	con	cada	capa,	sin	dominar	ninguna	y	
con	un	interés genuino	en	la	tecnología.”
9
La	industria	los	necesita
• +4.000.000 de	resultados	en Google
• +103.000 resultados	de	libros en Amazon
• +34.000 resultados en	LinkedIn
• +100 ofertas	de	trabajo	en	StackOverflow Carreers
10
Mi	viaje	al	Full	Stack	
11
2008	– 2012
Stacks	académicos
A	long	time	ago	in	a	university	so	far
12
Stack	1
Acción Capa
Entrada	(Texto) Interfaz
Código	que	hace	cosas Lógica de	negocio
Salida	(Texto) Interfaz
13
Stack	2
Acción Capa
Entrada	(HTTP) Interfaz
Lógica	de	petición Controlador
Ejecución de	CGI	en	consola Lógica de	negocio
Recuperación de	resultados Controlador
Salida	(HTTP) Interfaz
14
Stack 3
Acción Capa
Entrada	(HTTP) Interfaz
Análisis	de	entrada Controlador
Lógica del	juego Lógica de	negocio
Comando	o	consulta	en	base	de	datos Datos
Conversión	de	base	de	datos	en	lógica	de	aplicación Lógica de	negocio
Formato Controlador
Salida	(HTTP) Interfaz
15
2012	- ?
Stacks	profesionales
Snap	back	to	reality,	oh,	there	goes	gravity!
16
Stack	1
Acción Capa
• Línea de	comandos
• Aplicación escritorio
• Dashboard	(HTTP)
Interfaz
Análisis	de	entrada Controlador
Comunicación con	servidor Interfaz
Lógica	de	aplicación Lógica de	negocio
Comando	o	consulta	en	base	de	datos Datos
Conversión	de	base	de	datos	en	lógica	de	aplicación Lógica de	negocio
Respuesta	de	servidor Interfaz
Análisis	de	salida Controlador
• Línea de	comandos
• Aplicación escritorio
• Dashboard
Interfaz
17
Stack	2
Acción Capa
Entrada:	acciones	dentro	de	un	IDE Interfaz
Análisis	de	entrada	y	limpieza Controlador
Comunicación con	servidor Interfaz
Sincronización de	estado Lógica de	negocio
Comunicación con	clientes Interfaz
Análisis	de	salida Controlador
Salida:	acciones	sobre	el	IDE Interfaz
18
Lecciones	aprendidas
• Todo	se	puede	expresar	en	capas
• División	semántica
• Responsabilidad	específica
19
Bloques	de	construcción
20
Desktop	Stack
• Ejecutable,	aplicación de	consola,	daemon
• APIs	de	la	capa	de	gráficos
• Compiz,	Aero,	Quartz
• APIs	del	Sistema	Operativo
• Acceso	a	disco,	registro,	permisos
• APIs	de	Hardware
• (USB,	Sensores	integrados...)
21
Mobile	Stack
• Aplicación
• Presentación
• Lógica de	negocio
• Acceso	a	servicios
• APIs	del	sistema	operativo
• Almacenamiento	y	caché
• Comunicación	con	otras	aplicaciones
• Acceso	a	la	red
• APIs	de	hardware
• Sensores
22
Web	Stack
• APIs	del	Navegador
• Framework	de	aplicaciones	web
• Configuración y	APIs	del	servidor	web
• Red,	firewall,	routing...
• APIs	del	sistema	operativo	(real	o	virtualizado)
23
Web	Stack,	a	alto	nivel
• Lógica	de	aplicación
• que	la	app	haga	algo
• Almacenamiento	persistente
• almacenar	cosas
• Búsqueda
• recuperar	lo	que	hemos	almacenado
• Caché
• tener	la	información	cuanto	antes	posible
24
Web	Stack	(Stack	Overflow)
• Lógica	de	aplicación
• .NET	Framework:	C#,	ASP.net	MVC
• Almacenamiento	persistente
• Relacional:	SQL	Server
• Búsqueda
• Elastic	Search
• Caché
• Redis
25
Web	Stack	(LinkedIn)
• Lógica	de	aplicación
• Java
• Almacenamiento persistente
• No	relacional,	basado	en	documentos:	Espresso
• Búsqueda
• Lucene
• Caché
• Producción propia:	Voldemort
26
Stacks
• Desktop
• Mobile
• Web
• Hardware	(IoT)
27
Arquitecturas
"lasaña"
Capa	sobre	capa
28
Arquitecturas	"lasaña"
• Presentación
• Aplicación
• Almacenamiento
• Caché
• Búsqueda
29
Capa	de	presentación
• Web
• HTML/CSS/JS
• Escritorio
• Winforms,	Swing,	Cocoa,	GTK
• Móvil
• UIKit,	Android	XML,	XAML
• Línea de	comandos
• STDIN,	Argumentos,	logs
30
Capa	de	aplicación
• .NET
• C#,	VB.net,	F#
• ASP.net,	NancyFX
• JVM
• Java,	Groovy,	Scala,	Kotlin
• Spring,	Play,	Grails
• Otros
• Ruby,	Python,	JS,	PHP
• Rails,	Django,	Meteor,	Symfony
31
Capa	de	almacenamiento	(I)
• Binarios
• Imágenes,	audio,	vídeo,	texturas
• Logs
• Especialmente	crítico	en	sistemas	de	producción	o	asíncronos
• Análisis	con	herramientas	como	Splunk
• Ficheros	de	configuración
• Ficheros	INI,	JSON,	yaml
32
Capa	de	almacenamiento	(II)
• Relacional
• SQL	Server,	MySQL,	PosgreSQL
• Estructura	establecida:	Normalización
• Relaciones	entre	tablas
• Claves	externas
• Consultas,	uniones	entre	tablas,	Índices,	procedimientos	almacenados
• Basado	en	documentos
• DynamoDB,	DocumentDB,	MongoDB
• Estructura	no	fija:	Desnormalización
• No	hay	relaciones
• Operaciones	Scan	y	Query
33
Capa	de	almacenamiento	(III)
• Clave-valor
• Redis
• Usado	como	caché
• Almacenamiento	en	grafos
• Neo4J
• Motores	de	recomendación y	derección de	fraudes
34
Capa	de	almacenamiento (IV):	Caché
• Frescura
• Validación
• Invalidación
35
Tipos	de	caché
• Cache	HTTP
• Varnish,	Nginx,	Apache
• Caché	en	memoria	de	proceso
• Parte	de	Java	y	de	.Net
• Caché	de	memoria	compartida
• Redis
• Caché	de	base	de	datos
• Resultados	de	consultas
36
Capa	de	almacenamiento	(V):	Búsqueda
• Integrada	en	DBMS:
• select	name	like	'%s'
• Índices
• Búsqueda	de	valores	específicos	en	una	tabla	de	acceso	rápido
• A	nivel	de	aplicación:
• Algoritmos	de	búsqueda "académicos"
• Motores	de	búsqueda
• Lucene
• Elasticsearch
37
Arquitecturas	"lasaña"
• Presentación
• Aplicación
• Almacenamiento
• Caché
• Búsqueda
38
Arquitecturas
"ravioli"
Muchos	elementos,	una	salsa
39
Arquitecturas	"ravioli"
• Microservicios
• Comunicaciones
• Directa
• Mensajes
40
Microservicios
• Componentes	especializados	e	independientes.
• Idealmente	cada	uno	con	su	propio	almacenamiento.
• Cada	componente	se	puede	desplegar	independientemente.
• Ejemplos:	Amazon,	Spotify
41
Comunicaciones	(I):	Directa
• GraphQL
• REST
• HTTP
• ODBC
• Sockets
42
Comunicaciones	(II):	Paso	de	mensajes
• Usada	por	el	sistema	operativo	para	comunicarse	con	aplicaciones.
• Colas
• Topics
• Reintentos
• Dead	letter	queues	o	Poison	queues
• Sistemas	de	Colas	de	mensajes
• ZeroMQ,	RabbitMQ
• AWS	SQS,	Azure	Service	Bus,	Google	Cloud	PubSub
43
Arquitecturas	"ravioli"
• Microservicios
• Comunicaciones
• Directa
• Mensajes
44
Arquitecturas
"risotto"
El	total	es	mayor	que	la	suma
de	los	granos	de	arroz
45
Risotto:	Serverless	computing
• Funciones	específicas,	especializadas
• Enviar	un	email
• Redimensionar	una	foto
• Agregar	metadatos	a	un	fichero
• Desplegadas independientemente
• Efímeras
• Proveedores
• Azure	Functions,	AWS	Lambda,	Google	Cloud	Functions
46
Arquitecturas
"pizza"
47
Arquitecturas
"panetone"
48
Resumen
• Motivación
• Ejemplos
• Stacks	"web",	"mobile”,	"desktop”…
• Arquitecturas	"lasaña",	"ravioli",	"risotto”…
• Almacenamiento
• Comunicaciones
• Frameworks
49
Motivación
"Conocer	detalles sobre	el	funcionamiento	de	las	diferentes	capas	de	un	
sistema nos	permite	tomar	mejores	decisiones	que	afectan	al	mismo"
Yo,	al	principio	de	esta	charla
50
¿Preguntas?
51

Más contenido relacionado

La actualidad más candente

Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSAlberto Gimeno
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRRodolfo Finochietti
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSLeonidas Esteban González
 
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDKGestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDKLuis Beltran
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...OpenExpoES
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
 
NodeJS
NodeJSNodeJS
NodeJSIBM
 
.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
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsDomingo Suarez Torres
 
Typo3: El CMS que vino del frío
Typo3: El CMS que vino del fríoTypo3: El CMS que vino del frío
Typo3: El CMS que vino del fríoOpenExpoES
 
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e IonicDesarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e IonicMicael Gallego
 

La actualidad más candente (20)

Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Azure IoT Hub
Azure IoT HubAzure IoT Hub
Azure IoT Hub
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Aplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalRAplicaciones Real-Time con SignalR
Aplicaciones Real-Time con SignalR
 
IoT y Dispositivos
IoT y DispositivosIoT y Dispositivos
IoT y Dispositivos
 
.NET Multiplataforma
.NET Multiplataforma .NET Multiplataforma
.NET Multiplataforma
 
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSSSácale todo el provecho a Stylus el mejor pre procesador de CSS
Sácale todo el provecho a Stylus el mejor pre procesador de CSS
 
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDKGestión de documentos Office desde nuestras apps .NET con Open XML SDK
Gestión de documentos Office desde nuestras apps .NET con Open XML SDK
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Introducción Nodejs
Introducción NodejsIntroducción Nodejs
Introducción Nodejs
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
NodeJS
NodeJSNodeJS
NodeJS
 
.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
 
Net love open source v1.7
Net love open source v1.7Net love open source v1.7
Net love open source v1.7
 
.NET Core
.NET Core.NET Core
.NET Core
 
Windows 10 Developer Readiness
Windows 10 Developer ReadinessWindows 10 Developer Readiness
Windows 10 Developer Readiness
 
SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Typo3: El CMS que vino del frío
Typo3: El CMS que vino del fríoTypo3: El CMS que vino del frío
Typo3: El CMS que vino del frío
 
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e IonicDesarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
 

Similar a Desarrollo Full Stack UAM.net

Desarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones WebDesarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones WebAndrés Max
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLCycle-IT
 
Inside Hitsbook por Javier Nievas - 3º Betabeers Granada
Inside Hitsbook por Javier Nievas - 3º Betabeers GranadaInside Hitsbook por Javier Nievas - 3º Betabeers Granada
Inside Hitsbook por Javier Nievas - 3º Betabeers GranadaJM Robles
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrolloJuan Ladetto
 
Desarrollo simple con Webmatrix
Desarrollo simple con WebmatrixDesarrollo simple con Webmatrix
Desarrollo simple con WebmatrixChristian Strevel
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAlberto Gimeno
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointRoberto Carlos
 
Streaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoStreaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoJose Antonio Arroba Gonzalez
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperValentin Leonard Tabacaru
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
 
La arquitectura de elibom.com
La arquitectura de elibom.comLa arquitectura de elibom.com
La arquitectura de elibom.comGerman Escobar
 
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Socialmetrix
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorAlberto Gimeno
 

Similar a Desarrollo Full Stack UAM.net (20)

Desarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones WebDesarrollo Ágil De Aplicaciones Web
Desarrollo Ágil De Aplicaciones Web
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
SGNext Elasticsearch
SGNext ElasticsearchSGNext Elasticsearch
SGNext Elasticsearch
 
Frameworks y administracion de contenidos
Frameworks y administracion de contenidosFrameworks y administracion de contenidos
Frameworks y administracion de contenidos
 
Shadows of the browser
Shadows of the browserShadows of the browser
Shadows of the browser
 
Inside Hitsbook por Javier Nievas - 3º Betabeers Granada
Inside Hitsbook por Javier Nievas - 3º Betabeers GranadaInside Hitsbook por Javier Nievas - 3º Betabeers Granada
Inside Hitsbook por Javier Nievas - 3º Betabeers Granada
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Desarrollo simple con Webmatrix
Desarrollo simple con WebmatrixDesarrollo simple con Webmatrix
Desarrollo simple con Webmatrix
 
Mongo Mapper
Mongo MapperMongo Mapper
Mongo Mapper
 
Aplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con RedisAplicaciones web altamente escalables con Redis
Aplicaciones web altamente escalables con Redis
 
Aplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share pointAplicaciones de linea de negocio con silverlight y share point
Aplicaciones de linea de negocio con silverlight y share point
 
Streaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendoStreaming data, datos que entran por los que van saliendo
Streaming data, datos que entran por los que van saliendo
 
Desayuno de arquitectos: Big data en azure
Desayuno de arquitectos: Big data en azureDesayuno de arquitectos: Big data en azure
Desayuno de arquitectos: Big data en azure
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Migración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL DeveloperMigración de Base de Datos con SQL Developer
Migración de Base de Datos con SQL Developer
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
 
Gestión de data y Storage en Azure
Gestión de data y Storage en AzureGestión de data y Storage en Azure
Gestión de data y Storage en Azure
 
La arquitectura de elibom.com
La arquitectura de elibom.comLa arquitectura de elibom.com
La arquitectura de elibom.com
 
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
Construyendo una Infraestructura de Big Data rentable y escalable (la evoluci...
 
Redis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valorRedis, base de datos NoSQL clave-valor
Redis, base de datos NoSQL clave-valor
 

Más de Roberto Luis Bisbé

DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIDotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIRoberto Luis Bisbé
 
Tres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraTres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraRoberto Luis Bisbé
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorRoberto Luis Bisbé
 
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Roberto Luis Bisbé
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneRoberto Luis Bisbé
 
Windows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaWindows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaRoberto Luis Bisbé
 
Windows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETWindows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETRoberto Luis Bisbé
 
Desarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMDesarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMRoberto Luis Bisbé
 
Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Roberto Luis Bisbé
 
Fundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesFundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesRoberto Luis Bisbé
 

Más de Roberto Luis Bisbé (16)

Scala desde c# y JavaScript
Scala desde c# y JavaScriptScala desde c# y JavaScript
Scala desde c# y JavaScript
 
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su APIDotNetSpain2015: Extendiendo Visual Studio Online a través de su API
DotNetSpain2015: Extendiendo Visual Studio Online a través de su API
 
Tres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carreraTres tecnologías Microsoft que no se dan en la carrera
Tres tecnologías Microsoft que no se dan en la carrera
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exterior
 
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8Creando aplicaciones móviles con Windows 8 y Windows Phone 8
Creando aplicaciones móviles con Windows 8 y Windows Phone 8
 
Windows phonesessions
Windows phonesessionsWindows phonesessions
Windows phonesessions
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows Phone
 
Windows 8 Universidad de Valencia
Windows 8 Universidad de ValenciaWindows 8 Universidad de Valencia
Windows 8 Universidad de Valencia
 
Los lenguajes de la web
Los lenguajes de la webLos lenguajes de la web
Los lenguajes de la web
 
Windows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NETWindows 8 y Metro para desarrolladores .NET
Windows 8 y Metro para desarrolladores .NET
 
Desarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPMDesarrollo Metro con Windows 8 UPM
Desarrollo Metro con Windows 8 UPM
 
Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8Aplicaciones Metro para Windows 8
Aplicaciones Metro para Windows 8
 
Hardcore PHP
Hardcore PHPHardcore PHP
Hardcore PHP
 
El patrón MVC
El patrón MVCEl patrón MVC
El patrón MVC
 
Social Media
Social MediaSocial Media
Social Media
 
Fundamentos de sitios web accesibles
Fundamentos de sitios web accesiblesFundamentos de sitios web accesibles
Fundamentos de sitios web accesibles
 

Último

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 

Último (7)

PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 

Desarrollo Full Stack UAM.net