Com o lançamento do Visual Studio 2013, a Microsoft trouxe uma série de novidades para os desenvolvedores. Neste artigo vamos focar especificamente nos novos recursos voltados para o desenvolvimento de aplicações web. Para quem já está familiarizado com o ambiente e a plataforma, as mudanças vêm para melhorar ainda mais o processo de desenvolvimento e prover ainda mais liberdade para que o desenvolvedor possa escolher a melhor arquitetura para o seu projeto.
Já para quem está entrando nesse mundo, vindo de outras plataformas ou não, as novas bibliotecas e templates do Visual Studio deixam o entendimento da arquitetura muito mais rápido e prático, já que a Microsoft vem aderindo a ainda mais padrões de projeto de código-aberto e bibliotecas frequentemente utilizadas no mercado em geral.
Como em outros lançamentos, a Microsoft trouxe para o desenvolvedor uma opção de ferramenta gratuita. As chamadas versões Express podem ser baixadas diretamente do site do Visual Studio, e são separadas por tecnologia: enquanto o Visual Studio completo pode ser utilizado para desenvolver aplicações para a Web, Windows e Mobile, as versões Express são limitadas para cada plataforma.
Há uma versão somente para o desenvolvimento de aplicações web, outra voltada para desktop, e uma terceira utilizada para criação de aplicativos mobile. Sendo assim, nesse artigo iremos utilizar o Visual Studio Express for Web. O download desta ferramenta pode ser realizado através do site do Visual Studio (veja o endereço na seção Links).
Com o ambiente preparado e o Visual Studio Express instalado, é hora de conhecer e entender as mudanças e novas ferramentas que essa nova versão traz para o desenvolvimento de aplicações web.
Template One ASP.NET
Nas versões anteriores do Visual Studio, era necessário escolher a tecnologia antes de criar um projeto web. Deste modo, o programador precisava escolher entre os templates de projeto ASP.NET MVC ou Web Forms para implementar sua aplicação, e a partir daí só era possível usar a tecnologia selecionada durante a criação do projeto.
Com o novo template, chamado One ASP.NET, é possível escolher qual ou quais tecnologias estarão presentes no seu projeto. Essa mudança é muito bem-vinda, pois dá ao desenvolvedor uma liberdade maior para escolher em quais cenários cada tecnologia se encaixa melhor.
Por exemplo, é possível criar um site em ASP.NET, mas também ter uma camada de Web API para que a aplicação possa se comunicar com um dispositivo móvel. Ademais, também é possível, nesse mesmo site, ter uma camada em ASP.NET MVC, caso o desenvolvedor sinta necessidade.
Novidades na autorização com o ASP.NET Identity
Outro ponto importante na criação da aplicação é o modo de autenticação dos usuários. Nas versões anteriores os templates web para internet já vinham pré-configurados com o antigo modelo de Login do ASP.NET, e um banco de dados local para armazenar estas informações. Na versão intranet do template web, a configuração já vinha pronta para utilização em conjunto com o Active Directory e contas de usuários do Windows.
Com o template One ASP.NET, é possível configurar a autenticação de um site com serviços de terceiros, como Google, Facebook, Twitter ou a própria Microsoft Accounts (a mesma usada para o Outlook.com, XBOX Live, etc.). Esses modelos de autenticação já vêm pré-configurados e com códigos prontos, porém comentados. Dessa maneira o desenvolvedor pode habilitar um ou mais meios de autenticação para a sua aplicação, e com muito pouco código.
Além disso, o modelo de Intranet continua existindo, assim como o login do ASP.NET. Outra novidade ainda falando do ASP.NET Identity é a possibilidade de utilizar a autenticação de terceiros e complementar os dados do usuário com o login do ASP.NET.
Por exemplo, o desenvolvedor pode habilitar o login com o Google e o Facebook, mas também pode precisar dos dados de endereço do usuário, que não se encontram nesses provedores de autenticação. Vamos mostrar um exemplo disso mais a frente.
Outra possibilidade na autenticação é utilizar serviços organizacionais internos ou de terceiros nos moldes do Windows Identity Foundation (WIF) e Single Sign On (SSO), ver Box 1.
O WIF (Windows Identity Foundation) é uma biblioteca disponibilizada pela Microsoft que ajuda o desenvolvedor a criar/consumir uma aplicação de autenticação e autorização baseada em reivindicações (Claims-based Authentication). É como se a parte de autenticação e autorização de um site estivesse separada do site em si, e fosse um serviço a parte.
O conceito é o mesmo utilizado em serviços de uma empresa que utilizam o mesmo login. Como exemplo podemos citar os serviços YouTube e Gmail. O usuário pode utilizar a mesma conta para acessar os dois serviços, e quando o botão de login é chamado, o navegador é redirecionado para outro site, que é o responsável por autenticar e autorizar o usuário. Após esse processo, o navegador volta para a página do serviço inicial, e o usuário está logado.
Para o processo de login nesses diversos sites existe um único serviço, responsável somente por autenticações e autorizações. Este serviço é chamado de SSO (Single Sign On), e quer dizer que o usuário precisa se logar somente uma vez para acessar todos os serviços disponibilizados. Este conceito pode ser aplicado em casos onde há a necessidade de se disponibilizar uma série de serviços separados em um portal e o login do usuário deve ser sempre o mesmo. No entanto, as possiblidades vão muito além e não se restringem somente a este cenário.
Bootstrap como biblioteca CSS
Essa é uma novidade que era aguardada por grande parte dos desenvolvedores web que trabalham com ASP.NET MVC. Isso porque a Microsoft já vinha trazendo padrões de mercado para os seus templates web (como jQuery, validações com jQuery.Validation, entre outros), mas ainda utilizava seu próprio padrão para HTML e CSS.
Com a inclusão da biblioteca Bootstrap no template web, essa lacuna foi preenchida, e agora o ponto de partida de uma aplicação web está completamente adaptado aos padrões utilizados no mercado.
O Bootstrap é uma biblioteca criada pelo Twit ...