Desenvolvimento - ASP

Migrando de ASP para ASP.NET - mais uma visão

Neste artigo procuro esclarer algumas dúvidas que os programadores ASP apresentam quando se deparam com o ASP.NET.

por Daniel Andrade



Com a chegada do ASP.NET, programadores ASP vêm sentindo dificuldades na hora de migrar, muitos ainda estranham o novo conceito de Code Behind que vem de uma vez por todas separar o código do html.

Muitos se questionam se a migração vale a pena. É claro que sim ! O ASP.Net traz consigo uma nova maneira de desenvolver aplicações Web. Muito facilitado pela nova e poderosa ferramenta de desenvolvimento: Microsoft Visual Studio.Net

Abaixo procuro esclarer algumas dúvidas que os programadores ASP apresentam quando se deparam com o ASP.NET.Seguem também um exemplo comparativo e um exemplo prático do ASP.NET. Nos próximos artigos nos aprofundaremos mais nas semalhanças, diferenças e compatibilidades do ASP com o ASP.NET

1. ALGUMAS CARACTERÍSTICAS DO ASP.NET

1.1 INTERFACE DE DESENVOLVIMENTO VISUAL: Com os Web Forms, desenvolve-se páginas ASP.NET de modo muito semelhante ao desenvolvimento de aplicativos desktop, arrastando componentes, definindo propriedades e escrevendo código para eventos.

1.2 MELHOR DESEMPENHO: As páginas ASP.NET são compiladas para código nativo just-in-time (JIT) da Commom Language Runtime, do mesmo modo que aplicativos .NET para desktop, assim elas podem se aproveitar da plataforma .NET Framework e runtime, e ainda oferecem melhor desempenho em relação às páginas desenvolvidas em ASP e em outras plataformas de desenvolvimento Web.

1.3 CONFIGURÇÕES DE AMBIENTE BASEADO EM XML: Cada aplicação ASP.NET possui seu próprio arquivo de configuração de ambiente baseado em XML. Esses arquivos podem ser lidos e alterados, e pode-se estender seu esquema de configuração para atender necessidades específicas.

1.4 ADO.NET: Com o novo ADO.NET, pode-se desenvolver aplicativos que acessam banco de dados de modo mais fácil e versátil.

1.5 COMPATIBILIDADE COM O ASP ORIGINAL :O ASP.NET é totalmente compatível com as versões anteriores do ASP. Teoricamente, somente é necessário mudar a extensão dos arquivos .asp para .aspx para migrar os projetos ASP para ASP.NET. Também é possível acrescentar funcionalidades do ASP.NET em aplicativos ASP

1.6 TOTALMENTE ORIENTADO A OBJETO

2. PEQUENO FAQ SOBRE ASP.NET:

2.1 Minha aplicação ASP existente irá parar se eu instalar o SDK e utilizar o ASP.NET?

Não, aplicações ASP.NET podem rodar lado-a-lado com aplicações ASP existentes.
As extensões utilizadas pelo ASP(.asp, .asa) e as utilizadas pelo ASP.NET(.aspx, .asax, .ascx, .asmx, etc.) são completamente distintas e não podem anular umas as outras. Além disso, uma extensão ISAPI controla o processo das aplicações ASP.NET.
Embora aplicações Asp e Asp.Net possam rodar lado-a-lado, até dentro do mesmo diretório, elas não compartilham informações de aplicação. Por exemplo, atribuições feitas dentro do global.asa não serão aplicadas para aplicações ASP.NET; atribuições feitas no global.asax não serão aplicadas em aplicações ASP. Semelhantemente, informações de estados de Aplicação e de seção não são compartilhadas. Dados de seção adicionados para usuários em uma aplicação ASP.NET não estarão disponíveis para o mesmo usuário em uma aplicação ASP a menos que seja recriada.

2.2 É pré-requisito o Visual Studio ou outra ferramenta para a criação de páginas ASP.NET?

Não. Embora o Visual Studio.Net possibilite o melhor ambiente de design, codificação, e de depuração, ele não é necessário para a construção de aplicações ASP.NET. ASP.Net segue o mesmo princípio de design do ASP: Qualquer editor de texto pode ser utilizado. Quando uma página ASP.NET é acessada pela primeira vez, ela é compilada automaticamente, e chamadas futuras irão acessar o recurso compilado.

2.3 O ASP.NET roda sobre o Windows 95, Windows 98 e Windows ME?

Não. Sua aplicação ASP.NET deve rodar sobre um Web Server, ou o Windows 2000 ou o Windows XP (com o IIS instalado) ou o Windows Server 2003.

2.4 ONDE HOSPEDAR MINHA APLICAÇÃO ASP.NET?

Para fins de aprendizado aconselho o Brinkster , que oferece 30mb mas peca na falta de ftp.Para uma hospedagem profissional a melhor opção é a Southwern que é parceira do grupo .Net Raptors.

3. CODEBEHIND

Os arquivos criados em ASP.NET possuem a extensão .aspx . Você pode usar qualquer editor de texto para digitar o código de uma página ASP.NET.

No ASP tinhamos o código que era executado dentro das tags <% ... %> que atualmente não é mais compilado e seu uso não aconselhado, pois evita a mescla de código de servidor juntamente com o código HTML.

Uma das grandes inovações é o CodeBehind . Com ele é possível separarmos o código da programação do código HTML. O CodeBehind (neste artigo escrito em VB.Net) ao compilar o aplicativo esse código é "encapsulado" dentro da DLL, sendo necessário apenas o envio do arquivo ASPX para o servidor de produção. Ao criar um novo WebForm no Visual Studio .NET, são criados dois arquivos: o arquivo Arquivo.aspx (arquivo que contém o código HTML) e o Arquivo.aspx.vb (arquivo de código propriamente dito).
Nota: A extensão do arquivo de CodeBehind vai depender da linguagem escolhida pelo desenvolvedor. Para VB.Net temos .aspx.vb, C# temos .aspx.cs.

Estrutura CodeBehind

4. RETARDO NA EXECUÇÃO DO APLICATIVO

Muitos de vocês com certeza já perceberam que a primeira vez que a página ASPX é executada ela sofre um pequeno retardo. Isto se deve à compilação do código. Nas vezes subsequentes, esta etapa não ocorre deixando a execução do aplicativo muito mais rápida. Como isto ocorre? Ao receber a solicitação de uma página, a mesma é compilada (caso seja a primeira vez), trata os eventos da Página e de seus controles, executa o código referente à esses eventos e finalmente gera o código HTML e envia ao browser. A imagem abaixo ilustra o processo.



5. EXEMPLO COMPARATIVO (Acesso a BD SQL Server)

No ASP clássico temos:


Agora no ASP.NET:

6. EXEMPLO PRÁTICO (Conectando a um XML Simples)

Supondo que você já tenha um arquivo XML vamos ver como exibi-lo utilizando um Datagrid. Abra o VS.Net e crie um novo Datagrid a partir da coluna Toolbox. Note que você pode personalizar este Datagrid na coluna Properties.

Agora clique com o 2º botão do mouse e aponte para View Code. Na página de codigo (Codebehind) Importe os seguintes namespaces da seguinte forma:

Imports System.Data
Imports System.XML

digite o código como mostrado na imagem abaixo.

Sub Page_Load()
Dim xmlfilename as String
xmlfilename = "c:\inetpub\wwwroot\artigo.xml" "Caminho local onde se encontra o XML.
dim newdataset as new Dataset
newdataset.readxml(xmlfilename)
datagrid1.datasource = newdataset
datagrid1.databind()
End Sub

Feito isto salve a solução e carregue com o Internet Explorer.

7. CONCLUSÃO

Como você pôde perceber o ASP.NET nos fornece uma facilidade enorme no desenvolvimento.Uma migração é muito aconselhável. Caso sua aplicação seja muito grande ela pode ser migrada em etapas, uma vez que uma aplicação ASP chama uma ASP.NET e vice-versa

Daniel Andrade

Daniel Andrade - Graduando em Ciências da Computação pela Universidade FUMEC de Belo Horizonte.
Líder do grupo DotNetRaptors (grupo de usuários .NET de Belo Horizonte)
Atua exclusivamente com a plataforma .NET
Desenvolvedor Web autônomo.NET (VB.Net e C#)