Como é do conhecimento de todos que estão habituados com o desenvolvimento na plataforma .NET, A Microsoft vem trabalhando continuamente na evolução do Visual Studio e, em especial, da tecnologia ASP.NET. Focando em pontos como produtividade, interoperabilidade e o suporte aos mais variados ambientes (desktop, Web, dispositivos móveis e cloud), diversos lançamentos foram anunciados a partir de Maio deste ano (2014):

  • ASP.NET vNext: nova versão de avaliação da tecnologia ASP.NET disponibilizada em Maio/2014. Conta com otimizações que visam garantir o máximo de eficiência seja em cenários convencionais (como servidores IIS em máquinas Windows) ou ainda, em ambientes de cloud computing (como no caso de soluções hospedadas a partir do Windows Azure);
  • Visual Studio "14": nova versão da IDE de desenvolvimento da Microsoft, com o primeiro release (CTP 1) tendo sido disponibilizado no início de Julho/2014. O nome "14" é uma identificação provisória; um novo release chamado “CTP 3” foi lançado recentemente (Agosto/2014);
  • Visual Studio 2013 Update 3: mais um release disponibilizado nos primeiros dias de Agosto/2014. Esta é a mais recente atualização para a versão corrente do Visual Studio.

ASP.NET vNext

O ASP.NET vNext pode ser considerado, do ponto de vista arquitetural, uma versão remodelada da plataforma ASP.NET. Com forte ênfase na construção de aplicações voltadas a ambientes de cloud computing, este novo release da tecnologia para desenvolvimento Web da Microsoft traz não apenas novidades, como também procurou preencher lacunas apontadas por profissionais com longa experiência em soluções .NET.

Esta seção tem por objetivo discutir as principais características do ASP.NET vNext, com tais detalhes sendo descritos nos parágrafos seguintes.

Um dos primeiros aspectos a ser destacado foi a definição de um modelo de programação unificado para a construção de Web sites e serviços. Foram colocados lado a lado mecanismos como ASP.NET MVC, ASP.NET Web Forms e Web API, com este agrupamento de tecnologias sendo chamado de “MVC 6”.

Deve-se ressaltar ainda que este novo modelo de programação para a Web (MVC 6) não depende mais de recursos declarados no namespace System.Web. A remoção de um namespace tão pesado foi encarada por muitos desenvolvedores como um avanço. Em virtude das inúmeras dependências existentes dentro do namespace System.Web, objetos pesados como HttpContext consumiam porções significativas de memória a cada requisição HTTP endereçada a uma aplicação (por mais simples que estas últimas fossem).

Diferentemente do que aconteceu até o .NET Framework 4.5.1, o processo de build de um projeto não mais irá gerar arquivos binários (Figura 1). Ao se executar esta tarefa, apenas serão apontados erros de sintaxe ou alertas. A compilação propriamente dita acontece sob demanda, fato este que permite modificações no código de um projeto sem a necessidade de se recompilar completamente o mesmo. Tal característica é possível graças à nova plataforma de compilação adotada pela Microsoft (projeto Roslyn).

Conteúdo da pasta
    Debug em um projeto ASP.NET vNext

Figura 1. Conteúdo da pasta Debug em um projeto ASP.NET vNext

As bibliotecas manipuladas sob a forma de arquivos .dll em projetos do ASP.NET vNext foram substituídas por packages do utilitário NuGet (arquivos com a extensão .nupkg). Esta forte ênfase no uso de pacotes permite inclusive que se inclua toda uma versão do .NET Framework no conjunto de arquivos gerados para o deploy de uma solução: na prática, isto possibilita ao desenvolvedor optar por uma versão convencional do .NET Framework para o processo de deploy ou, até mesmo, pelos pacotes que integram o projeto Mono. Na Figura 2 é possível observar pacotes gerados para o deploy de um projeto ASP.NET vNext.

Exemplo de
    arquivos gerados para o deploy de um projeto ASP.NET vNext

Figura 2. Exemplo de arquivos gerados para o deploy de um projeto ASP.NET vNext

Soluções construídas com o ASP.NET vNext também poderão ser implantadas fazendo uso de um framework mais leve, projetado especificamente para ambientes de cloud computing: trata-se do “Cloud Optimized Framework”. É necessário frisar que este mecanismo abre mão de alguns recursos do .NET Framework, a fim de possibilitar com tal estratégia uma maior performance durante a execução de uma aplicação.

Muito embora o projeto Mono seja uma iniciativa independente, a Microsoft assumiu o compromisso de garantir a compatibilidade do ASP.NET vNext com este ambiente. Além disso, está previsto o suporte para a execução do ASP.NET vNext em ambientes como Mac e Linux.

Por fim, é digno de nota ainda o fato de que o ASP.NET vNext foi disponibilizado como um projeto open-source. Mantido pela .NET Foundation, a tendência é que a participação da comunidade técnica aumente com o decorrer do tempo no tocante a decisões envolvendo os rumos desta tecnologia.

Visual Studio "14"

Logo após o lançamento do ASP.NET vNext, outra grande novidade voltada ao mundo .NET seria anunciada no início de Junho/2014: trata-se do Visual Studio "14" CTP.

Disponibilizado gratuitamente para testes, este novo release da IDE de desenvolvimento da Microsoft traz como destaques:

  • Mudanças no processo de compilação de aplicações. Os compiladores de código C# e VB.NET foram reestruturados, tomando como base o projeto conhecido como .NET Compiler Plataform (ou simplesmente "Roslyn"). Concebido ainda em 2011, o projeto Roslyn é uma iniciativa open-source da Microsoft que oferece um conjunto completo de ferramentas voltadas à compilação e à análise de código para soluções criadas em C# ou VB.NET. Um dos benefícios diretos em se adotar este mecanismo foi justamente a possibilidade de se alterar o código de uma classe escrita em C# ou VB a partir do Visual Studio, sem que isto implique na obrigatoriedade de iniciar novamente a depuração da aplicação (algo já comentado anteriormente neste post e que contribui, sem sombra de dúvidas, para um desenvolvimento mais produtivo);
  • A possibilidade de desenvolvimento com base nos novos recursos do ASP.NET vNext (existem inclusive templates para a criação de projetos nesta plataforma, conforme indicado na Figura 3);
  • Suporte ao Apache Cordova. Englobando um conjunto de ferramentas concebidas com o intuito de facilitar o acesso a funcionalidades diversas de um dispositivo móvel (como a câmera de um telefone celular), o projeto Cordova é uma iniciativa open-source da Fundação Apache compatível com plataformas como Windows Phone, Android, BlackBerry e iOS. Importante destacar que esta portabilidade é possível graças ao uso de recursos como JavaScript, HTML, CSS e jQuery Mobile;
  • Melhorias no suporte à linguagem C++.

Uma terceira versão do Visual Studio "14" (CTP 3) foi anunciada em 18/08/2014, já estando disponível para download a partir de um dos endereços mencionados na seção Links.

Templates do
    ASP.NET vNext 14

Figura 3.Templates do ASP.NET vNext "14"

OBSERVAÇÕES IMPORTANTES:

  1. Embora esteja prevista a coexistência futura com outras versões do .NET Framework e do Visual Studio em um mesmo computador, a própria Microsoft recomenda que o Visual Studio "14" seja instalado em um ambiente separado (como uma máquina virtual, por exemplo). Em termos práticos, isto implica na instalação desta IDE em um local (computador ou máquina virtual) que não conte com nenhuma versão anterior da plataforma .NET ou do Visual Studio.
  2. Quanto à possibilidade de modificar uma aplicação sem recompilar a mesma, existem ainda no Visual Studio "14" algumas restrições no que se refere a este tipo de comportamento. O uso de tal prática funciona no momento apenas para aplicações executadas a partir da opção “Start Without Debugging”, no menu Debug do Visual Studio.

Visual Studio 2013 Update 3

Quanto ao Visual Studio 2013, podem ser mencionados como destaques do release chamado de “Update 3”:

  • Melhorias na edição de código nos formatos JSON e CSS;
  • A possibilidade de desenvolvimento de projetos ASP.NET empregando o recurso de Active Directory do Windows Azure como mecanismo de autenticação;
  • Aplicações console podem ser publicadas em Web sites da plataforma Azure sob a forma de WebJobs (serviços de execução contínua ou não, com execução programada dentro de um ambiente no Windows Azure);
  • Suporte às versões mais recentes dos frameworks para desenvolvimento Web na plataforma .NET (ASP.NET MVC 5.2, ASP.NET Web API 2.2, ASP.NET Web Pages 3.2, ASP.NET Identity 2.1) e do Entity Framework (6.1.1).

Uma lista completa de todos os recursos incorporados ao Update 3 do Visual Studio pode ser encontrada na seção de Links, a qual está localizada ao final deste artigo.

Procuramos descrever neste artigo algumas das novidades que vêm ganhando destaque nos últimos tempos dentro da plataforma .NET. Ainda não há uma data prevista para o lançamento do ASP.NET vNext e do Visual Studio "14" como versões oficiais. No entanto, tais produtos encontram-se disponíveis para avaliação, numa iniciativa que tem por objetivo contribuir para que o maior número possível de desenvolvedores se familiarize com as novidades que estão por vir.

Por outro lado, o Visual Studio 2013 continua a evoluir, com um novo release que trouxe melhoramentos a recursos já em uso por muitos profissionais.

Espero que o conteúdo aqui abordado possa ser útil a vocês.

Até uma próxima oportunidade!

Links

Announcing new Web Features in Visual Studio 2013 Update 3 RTM:http://blogs.msdn.com/b/webdev/archive/2014/08/04/announcing-new-web-features-in-visual-studio-2013-update-3-rtm.aspx

Apache Cordova:http://cordova.apache.org/

.NET Compiler Platform ("Roslyn"):https://learn.microsoft.com/pt-br/dotnet/csharp/roslyn-sdk/

The Next Generation of .NET – ASP.NET vNext:http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx

Visual Studio "14" CTPs:http://www.visualstudio.com/en-us/downloads/visual-studio-14-ctp-vs