O documento introduz o ASP.NET, descrevendo-o como uma nova versão da tecnologia Active Server Pages para desenvolver páginas web dinâmicas de forma orientada a objetos. Resume os principais motivos para a criação do ASP.NET, como melhorias na estruturação do código, produtividade e desempenho, e apresenta novos recursos como controles do servidor, compilação das páginas e suporte a múltiplas linguagens.
Introdução ao ASP.NET: principais recursos e vantagens
1. Introdução
ASP.NET
Ricardo Guerra Freitas
Líder da Célula .NET RIO: http://groups.msn.com/celulanetrio
Email/MSN: guerra_rj@hotmail.com
Blog: http://thespoke.net/blogs/guerra_rj/default.aspx
Site do Curso para baixar os slides:
http://br.groups.yahoo.com/group/CursoDotNetSaoJose
2. Introdução
• ASP.NET é a nova versão da tecnologia Active Server Pages utilizada
para desenvolver páginas Web com conteúdo dinâmico. Ao mesmo
tempo em que ASP.NET possui sintaxe compatível com o ASP 3.0,
também possui um novo modelo de programação orientado a
objeto. As páginas ASP.NET são compiladas, e não interpretadas
como nas versões anteriores, e podem ser implementadas
utilizando-se Visual Basic.NET, C# (lê-se C Sharp) e JScript.NET.
• Por meio do ASP.NET pode-se utilizar todos os recursos disponíveis
no Framework .NET, como o ambiente de runtime CLR, o tipo
comum de dados e a biblioteca de classes .NET. Em vez de se limitar
aos seis objetos ASP clássicos, o ASP.NET dispõe de uma ampla
variedade de componentes úteis que podem ser utilizados ou
estendidos. Além disso, é possível utilizar componentes
desenvolvidos utilizando a tecnologia COM/COM+, embora aspectos
de desempenho devam ser considerados.
3. Modelo de Programação
• O ASP.NET possui dois modelos de
programação:
– Web Forms: utilizado para construir páginas Web
baseadas em formulários. Pode-se utilizar controles
de Servidor para a criação de elementos de interface,
programá-los e reutilizá-los dentro da aplicação.
– Web Services: utilizado para acessar componentes
remotamente. Ao usar Web Services, pode-se expor
interfaces para acessar dados ou regras de negócio,
que podem ser manipulados por clientes ou outras
aplicações. Web Services permite a troca de dados
em um cenário cliente-cliente ou servidor-servidor,
usando protocolos-padrão como HTTP e XML para
transportar dados.
4. Por que uma nova versão ASP?
• Código com estruturação confusa
– No ASP é possível a utilização de códigos HTML,
Script, componentes e outros elementos misturados
na página, dificultando o desenvolvimento, a
manutenção e a reutilização de código. O ASP.NET
oferece o recurso chamado de “Code Behind”, que
possibilita colocar a parte de design da página e a
parte de código em dois arquivos distintos. O design
pode ser feito em paralelo com a programação. Por
outro lado, também é possível colocar o código
dentro da própria página de design, se o
desenvolvedor assim desejar.
5. Por que uma nova versão ASP?
• Baixa produtividade
– No ASP é necessário escrever código para
praticamente tudo, como, por exemplo, para
manter o estado dos campos de um
formulário ou validar a entrada de dados do
usuário. O ASP.NET introduz um modelo de
componente, com controles baseados no
servidor e orientados a eventos, o que torna a
programação similar à maneira como é feita
no Visual Basic.
6. Por que uma nova versão ASP?
• Páginas interpretadas
– No ASP as páginas são interpretadas, ou seja, cada
linha do arquivo é lida, interpretada e transformada
em HTML, o qual é enviado para o browser que
solicitou a página. No ASP.NET as páginas são
compiladas em um executável (DLL), o que pode
acarretar um ganho significativo de performance.
Além disso, pode-se utilizar qualquer linguagem que
suporte o Framework .NET. O Visual Studio.NET
oferece o VB.NET, C# e o C++ como opções de
instalação. No ASP é possível utilizar somente
linguagens de script, como o VbScript e o JScript.
7. Por que uma nova versão ASP?
• Diversidade de browsers
– Com a utilização de dispositivos diferentes para acesso à Internet, como
PDAs, aparelhos de TV, console de jogos, celulares, entre outros, surge
a necessidade de considerar diferentes saídas para uma mesma
aplicação, como, por exemplo utilizando formato HTML, WML, XML e
HDML. O ASP.NET oferece um modelo de programação unificado para o
desenvolvimento de aplicações para PCs e dispositivos móveis.
Utilizando controles especiais e extensões do ASP. NET, pode-se
desenvolver aplicações que poderão ser acessadas por meio de
diferentes dispositivos. Para o desenvolvimento de aplicações para
dispositivos móveis, deve-se utilizar o Mobile Internet Toolkit
– Além desses pontos, pode-se destacar a necessidade de ferramentas
melhores para depuração de código e layout das páginas, recursos
limitados de segurança, dificuldades na distribuição e configuração da
aplicação, falta de suporte para Web Farm e cache do lado do servidor.
8. Novos recursos do ASP.NET
• Controles de Servidor que mantêm o estado:
páginas ASP.NET utilizam controles do lado do servidor
para automatizar o gerenciamento do estado na página
e reduzir o volume de código.
• Controles HTML que são executados no servidor:
novos controles HTML que são executados no servidor e
produzem código HTML. Pode-se acessar por meio de
código as propriedades e os métodos dos controles
durante a execução. Os eventos dos controles podem ser
detectados pelo browser e o respectivo código pode ser
executado no servidor em resposta a esses eventos.
9. Novos recursos do ASP.NET
• Controles de Interface: controles de interface mais
sofisticados executados no servidor, que podem ser utilizados
para criar elementos de interface mais complexos na página,
sem a necessidade de utilização de controles ActiveX no
cliente. O ASP.NET possui controles como Calendar, Grids,
tabelas e listas, que podem ser vinculados diretamente a uma
fonte de dados.
• Web Services (Serviços Web): permitem que
componentes sejam disponibilizados como serviços utilizando
protocolos-padrão da Internet.
• Configuração e Distribuição da aplicação
simplificados: a configuração da aplicação pode ser feita por
meio de arquivos no formato XML. Os componentes não
precisam mais ser registrados no servidor e as aplicações
podem, por exemplo, ser distribuídas utilizando comandos de
cópia de arquivo ou FTP.
10. Novos recursos do ASP.NET
• Sessões mais escaláveis: recurso de compartilhamento de
informações via sessão (session) mais escalável e com
suporte de sessão para Web Farm.
• Debug e Trace melhorados: recursos de tratamento de
erros, depuração e rastreamento melhorados. A depuração de
código no ASP.NET não se limita somente aos comandos
Response.write e Response.End.
• Segurança: recursos mais flexíveis de segurança para
autenticação e autorização do usuário.
• Cache: cache do lado do servidor permite que sejam
armazenados valores e objetos para utilização nas páginas.
• ADO x ADO.NET: substituição do conceito de Recordset do
ASP pelo DataSet. O ADO.NET possui uma arquitetura de
dados desconectada e integração nativa com XML.
11. Novos recursos do ASP.NET
• Fim do “DLL Hell”: os componentes desenvolvidos na
plataforma .NET dispensam o registro no Windows. Uma
simples cópia da DLL (assembly) para o local de destino já
possibilita sua utilização, até se esta estiver em uso. Além
disso, é possível utilizar componentes COM, ou seja,
componentes criados pelo Visual Basic 6.0 ou qualquer outra
ferramenta de geração de componentes no padrão ActiveX.
Porém, esses componentes serão executados fora do
ambiente gerenciado do Framework .NET, ou seja, qualquer
erro que ocorrer no componente ficará sob a responsabilidade
do próprio sistema operacional.
• Biblioteca de componentes: disponibilização de
componentes para o desenvolvimento de aplicações Web por
meio da Biblioteca de Classes do Framework .NET. Recursos
para envio de e-mail, criptografia, contadores, calendário,
upload, acesso ao registro de eventos do servidor, MSMQ,
acesso a recursos de rede e banco de dados, por exemplo.
12. Linguagens suportadas no
ASP.NET
• O ASP.NET pode utilizar qualquer
linguagem compatível com o Framework
• .NET. Inicialmente estão disponíveis as
linguagens VB.NET, C# e JScript.
• Para definir a linguagem a ser utilizada,
devemos utilizar a seguinte sintaxe:
– <script language=”VB” runat=”server”>
• Ou em C#:
– <script language=”C#” runat=”server”>
13. Ferramentas de
desenvolvimento
• O Framework .NET oferece compiladores de linha de comando, que podem
ser utilizados a partir de uma janela DOS, especificando-se os parâmetros
corretos. Todo o código pode ser desenvolvido no NotePad, ou em qualquer
outro editor de texto. Porém, pode-se utilizar o Visual Studio.NET, que
oferece um ambiente de desenvolvimento visual, reconhecimento da
sintaxe ASP.NET, recursos como IntelliSense (que já existia no Visual Studio
6.0, que exibe todos os argumentos e seus tipos quando são digitados o
nome de um método e um parêntese de abertura), Clipboard Ring (área de
transferência especial), Outlining e Hiding (permite visualizar a estrutura
resumida do código), navegação pelo texto (por meio de botões de
navegação pode-se navegar por locais já visitados do código), Word wrap
(quebra de linha automática) e endentação inteligente. Outros editores que
também podem ser utilizados:
– WebMatrix (www.asp.net) é uma ferramenta gratuita da Microsoft. O
livro Desenvolvendo Aplicações ASP.NET com Web Matrix, da Novatec
Editora, é uma boa opção para quem quiser aprender a utilizá-la.
– UltraEdit32 (www.ultraedit.com).
– EditPlus (www.editplus.com).
– HomeSite (www.macromedia.com).
– SharpDevelop (www.icsharpcode.net).
– Boxer Text Editor (www.boxersoftware.com).
– Frst Page 2000 (www.pvrsoft.com).
14. Arquitetura do ASP.NET
• Nas versões anteriores do ASP, a página era interpretada sempre que
requisitada (com exceção das páginas armazenadas no cache do servidor,
que já foram interpretadas). No modelo ASP.NET, o código é compilado para
MSIL, transformando a página em um objeto, armazenando-o no cache do
servidor e tornando-o disponível para ser executado. A página é compilada
quando é criada ou alterada, porém a compilação só ocorre realmente
quando a página é solicitada. Mesmo que a página não possua nenhum
recurso ASP.NET e tenha apenas HTML comum, ainda assim ela será
compilada dentro do modelo .NET.
• Quando uma página ASP.NET é requisitada, o servidor Web direciona a
requisição para o executável aspnet_wp.exe, para que a requisição seja
atendida. O resultado é devolvido para o servidor Web, que, por sua vez, o
envia para o browser que solicitou a página. A versão compilada em MSIL
fica armazenada em uma DLL dentro de
Drive:WINNTMicrosoft.NetFrameworkv.1.xTemporary
ASP.NET files. Pode-se visualizar o conteúdo dessa DLL no MSIL
Disassembler, digitando ILDASM na linha de comando.
• O ASP.NET utiliza uma extensão de arquivo diferente de suas versões
anteriores (.aspx em vez de .asp) e possui um ambiente de execução
totalmente separado (o Asp.dll não foi modificado). Isso significa que
páginas .asp e .aspx podem coexistir em um mesmo servidor e em uma
mesma aplicação.
15. Introdução
ASP.NET
Ricardo Guerra Freitas
Líder da Célula .NET RIO: http://groups.msn.com/celulanetrio
Email/MSN: guerra_rj@hotmail.com
Blog: http://thespoke.net/blogs/guerra_rj/default.aspx
Site do Curso para baixar os slides:
http://br.groups.yahoo.com/group/CursoDotNetSaoJose