Muitas vezes escutei vários programadores dizendo: “Você programa para Web? O que você utiliza, ASP.NET ou C#? Você possui um servidor ASP.NET?”. Esse post tem como objetivo explicar o que é realmente ASP.NET e também falar um pouco sobre Web forms e MVC.
O que é ASP.NET?
ASP.NET é a plataforma da Microsoft para o desenvolvimento de aplicações Web que através de uma linguagem de programação integrada no Framework .NET permite criar páginas dinâmicas.
Então chegamos a conclusão de que o ASP.NET não é uma linguagem de programação como C# e também não é um servidor web como IIS ou Apache.
O que preciso para criar um site que utiliza a plataforma ASP.NET?
As aplicações Web ASP.NET necessitam do Framework.NET e do servidor IIS (Servidor web) para serem executas na plataforma Windows. Existe também o projeto mod_aspdotnet, módulo que permite o servidor Apache HTTP Server trabalhar em conjunto com o Framework.NET e rodar aplicações ASP.NET na plataforma Windows.
O ASP.NET é compilado ou interpretado?
As aplicações ASP.NET são compiladas antes da execução, não precisando ser compiladas todas as vezes que são executadas, em vez disso o código “IL” é criado uma vez e atualizado apenas quando o source code é alterado. Os ficheiros ficam em cache no servidor na diretório “c:\windows\microsoft.net\framework\[versão]\temporary asp.net files”.
E o que é IL?
IL é uma linguagem intermediária gerada pelos compiladores para rodar em uma plataforma que é uma espécie de máquina virtual que simula um processador. O nome oficial é Common Intermediate Language, ou CIL, e alguns gostam de chamar de MSIL por ter sido criado pela Microsoft.
Posso utilizar código de outros projetos?
Uma aplicação para web desenvolvida em ASP.NET pode reutilizar código de qualquer outro projeto escrito para a plataforma .NET, mesmo que em linguagem diferente. Uma página ASP.NET escrita em VB.NET pode chamar componentes escritos em C# ou Web Services escritos em C++, por exemplo.
O que é WEB Forms?
As páginas ASP.NET ( conhecidas como Web Forms) são uma parte vital de uma aplicação ASP.NET, pois providenciam o output para o browser depois de o cliente ter feito o “Request”.
Este conceito foi criado para facilitar a migração de programadores das tecnologias de cliente (Windows Forms) para a Web, usando as mesmas facilidades do interface windows, como arrastar botões.
Uma página ASP.NET é:
- Ígual a uma página HTML
- Pode conter HTML, XML e scripts
- Os scripts são executados no Servidor
- Tem a extensão “aspx”
- Todos os controlos têm de estar contidos dentro de um “<form>”
- A “<form>” tem de conter uma tag “runat=server”
- O atributo “runat=server”, este atributo significa que a form deve ser processada no lado do servidor. Também indica que os controles incluídos neste form estão acessíveis do lado do script.
O que é ASP.NET MVC?
O ASP.NET MVC é um padrão de arquitetura que provê uma alternativa ao ASP.NET Web Forms, para criação de aplicações Web baseadas no MVC (Model View Controller). O Framework MVC é definido pelo namespace System.Web.Mvc. O ASP.NET MVC é um padrão que muitos desenvolvedores estão acostumados, de separar em camadas o modelo, a visualização e os controles. Algumas aplicações Web vão se beneficiar do framework MVC, enquanto outras continuarão a usar o padrão tradicional ASP.NET, que é baseado em Web Forms e postbacks. Nenhuma abordagem, seja MVC ou Web Forms, exclui a outra, podendo inclusive serem utilizadas ao mesmo tempo.
Recursos do MVC:
- Separação das tarefas da aplicação (Entrada lógica, lógica de negócio e a lógica de Interface);
- Um framework extensível e conectável. Os componentes do MVC são projetados, sendo assim facilmente substituídos ou customizados. Você pode plugá-lo à sua política de roteamento de URL (URL Routing), conectá-lo a sua própria engine de visualização e outros componentes.
- Um componente poderoso de URL-mapping, que lhe permite criar aplicativo com URLs compreensíveis e que sejam de fácil localização por buscadores. Além de poder utilizar um padrão para nomeação de URLs, reforçando a ideia de localização otimizada (SEO – Search Engine Optimization).
- Suporte a recursos existentes do ASP.NET. O MVC permite a utilização de recursos como autenticação de formulários e Windows Authentication, autorização URL (URL Authorization), data caching, gerenciamento de estado de sessão e perfil, o sistema de configuração e a arquitetura de provider.
Fonte: