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.