Quando a Microsoft introduziu o ASP.NET pela primeira vez em 2002, ele tinha um único
modelo de programação chamado Web Forms, que permitia aos desenvolvedores construir
rapidamente aplicativos da Web de forma familiar (para aqueles que criavam aplicativos com o Visual
Studio) e intuitivos. Na época, o modelo de formulários da Web foi um grande avanço. Embora, em
muitos aspectos, o modelo fosse uma caixa preta, definitivamente mudou o estado do
desenvolvimento da Web para a frente.
Os problemas inerentes que esta caixa preta produziu (baixa separação de interesses, testes
automatizados extremamente difíceis, controle mínimo nos controles do servidor, HTML, etc.) foram
criticados ao longo dos anos e isso abriu as portas para novos padrões e tecnologias de
desenvolvimento. Embora o MVC não seja um conceito novo, ele trouxe um novo sopro de vida ao
ASP.NET, juntamente com recursos que eram extremamente difíceis, se não impossíveis, no Web
Forms.
Este capítulo apresenta o ASP.NET em geral, o modelo de programação Web Forms, o modelo
ASP.NET Web Pages e o próprio ASP.NET MVC, incluindo o padrão MVC e o histórico, benefícios,
recursos e arquitetura da ASP.NET MVC 4.
O que é o ASP.NET?
Existem três tecnologias para criar aplicativos da Web no ASP.NET:
Analisaremos cada uma dessas três tecnologias nas seguintes seções, mas primeiro vamos
discutir a plataforma ASP.NET, ou seja, a tecnologia de substrato na qual todos os aplicativos ASP.NET
são executados.
O ASP.NET é uma plataforma Web que fornece todos os serviços necessários para criar
aplicativos da Web baseados em servidor de classe empresarial. O ASP.NET é criado no .NET
Framework, portanto, todos os recursos do .NET Framework estão disponíveis para aplicativos
ASP.NET. Seus aplicativos podem ser escritos em qualquer idioma que seja compatível com o
common language runtime (CLR), incluindo Visual Basic e C#.
Para criar aplicativos da Web ASP.NET, você pode usar o Visual Studio. As ferramentas e
opções do Visual Studio projetadas para criar aplicativos da Web são referidas coletivamente como
Visual Web Developer. Além disso, um produto autônomo gratuito - o Visual Web Developer Express
- está disponível e inclui o conjunto principal de recursos de design da Web do Visual Studio.
ASP.NET Web Forms
O ASP.NET Web Forms permite que você crie aplicativos da Web da mesma maneira que
criaria um aplicativo tradicional do Windows Forms. Isso significa que você tem uma interface baseada
em controle e os dois arquivos a seguir para cada página:
Um arquivo user interface de interface do usuário (UI): inclui a marcação e é onde você cria a
aparência da sua página e os controles que ela usará. Este arquivo tem a extensão .aspx.
Sempre que o ASP.NET processa uma página, a página passa por vários estágios, cada um dos
quais gera eventos diferentes para manipular o processamento da página e seus controles. Você
escreve código para manipular esses eventos e, assim, responde a várias ações relacionadas ao
processamento de uma página. Por exemplo, você pode escrever um código que é chamado quando
o usuário clica em um botão. Quando uma página é solicitada pela primeira vez, você geralmente
precisa inicializar dados e controles. No entanto, quando a página é postada de volta, você não precisa
executar esse código.
Um postback acontece quando um controle na página gera um evento que deve ser tratado
pelo servidor. Estado de exibição é a informação sobre o status do controle de página. Após cada
postback, o estado de exibição da página é modificado com os novos status de todos os controles da
página. Por padrão, o estado de exibição da página é armazenado em um campo oculto dentro de
cada página (consulte a Figura 1-1), e seu escopo e duração são limitados à página à qual ele pertence.
Para trabalhar efetivamente com Web Forms, é muito importante entender os eventos do
ciclo de vida da página e como eles são processados. A Tabela 1-1 lista esses eventos e o efeito que
eles têm na página e seus controles.