Fernando Amaral
Introdução ao .NET 2.0 e ASP.NET 2.0

 

Introdução ao .NET 2.0 e ASP.NET 2.0

Desenvolver aplicações nunca foi tão fácil. Ambientes RAD cada vez mais modernos e amigáveis tem tornado o trabalho dos arquitetos de software cada vez mais simples. Com o versão 2.0 do ASP.NET, conseguiu-se atingir níveis de produtividade nunca antes imaginados.

Este curso tem por objetivo introduzir o desenvolvedor no mundo do desenvolvimento de aplicações Web utilizando o ASP.NET 2.0. Não é um curso introdutório de lógica de programação.

Os exemplos ao longo do curso serão todos demonstrados em VB.NET e C#.

Blocos de código serão precedidos pelo ícone da linguagem utilizada:

para código em VB

para código em C#

Dicas ou truques estão representados pelo ícone

Exercícios práticos estão representados pelo ícone

O que é o Microsoft .NET FrameWork?

Tradicionalmente o desenvolvedor escreve Software para um sistema Operacional ou dispositivo especifico. Por exemplo, ao criar um programa no Delphi 7 ou no Visual Basic 6, ele esta criado um Software para rodar em Sistemas Operacionais Windows sobre a plataforma Intel.

Ao desenvolver um software para o .NET, o desenvolvedor ao invés disto esta fazendo um software para rodar em qualquer dispositivo ou plataforma que tenha o .NET Framework instalado.

Existem dezenas de linguagem que podem ser usadas para criar um programa .NET1, a Microsoft desenvolveu o VB.NET, uma versão Orientada a Objetos do clássico VB e o C#, que herdou sua sintaxe do C++. Outras empresas desenvolveram outras: COBOL, Delphi, Fortran etc. só para citar algumas. Você mesmo pode criar sua própria linguagem2. A escolha entre uma linguagem ou outra é apenas uma questão de sintaxe.

Isto é possível porque um programa escrito para .NET é compilado em uma linguagem intermediaria chamada MSIL (Microsoft Intermediate Language). Não importa qual linguagem em que você codificou, o resultado, em termos de performance, qualidade, tamanho dos binários etc. será o mesmo. O arquivo compilado em MSIL normalmente resulta um uma DLL, denominada assembly.

Quando o programa for executado pela primeira vez, entre em cena o JIT (Just In Time Compiler), que vai fazer uma nova compilação do programa, desta vez de acordo com as especificações do sistema operacional e do dispositivo em que o .NET Framework se encontra.

Desenvolver um sistema para o plataforma .NET, traz mais alugmas vantagens além de das ficaram óbvias nesta introdução. A mais importante é que o seu programa vai rodar em um ambiente protegido e especifico, sem ter que se preocupar com as especificações ou problemas do sistema operacinal. Toda a interação com este, como por exemplo, o gerencimento de memória, é feita pelo .NET.

ASP.NET

Nos ultimos anos surgiram fantásticas IDEs para desenvolvimento de aplicações Windows. Algumas permitiam que você abrisse uma tabela qualquer, permitindo ainda a sua edição, sem sequer escrever uma linha de código. Outras através de assistentes automatizavam tarefas poupando tempo e muitas dores de cabeça. Surgiram ainda diversas ferramentas que prometiam a criação de aplicativos inteiros sem a necessidade de escrever uma linha de código qualquer3.

Porem não podemos dizer o mesmo para as aplicações Web. Além algumas frustadas tentativas, não existiu nenhum ambiente de alta produtividade como existiam para aplicações convencionais. As linguagens, principalmente o ASP classico, semelhante ao Visual Basic, era limitada é sem os recusos de linguagens OO.

Ao planejar o .NET, a Microsoft vislumbrou um ambiente para aplicações Web onde se pudesse desenvolver aplicações no mesmo ambiente e com as mesmas facilidades de aplicações convencionais, utilizando a mesma linguagem.

O ASP.NET foi o primeiro ambiente que permitiu que se desenvolvessem aplicações convencionais ou para Web em uma mesma IDE, utilizando a mesma linguagem.

Promessa cumprida: O .NET 1.1 junto com o Visual Studio 2002 / 2003 proporcionou um ambiente para aplicações WEB, totalmente integrado, com as facilidades só antes vistas em ambientes de aplicações convencionais: WYSIWYG4, Drag and Drop5, Intellisense6, recursos de depuração avançados etc. Já era possivel exibir uma tabela numa aplicação WEB com duas linhas de código, e sem escrever uma Tag HTML sequer!

Normalmente você não precisa ser um profundo conhecedor de HTML para desenvover uma aplicação Web no VS 2005. Porém um conhecimento básico é recomandado: sempre há necessidade de algum ajuste manual.

ASP.NET 2.0

Não há duvidas que a plataforma .NET 1.1 e o ASP.NET 1.1 mudaram a maneira como as aplições Web são desenvolvidas. Porém a equipe de desenvolvimento da plataforma percebeu que muito ainda poderia ser feito, principalmente no que diz respeito a produtividade, e esse foi o objetivo principal da equipe de durante seu desenvolvimento. Como resultado, houve uma grande melhora an produtividade. Vejamos algumas das melhorias do ASP.NET 2.0 em relação ao seu antecessor:

•     Mais de 50 novos Server Controls7

•     Novas ferramentas adiminstrativas

•     Nova IDE do Visual Studio 2005

•     Site Navigation: Controles que facilitam a navegação em Web Sites

•     Master Pages: Agora é possível utilizar herança visual em aplicações Web, o que na versão 1.1 só era possivel com aplicações Windows Forms8.

•     Themes: Tornam mais facil o gerenciamento do visual de sua aplicação

•     Acesso a Dados: O ADO.NET embora extramente eficiente, era demasiadamente complexo. O Acesso a dados foi reformulado e simplificado.

•     Snippets: Partes de códigos especificas que podem ser armazenadas para utilização futura.

Estrutura de uma aplicação ASP.NET 2.0

Você já percebeu que muita coisa mudou entre o ASP.NET 1.1 e seu predecessor. Uma das grandes propagandas no lançamento da primeira versão do ASP.NET era o modelo code-behind, onde apresentação e código de servidor ficam armazenados em arquivos fisicamente separados, tornando o código mais limpo e intuitivo tanto para o designer quanto para o programador. Trabalhar com tudo em um único arquivo até era possível, porém desvantajoso.

No ASP.NET 2.0, embora o padrão seja um arquivo único, pode-se facilmente optar em trabalhar com arquivos separados, basta desmarcar a opção place code in separated file na caixa de dialogo de criação de um novo Web Form:

Este novo modelo é denominado code-inline. Se você optar por trabalhar com este modelo, seu código de servidor vai estar separado entre tags Script. O grande problema na versão 1.1 era que trabalhando com um único arquivo perdíamos alguns recursos poderosos de programação, como o Intellisense. Na versão 2.0 não há qualquer problema: tudo que funciona no modelo code-behind funciona também no code-inline.

Post-Back entre páginas

Até o.NET 1.1 um controle só poderia causar um post back para a própria página. Agora esta limitação acabou, através da propriedade PostBackUrl, presente no botão de comando e similares, que permite que seja executa um postback para outra pagina Asp. Este novo recurso é conhecido como Cross-Page Posting.

Agora é possível inclusive ler valores de controles ou propriedades de páginas que deram origem ao postback. Esta fantástica inovação do ASP.NET 2.0 permite tornar o código mais limpo, mas otimizado, além de reduzir a necessidade de utilização de variáveis de sessão, querystring e outros.

Pastas

Na versão 2.0 o ASP.NET uma aplicação Web deixou de ser orientada a projeto e passou a ser orientada a arquivos. Em conseqüência foram definidas uma série de pastas com funções especificas, vamos ver as principais:

App_Code: Para armazenamento de classes

App_data: Armazena fontes de dados

App_Themes: Armazena um tema. Estudaremos temas mais adiante.

App_LocalResources: Armazena arquivos de recursos

Arquivos

Nesta sessão vamos ver os principais tipos de arquivos que uma aplicação ASP.NET pode conter:

•     Web.config: è um arquivo contendo as configurações da aplicação, formatado com XML.

•     .aspx: arquivo contendo a apresentação de uma página.

•     .vb ou .cs: arquivo com código de servidor relacionado a uma página

•     Global.aspx: Arquivo contendo os eventos globais da aplicação.

•     .master: Arquivo contendo uma MasterPage.

•     .ascx: Arquivo contendo um WebUserControl

•     .css: Arquivo css

•     .resx: Arquivo de recursos

•     .sitemap: Arquivo contendo um mapa do site

•     .skin: Arquivo contendo um skin

1 Você não é obrigado a aprender JAVA!

2 Existem inclusive livros que ensinam como fazê-lo, como Build Your Own .NET Language and Compiler, de Edward G. Nilges (ISBN 1590591348)

3 Como o Miro, para Clipper, ou o GAS, para Delphi.

4 Acrônimo de "What You See Is What You Get", que significa algo como "O que você vê é o que você tem", significa a capacidade de um programa ter a mesma interface durante o seu desenvolvimento e sua execução.

5 Recurso de arrastar e soltar, presente em ambientes visuais.

6 Recurso criado pela Microsoft no Visual Studio, que sugere o complemento automático do código enquanto o desenvolvedor digita.

7 Segundo a própria Microsoft (eu particularmente não contei)

8 Os user controls (ascx), presentes na versão 1.1, não podem de forma alguma ser classificados como herança-visual.

Últimos artigos relacionados:
Refatoração (Refactoring) em Visual Studio 2008
Medindo a Performance de seu Código com Visual Studio Team System 2008
Code Snippets no Visual Studio 2008
Análise de Código com Visual Studio Team System 2008
.NET independente de plataforma? Uma introdução ao Mono