SlideShare uma empresa Scribd logo
1 de 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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”>
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).
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.
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

Mais conteúdo relacionado

Semelhante a Introdução ao ASP.NET: principais recursos e vantagens

Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1michellobo
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsitaniamaciel
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 

Semelhante a Introdução ao ASP.NET: principais recursos e vantagens (20)

Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1Curso ASP.Net - Módulo 1
Curso ASP.Net - Módulo 1
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Curso asp - basico
Curso   asp - basicoCurso   asp - basico
Curso asp - basico
 
Sessao1a
Sessao1aSessao1a
Sessao1a
 
Conisli
ConisliConisli
Conisli
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
O Futuro do ASP.NET
O Futuro do ASP.NETO Futuro do ASP.NET
O Futuro do ASP.NET
 
Apostila de asp
Apostila de aspApostila de asp
Apostila de asp
 
Aula 05 - Java Script Básico
Aula 05 -  Java Script BásicoAula 05 -  Java Script Básico
Aula 05 - Java Script Básico
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
Minicurso Smsi
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Csharp
CsharpCsharp
Csharp
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
Curso asp - intermediario
Curso   asp - intermediarioCurso   asp - intermediario
Curso asp - intermediario
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 

Mais de Ricardo Guerra Freitas

2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt
2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt
2006 - Microsot e Open Source uma visão comparativa dos modelos.pptRicardo Guerra Freitas
 
2006 - ConceitosDeOrientaçãoObjeto.ppt
2006 - ConceitosDeOrientaçãoObjeto.ppt2006 - ConceitosDeOrientaçãoObjeto.ppt
2006 - ConceitosDeOrientaçãoObjeto.pptRicardo Guerra Freitas
 
2006 - Tipos de Projeto & IDE do Visual Studio.ppt
2006 - Tipos de Projeto & IDE do Visual Studio.ppt2006 - Tipos de Projeto & IDE do Visual Studio.ppt
2006 - Tipos de Projeto & IDE do Visual Studio.pptRicardo Guerra Freitas
 
2006 - FrameWorkdotNET Ricardo Guerra.ppt
2006 - FrameWorkdotNET Ricardo Guerra.ppt2006 - FrameWorkdotNET Ricardo Guerra.ppt
2006 - FrameWorkdotNET Ricardo Guerra.pptRicardo Guerra Freitas
 
2006 - Distribuindo sua Aplicação.ppt
2006 - Distribuindo sua Aplicação.ppt2006 - Distribuindo sua Aplicação.ppt
2006 - Distribuindo sua Aplicação.pptRicardo Guerra Freitas
 
2006 - Introdução a Objetos Linguagem e Padrões.ppt
2006 - Introdução a Objetos Linguagem e Padrões.ppt2006 - Introdução a Objetos Linguagem e Padrões.ppt
2006 - Introdução a Objetos Linguagem e Padrões.pptRicardo Guerra Freitas
 
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptx
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptxMoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptx
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptxRicardo Guerra Freitas
 
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptx
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptxMoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptx
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptxRicardo Guerra Freitas
 
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...Ricardo Guerra Freitas
 
Windows 10 technical preview - design and news
Windows 10 technical preview - design and newsWindows 10 technical preview - design and news
Windows 10 technical preview - design and newsRicardo Guerra Freitas
 

Mais de Ricardo Guerra Freitas (20)

2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt
2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt
2006 - Microsot e Open Source uma visão comparativa dos modelos.ppt
 
2006 - SegundaAula.ppt
2006 - SegundaAula.ppt2006 - SegundaAula.ppt
2006 - SegundaAula.ppt
 
2006 - ConceitosDeOrientaçãoObjeto.ppt
2006 - ConceitosDeOrientaçãoObjeto.ppt2006 - ConceitosDeOrientaçãoObjeto.ppt
2006 - ConceitosDeOrientaçãoObjeto.ppt
 
2006 - Linguagem VB II.ppt
2006 - Linguagem VB II.ppt2006 - Linguagem VB II.ppt
2006 - Linguagem VB II.ppt
 
2006 - ADONET.ppt
2006 - ADONET.ppt2006 - ADONET.ppt
2006 - ADONET.ppt
 
2006 - Tipos de Projeto & IDE do Visual Studio.ppt
2006 - Tipos de Projeto & IDE do Visual Studio.ppt2006 - Tipos de Projeto & IDE do Visual Studio.ppt
2006 - Tipos de Projeto & IDE do Visual Studio.ppt
 
2006 - CURSOINTRODUÇÃOADOTNET.ppt
2006 - CURSOINTRODUÇÃOADOTNET.ppt2006 - CURSOINTRODUÇÃOADOTNET.ppt
2006 - CURSOINTRODUÇÃOADOTNET.ppt
 
2006 - FrameWorkdotNET Ricardo Guerra.ppt
2006 - FrameWorkdotNET Ricardo Guerra.ppt2006 - FrameWorkdotNET Ricardo Guerra.ppt
2006 - FrameWorkdotNET Ricardo Guerra.ppt
 
2006 - Linguagem VB.ppt
2006 - Linguagem VB.ppt2006 - Linguagem VB.ppt
2006 - Linguagem VB.ppt
 
2006 - Distribuindo sua Aplicação.ppt
2006 - Distribuindo sua Aplicação.ppt2006 - Distribuindo sua Aplicação.ppt
2006 - Distribuindo sua Aplicação.ppt
 
2006 - Tratamento de Erro e Debug.ppt
2006 - Tratamento de Erro e Debug.ppt2006 - Tratamento de Erro e Debug.ppt
2006 - Tratamento de Erro e Debug.ppt
 
2006 - Introdução a Objetos Linguagem e Padrões.ppt
2006 - Introdução a Objetos Linguagem e Padrões.ppt2006 - Introdução a Objetos Linguagem e Padrões.ppt
2006 - Introdução a Objetos Linguagem e Padrões.ppt
 
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptx
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptxMoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptx
MoodleMoot 2023 - Ricardo Guerra - Plugins_v3.pptx
 
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptx
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptxMoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptx
MoodleMoot 2023 - Ricardo Guerra - Ambiente multi-empresa IOMAD.pptx
 
MoodleMoot 2022 - competencias
MoodleMoot 2022 - competenciasMoodleMoot 2022 - competencias
MoodleMoot 2022 - competencias
 
MoodleMoot 2022 - plugins
MoodleMoot 2022 - pluginsMoodleMoot 2022 - plugins
MoodleMoot 2022 - plugins
 
Windows 10 Anniversary Update
Windows 10 Anniversary UpdateWindows 10 Anniversary Update
Windows 10 Anniversary Update
 
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...
Olive etal formerstudentsperceptionimprovementpotentialconceptualmodelingprac...
 
Windows 10 technical preview - design and news
Windows 10 technical preview - design and newsWindows 10 technical preview - design and news
Windows 10 technical preview - design and news
 
Windows 10 Technical Preview
Windows 10 Technical PreviewWindows 10 Technical Preview
Windows 10 Technical Preview
 

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