O ASP
ASP é a sigla para Active Server Pages, é uma programação voltada para Web, concorrente do PHP. O ASP é uma linguagem da Microsoft e o PHP uma linguagem livre.
Com o ASP foi possivel criar site dinâmicos com aplicações em bancos de dados mas utilizar as aplicações do ASP não é tarefa simples, suas funções lembram linguagens antigas como C e C++.
Sendo assim a Microsoft percebeu isto e apresentou, junto com a plataforma .NET , a evolução para ASP : ASP.NET.
Algumas diferenças basicas:
Camada de Apresentação
ASP tradicional
- Não há separação entre o design da página e o código
- Não há suporte nativo para adaptação da aplicação de acordo com as capacidades do browser
- Código “espaguete”
- Gerenciamento de Sessão limitado
ASP.NET
- Separação clara entre o design da página e o código (code-behind)
- A página é montada de acordo com as capacidades do browser
- Sem código “espaguete”
- Gerenciamento de Sessão pode ser feito em um Servidor de Sessão ou de Banco de Dados
Modelo de Programação
ASP tradicional
- Modelo de scripts (interpretado)
- Processamento Top-Down
- Tratamento de erro limitado
- Sem suporte a XML/XSL
ASP.NET
- Compilado
- Programação baseada em eventos
- Tratamento de erros estruturado
- Suporte completo a XML, XSLT e Web Services
Características de Desenvolvimento
ASP tradicional
- Dificuldades para debugar
- Desempenho insatisfatório
- Dificuldades no deployment
- Sem segurança nativa
- Sem suporte a cache
ASP.NET
- IDE permite debugar desde a interface com o usuário até
- Stored Procedures no Banco de Dados
- Desempenho ótimo
- XCOPY deployment
- Acesso total ao modelo de segurança do Windows ou customizado
- Suporte completo a cache de páginas e de objetos
O ASP.NET
O ASP.NET é a evolução do ASP com funções e aplicações mais simples.
Algumas beneficios do ASP.NET
- Páginas ASP.NET são compiladas - Quando uma página ASP.NET é requisitada ela é compilada e vai para o cache do servidor ; são assim carregadas mais rápidas
- Páginas ASP.NET são construidas com controles de interface do lado do servidor : Controles de interface básicos (TextBox , Label , etc...) ; Controles de validação , Controles de Dados (DataGrid, etc..) , Controles mais complexos ( Calendários , ad rotator , etc..)
- ASP.NET é parte do .NET Framework - O .NET Framework torna disponível mais de 3000 classes que podem ser usadas para as aplicações ASP.NET . Classes para gerar imagens, enviar email, etc... Como a ASP.NET faz parte do .NET Framework todas essas classes podem ser usadas dentro de uma página ASP.NET
- ASP.NET é totalmente orientado a objeto
- Com o Visual Studio .NET o ambiente integrado permite criar uma página apenas arrastando e soltando os controles no formulário Web.
O ASP.NET traz o desenvolvimento das ferramentas RAD - Rapid Application Development - orientado a componentes para a WEB pois fornece : Web Forms , Web Controls e XML Web Services.
Veja um exemplo simples.
Código em ASP
<HTML>
<BODY>
<%
If Hour(Date) > 12 Then
Response.Write("Boa Tarde")
Else
Response.Write("Bom Dia")
End If
%>
<BR>São <%=Time%>
</BODY>
</HTML>
Código em ASP.NET
<%@ Page Language="VB" %>
<script language="VB" runat="server">
Sub Page_Load(Sender AS Object, E as EventArgs)
If Hour(Now) >= 12 Then
resposta.text= "Boa Tarde"
Else
resposta.text= "Boa Dia"
End If
resposta.text = resposta.text & "<br> São " & Now()
End Sub
</script>
<HTML>
<BODY>
<asp:label id="resposta" runat="server"/>
</BODY>
</HTML>
Embora o código ASP seja muito simples podemos identificar nele as mazelas do ASP:
- O código é executado linha por linha
- Temos misturado o código da página (HTML) e o da lógica da página.
- E dífícil reaproveitar o código ( embora , devido a simplicidade do mesmo isto não esteja tão evidente)
- O VBScript , a principal linguagem de script ASP, não diferencia os tipos de variáveis.
O mesmo código em ASP.NET já evidencia o que vem por ai:
- O código da lógica da página esta separado da interface
- O código esta estruturado e legível
- Logo na primeira linha temos novidades: A indicação de qual linguagem estamos usando. No caso VB , mas podemos usar : C# , VB , C++ , etc..
- Com ASP.NET temos a programação orientada a eventos
Referências
http://msdn.microsoft.com/asp.net/
http://www.asp.net