Desenvolvimento - ASP. NET

Curso ASP.NET 3.5 em VB.NET e C# - Introdução ao ASP.NET

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 3.5 do ASP.NET, conseguiu-se atingir níveis de produtividade nunca antes imaginados.

por Fernando Amaral



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 3.5 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 3.5. 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#

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 .NET, 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 linguagem. 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 1.X

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 qualquer.

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.x 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: WYSIWYG,  Drag and Drop, Intellisense, 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.x e o ASP.NET 1.x 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 melhora de produtividade em até 70% ! Vejamos algumas das melhorias do ASP.NET 2.0 em relação ao seu antecessor:

· Mais de 50 novos Server Controls

· 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.x só era possivel com aplicações Windows Forms.

· 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.

ASP.NET 3.5

As mudanças do ASP.NET 2.0 e 3.5 foram poucas, porém significativas. Na verdade o “core engine” das duas versões continua o mesmo. Para projetos em ASP.NET 3.5 o ASP.NET AJAX Extensions passou a estar integrado a IDE do Visual Studio, não é mais necessário baixar e instalar separadamente. É encontrado no assemblie System.Web.Extensions.dll.

Outra grande novidade, já há bastante esperada é o LINQ. A Gap que existe entre dados relacionais e objetos já não é um assunto novo, já recebendo inclusive artigos meus. Já postei também alguns artigos técnicos sobre LLBLGen e NHibernate. Agora o .NET avança nesse sentido com o LINQ. O LINQ não é nenhuma novidade, porém agora é integrado ao Visual Studio. A idéia do LINQ também não é nova, com esta tecnologia você pode operar o banco de dados em uma linguagem nativa, como se tivesse gerando código VB.NET ou C#. É encontrado nos assemblies System.Core.dll, System.Data.Linq.dll, System.Xml.Linq.dll e System.Data.DataSetExtensions.dll.

Também há controles novos. Além dos controles Ajax Extensions que na versão anterior deviam ser instalados separadamente, existem mais três novos controles: ListView, DataPager e LinqDataSource. O Listview é um controle de exibição de dados tabulares, semelhante ao Datagrid e GridView, porém com novas funcionalidades e maior controle sobre o resultado produzido. DataPager é um controle que prove paginação de dados ao Listview. LinqDataSource é mais um controle de acesso a dados, como ObjectDataSource e o SQLDataSource, porém utilizando o modelo LINQ descrito em sessão anterior.

Estrutura de uma aplicação ASP.NET 2.0 e 3.5

Nesta sessão apresento algumas considerações sobre o estrutura de aplicações ASP.NET 2.0 e 3.5, que como dito em seção anterior, permaneceram inalterados.

Você já percebeu que muita coisa mudou entre o ASP.NET 1.x 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 3.5, 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.x era que trabalhando com um único arquivo perdíamos alguns recursos poderosos de programação, como o Intellisense. Na versão 2.0 e 3.5 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.x 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 surgida no 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

A partir da 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

Fernando Amaral

Fernando Amaral - Certificado PMP pelo PMI, CDIA+ pela CompTia, MCP, MCAD, MCSD, MCDBA, MCT pela Microsoft. Pós Graduado em Gestão de Sistemas de Informação (UNIDERP) e Melhoria em Processos de Software (UFLA). Atualmente reside em Campo Grande, MS, onde presta consultoria, treinamentos e palestras na área de TI.
Blog:
http://www.fernandoamaral.com.br.