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