WebMatrix: a nova ferramenta de desenvolvimento de aplicações ASP.NET da Microsoft

Nesses 10 anos de existência do .NET Framework, o ASP.NET se consolidou como uma das mais importantes plataformas de desenvolvimento de aplicações web. Inicialmente concebido com um modelo de desenvolvimento muito próximo ao que era utilizado no desenvolvimento de aplicações desktop, cujo objetivo era facilitar a transição dos profissionais que estavam acostumados a desenvolver aplicações desktop mas nunca haviam programado para web, muita coisa mudou desde a versão 1.0. A cada nova versão, características mudaram e muitos recursos foram adicionados. Um novo modelo de desenvolvimento, o ASP.NET MVC, apareceu como alternativa ao modelo WebForms. Além disso, nesse meio tempo, vários paradigmas surgiram nas aplicações Web, como Ajax e RIA, que foram devidamente incorporados à plataforma ASP.NET.  Apesar desses novos recursos proporcionarem ganhos de produtividade na medida em que foram incorporados pelo ASP.NET, paradoxalmente, eles também adicionaram um certo nível de complexidade para os novatos, que estão sendo apresentados agora para o ASP.NET e que não acompanharam toda a evolução da plataforma. Apesar da abundância de informação e documentação sobre ASP.NET na Internet e em outros meios (revistas, livros, CDs de treinamento, etc) e ferramentas disponíveis para aprendizado, como a versão trial do Visual Studio 2010 ou então as versões Express do Visual Studio que são gratuitas, para alguém que está começando a aprender sobre desenvolvimento de aplicações web, é complicado saber por onde começar.

Se você acompanha esse blog regularmente, deve se lembrar que no último post que escrevi, comentei sobre algumas novidades do ASP.NET que foram anunciadas na semana passada. Relembrando, foram anunciados os seguintes produtos:

 

  • IIS Express: um servidor web gratuito, totalmente compatível com o IIS da versão server do Windows, e sem as limitações do Cassini, que é o servidor web que vem atualmente embutido no Visual Studio. A vantagem é que o desenvolvedor terá uma versão de servidor web muito mais próxima do que se encontra em ambientes reais de produção, sem a necessidade de se ter uma versão server do Windows para executá-lo, já que o IIS Express funcionará em qualquer versão de Windows a partir do XP, e será muito mais fácil de instalar e configurar;
  • SQL Server Compact Edition com suporte ao ASP.NET: um banco de dados leve, gratuito, baseado em arquivo e compatível com o SQL Server. Basta copiar o arquivo de banco de dados com extensão .sdf que o ASP.NET conseguirá acessá-lo, sem necessidade de instalação e/ou configuração;
  • Razor: é o codinome do novo view engine do ASP.NET e que será o padrão a partir do ASP.NET MVC 3, que está em desenvolvimento. O objetivo dele é simplificar a codificação das views do ASP.NET MVC, facilitando a geração de código HTML;

 

Se você prestou atenção, percebeu que todos os produtos acima possuem em comum o desejo de simplificar a vida dos desenvolvedores, seja no momento da codificação, seja na hora de se montar o ambiente de desenvolvimento. Dentro desse mesmo objetivo, de simplificação, hoje foi anunciada a versão beta do WebMatrix, que é uma nova IDE de desenvolvimento de aplicações web com ASP.NET, voltada para os inciantes que estão começando a dar seus primeiros passos no mundo do desenvolvimento web. O WebMatrix, além do editor de código, também integrará os produtos citados acima (IIS Express, SQL Server Compact Edition e Razor) e mais uma ferramenta de publicação, em um mesmo pacote, fornecendo de uma única vez tudo que um desenvolvedor iniciante precisa para começar a aprender ASP.NET, de maneira rápida e fácil.

WebMatrix

Vale ressaltar que, se você não é um iniciante e já utiliza o Visual Studio como ferramenta de desenvolvimento (seja a versão completa ou a Express), tanto o IIS Express, quanto o SQL Server Compact Edition e o Razor também estarão disponíveis para você através de uma atualização a ser lançada futuramente, ou seja, para utilizar qualquer uma dessas tecnologias não será obrigatório o uso do WebMatrix.

Quando um novo site é criado a partir do zero no WebMatrix, você logo percebe a diferença em relação a uma aplicação ASP.NET criada pelo Visual Studio. Para começar, existe uma nova extensão de arquivo, que varia de acordo com a linguagem utilizada: .cshtml (código C#) ou .vbhtml (código VB.NET) . Arquivos com essas extensões são chamados de ASP.NET Web Pages, que utilizam a nova sintaxe do Razor. Quando criado um arquivo desse tipo, inicialmente ele só contém código HTML, diferentemente de uma página ASP.NET tradicional (arquivo com extensão .aspx). Assim, por exemplo, nos arquivos que utilizam Razor, não existe a diretiva Page. Isso torna a página bem mais limpa. Nesse ponto, há uma semelhança muito grande com o que havia de simplicidade nas páginas ASP clássicas. Além disso, quando o site é criado, não há arquivo web.config.

Outra facilidade que o WebMatrix traz são alguns helpers, que permitem integração fácil com serviços como Twitter, Facebook, Google Analytics, geração de captchas, gráficos, etc. Esses helpers também estarão disponíveis futuramente para quem utiliza Visual Studio, ou seja, não é uma funcionalidade exclusiva do WebMatrix.

Concluindo, o WebMatrix é uma ferramenta voltada para o público iniciante, para aplicações de pequeno e médio porte, cujo objetivo é diminuir o atrito de quem está começando a conhecer o desenvolvimento para a plataforma web com ASP.NET, facilitando vários aspectos que uma pessoa nesse estágio de aprendizado, normalmente, ainda não tem condições de conhecer. Também vejo essa ferramenta como uma porta de entrada para profissionais de outras plataformas, principalmente PHP, pois o WebMatrix oferece um ambiente mais próximo daquele e evita que, em um primeiro momento, o profissional tenha que se familiarizar com conceitos exclusivos do ASP.NET. Além disso, a Microsoft está tento cuidado para que todo (ou pelo menos a maior parte do)  conhecimento adquirido no WebMatrix possa ser reaproveitado quando a pessoa decidir mudar para uma plataforma mais profissional, e nesse sentido, há uma tendência para que se opte pelo ASP.NET MVC.

Fiquem ligados no blog, pois pretendo abordar mais detalhes do WebMatrix nos próximos dias.

Obs: se você acompanha a evolução do .NET Framework desde o início, deve ter se lembrado que já existiu uma ferramenta da Microsoft chamada WebMatrix, também voltada para aplicações ASP.NET, muito semelhante a essa em seus objetivos. Isso foi antes das versões Express existirem. Apesar do mesmo nome, esse novo WebMatrix trata-se de uma ferramenta totalmente diferente. Parece que as opções de nomes para produtos estão acabando na Microsoft Wink.

Referências:

Site oficial do WebMatrix

Introducing WebMatrix

Microsoft WebMatrix in Context and Deploying your first site

 

Acessando a API do IIS 7

O Scott Guthrie, do time de produtos Web da Microsoft, escreveu um post bem interessante sobre as novidades do IIS 7, que é a versão do servidor Web da Microsoft que virá no Windows Vista e Windows Longhorn Server. Entre as principais características, destaco a utilização de arquivos no estilo do web.config para configurar o IIS, uma ferramenta gráfica de administração integrada do IIS e do ASP.NET e ferramentas de linhas de comando e APIs de configuração melhoradas. Veja em alguns exemplos de utilização da nova API como será fácil criar uma aplicação que consiga interagir com o IIS:

// criando um site na porta 8080
ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\\MySite");
iisManager.Update(); 

// parando um site
ServerManager iisManager = new ServerManager();
iisManager.Sites["NewSite"].Stop(); 

Os exemplos acima foram retirados do blog do Carlos, do time do IIS. 

Ricardo Oneda

Dica: Configurando o IIS para reconhecer aplicações ASP.NET

Quando o .NET Framework é instalado, são configurados mapeamentos entre as extensões de arquivos (.aspx, .ascx, etc) e o filtro ISAPI do ASP.NET para que o IIS - Internet Information Service, o servidor Web da Microsoft - execute corretamente este tipo de aplicação. Se no momento da instalação do .NET Framework o IIS não tiver sido instalado ou, se por algum motivo, o IIS tiver que ser reinstalado, esses mapeamentos não serão criados e ocorrerão problemas como mensagens de erro no momento da criação de uma nova aplicação ASP.NET no Visual Studio .NET ou a não visualização de controles (textbox, radio buttons, etc.) de páginas no browser.

Para resolver este problema, basta executar a ferramenta de linha de comando aspnet_regiis.exe, também conhecida como ASP.NET IIS Registration Tool. Abra uma janela de linha de comando, digite a linha abaixo e tecle ENTER:

"%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -i

onde:

  • %windir% é o diretório onde foi instalado o Windows;
  • version é o número da versão do .NET Framework instalado em seu computador;
  • -i é o argumento que indica à ferramenta que os mapeamentos para o IIS devem ser criados para a versão corrente do .NET Framework;

Para saber sobre as demais opções de parâmetros desta ferramenta, execute o seguinte comando:

"%windir%\Microsoft.NET\Framework\version\aspnet_regiis.exe" -?

Ricardo Oneda.