SlideShare uma empresa Scribd logo
27ª Reunião Lisboa - 24/03/2012   http://netponto.org




   Uma Introdução à ASP.NET Web API
                                         Pedro Félix
Patrocinador "GOLD"
Pedro Félix
Professor no ISEL e membro do CCISEL
Docente no PROMPT - http://prompt.cc.isel.ipl.pt/
      Programa Avançado em Métodos de Programação e Tecnologia
Consultor independente
     Rupeal
     SAPO – Service Delivery Broker
Membro do Web API Advisory Board
Sumário
•   Enquadramento e objectivos
•   Modelo de programação
•   Arquitectura de processamento
•   Extensibilidade
ASP.NET Web API
•   Application Programming Interfaces
•   Expostas na Web
•   Usando o HTTP como protocolo aplicacional
•   Accessíveis por variados tipos de cliente
    – E.g. dispositivos móveis
ASP.NET Web API




  Fonte: http://blog.programmableweb.com/2012/02/06/5000-apis-facebook-google-and-twitter-are-changing-the-web/
ASP.NET Web API




           Fonte: http://www.hanselman.com/blog/VisualStudio11BetaInContext.aspx
ASP.NET Web API: Evolução
• 2010
  – WCF Web API - Extensão ao WCF
  – Preview 6
  – Modelo de classes para o HTTP
• Feveiro de 2012
  – ASP.NET Web Api Beta
  – Modelo baseado em controladores
  – Modelo de classes para o HTTP
  – Próximos milestones: RC, RTM
Bases arquitecturais da Web
• Identificação
  – URI
  http://netponto.org/reuniao/27a-reuniao-presencial-da-comunidade-netponto-em-lisboa/

• Interacção
  – HTTP, ...
• Representações e formatos
  – text/html, application/xml, application/json, imag
    e/png, audio/mpeg, application/atom+xml, …
Uma Introdução a ASP.NET Web API
Modelo de Programação
Distribuição - pacotes NuGet
Dependências

               System.Json


               System.Net.Http.*


               System.Web.Http.*
Modelo de programação
HttpConfiguration e HttpRoute

var config = new HttpSelfHostConfiguration("http://localhost:8080");

config.Routes.MapHttpRoute(
                "default",
                "{controller}/{id}",
                new {controller = "home", id = RouteParameter.Optional});


HttpServer, HttpSelfHostServer, ...

var server = new HttpSelfHostServer(config);
server.OpenAsync().Wait();
Modelo de programação
ApiController e actions
public class HomeController : ApiController
    {
        public HttpResponseMessage Get()
        {
        ...
        }
}
Modelo de programação
• Controller representa uma família de recursos
• Actions estão associadas a métodos HTTP
  – Get() - GET sobre /resource
  – Get(int id) - GET sobre /resource/123
  – Post(...) - POST sobre /resource/
• No MVC, as actions estão associadas a
  subconjuntos de recursos
  – Detail(int id) – GET sobre /resource/detail/123
  – Delete(int id) – POST sobre /resource/delete/123
Modelo de programação
ApiController
public abstract class ApiController : IHttpController, IDisposable
{
    public HttpConfiguration Configuration { get; set; }
    public HttpRequestMessage Request { get; set; }
    public UrlHelper Url { get; }
    ...
}


public interface IHttpController
{
    Task<HttpResponseMessage> ExecuteAsync(
        HttpControllerContext controllerContext,
        CancellationToken cancellationToken);
}
Modelo de programação
HttpRequestMessage e HttpResponseMessage

var userAgent = Request.Headers.UserAgent.Count != 0 ?
                Request.Headers.UserAgent.First().Product.Name
                : "stranger";

return new HttpResponseMessage()
    {
        Content = new StringContent("Hello there, "+userAgent)
    };
Modelo de programação
• HttpConfiguration
  – HttpRouteCollection
• HttpServer
  – HttpSelfHostServer, ...
• ApiController
  – Acções associadas a métodos HTTP (GET, POST, PUT, DELETE, ...)
• HttpRequestMessage e HttpResponseMessage
HTTP: modelo de classes
Handler: Request  Response
Handler Pipeline

HttpRequestMessage
                                          InnerHander
                      DelegatingHandler                 HttpMessageHandler

HttpResponseMessage
Handler Pipeline


        Handler    Handler




        Handler    Handler
HttpClient

Código-fonte disponível em:
https://github.com/pmhsfelix/presentation-netponto-webapi
HttpClient
HttpClient e handlers
HttpClient e handlers


                                  InnerHander
              DelegatingHandler
 HttpClient                                     HttpClientHandler
                (e.g. Caching)
Arquitectura de processamento
Web/ASP.NET Hosting
ASP.NET Web Hosting

Código-fonte disponível em:
https://github.com/pmhsfelix/presentation-netponto-webapi
Self-hosting
Memory hosting
var config = new HttpConfiguration();
config.Routes.MapHttpRoute(
  "default",
  "{controller}/{id}",
  new { controller = "home",
         id = RouteParameter.Optional });

var server = new HttpServer(config);
var client = new HttpClient(server);
var resp = client
   .GetAsync("http://does.not.matter/hello")
   .Result;
Media type formatting

media-type


                        CLR
                        Type




 Stream
Media Type Formatter

Código-fonte disponível em:
https://github.com/pmhsfelix/presentation-netponto-webapi
Arquitectura de processamento
Handler Pipeline


        Handler    Handler




        Handler    Handler
Message Handler

Código-fonte disponível em:
https://github.com/pmhsfelix/presentation-netponto-webapi
Arquitectura de processamento
Controller Factory

Código-fonte disponível em:
https://github.com/pmhsfelix/presentation-netponto-webapi
Filtros
WCF e ASP.NET Web API
• WCF
  – Baseado nos modelos do SOAP e do WSDL
  – Independência do transporte – HTTP é uma opção
  – HTTP é apenas uma opção de transporte
• ASP.NET Web API programming model
  – Baseado no modelo da Web (URIs, HTTP, formatos)
  – HTTP usado como protocolo aplicacional
MVC e Web API
• MVC
  – Ênfase na produção de HTML
  – Modelo antigo de classes para o HTTP – HttpContext
  – Actions
• Web API
  – Independência do formato
  – Novo modelo de classes para o HTTP
  – Métodos HTTP (GET, POST, PUT, ...)
• Não existe razão para a diferença!
Notas finais
• Relevância actual das Web API
• HTTP como protocolo aplicacional
• Múltiplos formatos
  – HTML é apenas mais um
• Modelo de classes para o HTTP no .NET 4.5
  – Cliente e servidor
  – Pedidos e respostas, handling, formatters
• Modelo no servidor baseado em controllers
E o ReST?
  Representational State Transfer
Referências
Pedro Félix’s shared memory
   – http://pfelix.wordpress.com/
Código fonte
   – https://github.com/pmhsfelix/presentation-netponto-webapi
   – https://github.com/pmhsfelix/WebApi.Explorations.ServiceBusRelayHost
GitHub WebApiContrib
   – https://github.com/webapicontrib


Getting Started with ASP.NET Web API
   – http://www.asp.net/web-api
Questões?
Próximas reuniões presenciais
• 24/03/2012 – Março
• 14/04/2012 – Abril (Porto)
• 21/04/2012 – Abril
• 26/05/2012 – Maio

Reserva estes dias na agenda! :)
Patrocinador "GOLD"
Obrigado!
Pedro Félix
pmhsfelix@gmail.com
http://pfelix.wordpress.com
http://twitter.com/pmhsfelix
http://github.com/pmhsfelix



http://prompt.cc.isel.ipl.pt/

Mais conteúdo relacionado

Destaque

Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
ETEC Monsenhor Antonio Magliano
 
Guia rápido de visual basic
Guia rápido de visual basicGuia rápido de visual basic
Guia rápido de visual basic
Jairo Merces
 
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
Leandro Daniel
 
Apostila Completa de Visual Basic
Apostila Completa de Visual BasicApostila Completa de Visual Basic
Apostila Completa de Visual Basic
Marcos Paulo
 
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
ETEC Monsenhor Antonio Magliano
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008
marcos0512
 
Asp.net e c#
Asp.net e c#Asp.net e c#
Asp.net e c#
Lindomar ...
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
Norton Guimarães
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
CDS
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
Mario Jorge Pereira
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
Geovani Ferreira Gonçalves
 
A Tributação do Comércio Electrónico
A Tributação do Comércio ElectrónicoA Tributação do Comércio Electrónico
A Tributação do Comércio Electrónico
JL Saldanha Sanches
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de Aplicativos
Felipe J. R. Vieira
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
audiclerio
 
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de NotasVisual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
ETEC Monsenhor Antonio Magliano
 
Tutorial proxy
Tutorial proxyTutorial proxy
Tutorial proxy
BibliotecaUfes
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
CLEAN LOURENÇO
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
Portal_do_Estudante_SD
 
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
Biblioteca FEAUSP
 
Banco de Dados no Visual Studio
Banco de Dados no Visual StudioBanco de Dados no Visual Studio
Banco de Dados no Visual Studio
Leonardo Lourenço Silva
 

Destaque (20)

Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
 
Guia rápido de visual basic
Guia rápido de visual basicGuia rápido de visual basic
Guia rápido de visual basic
 
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
Community Launch 2010 - Visual Studio 2010 (por Leandro Daniel)
 
Apostila Completa de Visual Basic
Apostila Completa de Visual BasicApostila Completa de Visual Basic
Apostila Completa de Visual Basic
 
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
 
Apostila de sql server 2008
Apostila de sql server 2008Apostila de sql server 2008
Apostila de sql server 2008
 
Asp.net e c#
Asp.net e c#Asp.net e c#
Asp.net e c#
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4Visual Studio 2010 e C# 4
Visual Studio 2010 e C# 4
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
A Tributação do Comércio Electrónico
A Tributação do Comércio ElectrónicoA Tributação do Comércio Electrónico
A Tributação do Comércio Electrónico
 
API - Interface de Programação de Aplicativos
API - Interface de Programação de AplicativosAPI - Interface de Programação de Aplicativos
API - Interface de Programação de Aplicativos
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de NotasVisual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
 
Tutorial proxy
Tutorial proxyTutorial proxy
Tutorial proxy
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
Biblioteca FEAUSP: tutorial bases de dados (maio 2015)
 
Banco de Dados no Visual Studio
Banco de Dados no Visual StudioBanco de Dados no Visual Studio
Banco de Dados no Visual Studio
 

Semelhante a Uma Introdução a ASP.NET Web API

Rest workshop
Rest workshopRest workshop
Rest workshop
Diogo Gomes
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
BrunoSouza617
 
Python 08
Python 08Python 08
Python 08
Bruno Catão
 
Programando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox juniorProgramando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox junior
ArtUP! Tecnologia em Comunicação
 
Phpmanual
PhpmanualPhpmanual
Php
PhpPhp
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
guestea329c
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
Alexandre Tarifa
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
RubenManhia
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
George Mendonça
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
Igor Takenami
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Arlindo Santos
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
Relsi Maron
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
Rodolfo Fadino Junior
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Renato Groff
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
Carlos Santos
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
Vivaldo Jose Breternitz
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
Rodrigo Cândido da Silva
 
CEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniterCEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniter
Eric Silva
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
Renato Groff
 

Semelhante a Uma Introdução a ASP.NET Web API (20)

Rest workshop
Rest workshopRest workshop
Rest workshop
 
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
Symfony Live - São Paulo 2019 - Como construir uma API em um passo com API Pl...
 
Python 08
Python 08Python 08
Python 08
 
Programando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox juniorProgramando para web com php my sql - fed cox junior
Programando para web com php my sql - fed cox junior
 
Phpmanual
PhpmanualPhpmanual
Phpmanual
 
Php
PhpPhp
Php
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
PHP 5.3 - Introdução
PHP 5.3 - IntroduçãoPHP 5.3 - Introdução
PHP 5.3 - Introdução
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
Desenvolvimento de APIs REST Multiplataforma com ASP.NET Core - Setembro-2019
 
(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript(A04 e A05) LabMM3 - JavaScript
(A04 e A05) LabMM3 - JavaScript
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
CEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniterCEPUG 2 - Bem-vindo a Framework CodeIgniter
CEPUG 2 - Bem-vindo a Framework CodeIgniter
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 

Mais de Comunidade NetPonto

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Comunidade NetPonto
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Comunidade NetPonto
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
Comunidade NetPonto
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Comunidade NetPonto
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
Comunidade NetPonto
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
Comunidade NetPonto
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
Comunidade NetPonto
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
Comunidade NetPonto
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
Comunidade NetPonto
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
Comunidade NetPonto
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
Comunidade NetPonto
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Comunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Comunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
Comunidade NetPonto
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
Comunidade NetPonto
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
Comunidade NetPonto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
Comunidade NetPonto
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
Comunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Comunidade NetPonto
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Comunidade NetPonto
 

Mais de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 

Uma Introdução a ASP.NET Web API