ASP.NET Módulo 1
Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft .Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma interativa o Visual Web Developer 2008.
Agenda Visão Geral do .Net Framework O que é? Arquitetura Linguagens Ferramentas Comportamento de uma Aplicação Web Arquitetura(Cliente/Servidor) HTML Linguagens de Cliente/Servidor Visual Web Developer 2008
.Net Framework – O Que É É o novo modelo de desenvolvimento de software da Microsoft; Construído em cima de padrões abertos Atualmente, os dados estão disponíveis através da internet, e não mais apenas no computador local.
.Net Framework – O Que É Ferramentas de Desenvolvimento Clientes Experiência do Usuário Aplicações WEB ASP.NET Web Services XML Bancos de Dados
Arquitetura A Arquitetura do .Net Framework é composta por linguagens, ambiente de execução, etc. Esta arquitetura será detalhada a seguir .
Arquitetura CLR – Common Language Runtime Executa as aplicações .Net; Interage com o Sistema Operacional; Abstrai das aplicações .NET detalhes obscuros do Sistema Operacional; Torna possível que aplicações .NET sejam indiferentes ao Hardware e Sistema Operacional.
Arquitetura MSIL – Microsoft Intermediate Language O .Net Framework não está preso a uma linguagem de programação específica; O Código em MSIL é executado através do CLR; Sua utilização possibilita que artefatos compilados em uma linguagem sejam utilizáveis pelas linguagens de programação que suportem o .Net Framework.
Arquitetura Assembly Biblioteca de código (utilizado para disponibilização de aplicativos) (.dll); Pode ser executável (.exe); Utilizado para versionamento e segurança; O uso do assembly especifica qual a versão utilizada
Arquitetura Garbage collector Gerenciamento de Memória automático; O desenvolvedor não é mais responsável por alocar e liberar memória; Evita erros ocasionados por gerenciamento de memória mal feito; Decide quando e se um objeto que não está mais sendo usado pode ser coletado.
Arquitetura Vantagens Viabiliza que softwares sejam construídos independente de Hardware e de Sistema Operacional; É construído em cima de padrões abertos; Possibilita que o desenvolvedor se foque na solução do problema, e não em detalhes de como o problema pode ser resolvido.
Visual Studio 2008 e Visual Web Developer 2008 Web Forms, ASP.NET AJAX Múltiplas Linguagens Web Services, WCF Acesso a Dados, LINQ Tratamento de Erros Windows  Forms, WPF
Visual Studio 2008 e Visual Web Developer 2008 Ambiente de Desenvolvimento oficial da Microsoft; Suporta as linguagens: C#, VB.Net, Visual C++, Visual J#; Possui ferramentas para construir aplicações web, windows e Web Services XML.
Visual Studio 2008 e Visual Web Developer 2008 O Visual Web Developer 2008 é uma versão free, porém, com menos recursos que o Visual Studio. Requer um registro (sem encargos financeiros) para uso por mais do que 30 dias.
Linguagens Todas as linguagens compatíveis com a Plataforma .Net fazem chamadas à Plataforma, não ao SO. Apesar de todas as linguagens compilarem para MSIL, as linguagens possuem características específicas; Algumas linguagens: VB.Net, C#, Delphi.Net.
Linguagens Algumas linguagens suportadas pelo Visual Studio 2008 C#: Linguagem criada para uso com o .Net Framework, evitando problemas e dificuldades encontradas em outras linguagens.
Linguagens Ex em C# using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Olá."); } } }
Linguagens Ex em VB.Net Module Module1 Sub Main() Console.WriteLine("Olá.") End Sub End Module
Ferramentas Windows Forms Windows Forms é utilizado para construir aplicativos em Janelas; Estes aplicativos não precisam de um navegador para ser executado; Normalmente utilizado para aplicativos mais robustos; Ex: Calculadora, Word, Excel, etc
Ferramentas Web Forms: Utilizado para a construção de Aplicativos Web. Estes aplicativos serão executados através de um navegador web convencional. Apresenta como vantagem a acessibilidade e facilidade de atualização Ex: hotmail, orkut
Ferramentas Mobile Utilizado para construir aplicativos que serão executados em dispositivos móveis (PDAs, SmartPhones, etc); Dispositivos móveis são fáceis de carregar;
Ferramentas Web Services Serviços disponibilizados através da Internet; Podem ser utilizados independente da linguagem Utilizam XML para trafegar dados Utilizado para fazer integração entre aplicações distintas Ex: Serviço de busca de cep dos correios
Ferramentas Windows Services Serviços que rodam no Sistema Operacional; Provêm um conjunto de funcionalidades; Serviços são gerenciáveis a partir do Painel de Controle; Ex: SQL Server, Oracle.
Comportamento de uma Aplicação Web
Comportamento de uma Aplicação Web Arquitetura Cliente/Servidor O Cliente faz uma requisição ao servidor; O Servidor processa a requisição e retorna ao cliente solicitante; O Processamento de uma requisição pode demandar que o Servidor se conecte a bases de dados, leia arquivos XML, se comunique com Web Services, etc.
Comportamento de uma Aplicação Web Cliente Servidor Requisição Resposta XML Componentes Bancos De Dados
HTML HTML Linguagem de Marcação utilizada para dar forma (definir como o conteúdo será apresentado) em páginas HTML; Composta por tags (ex<div>,<a>, etc); Seu conteúdo é textual (pode ser editado no bloco de notas, Word, Visual Studio, Dream Weaver, etc).
HTML Ex: <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <title>título da página</title> </head> <body> Conteúdo do corpo da página </body> </html>
Linguagens de Cliente/Servidor Logo que o desenvolvimento comercial de software passou a utilizar a Web, inúmeras linguagens e tecnologias surgiram para possibilitar a construção de aplicações web; A maior parte delas é composta por uma mescla de elementos HTML e elementos próprios da linguagem.
Javascript Linguagem de Script utilizada em sua maior parte para prover dinamismo no lado cliente. Mais utilizado para validação de páginas, AJAX; Pode estar em páginas html ou em arquivos externos (normalmente .js)
Javascript Ex: <script> function exibirMensagem(msg) { alert(msg); } </script>
ASP (Active Server Pages – Microsoft, 1990) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza  <%  e  %>  para separar código ASP dos outros conteúdos da página; Deve ser acessada através de requisições a um Servidor Web (IIS – Microsoft Internet Information Services) Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Não utiliza terminador de instrução
ASP Ex: <html> <body> <% response.write(&quot;Olá!&quot;) %> </body> </html>
PHP (Personal Home Pages – Rasmus Lerdof, 1994) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza  <?php  e ? >  para separar os trechos da página que devem ser interpretados como código PHP; Suporta Orientação a Objetos Deve ser acessada através de requisições a um servidor web que possua interpretador PHP instalado Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Utiliza terminador de Instrução -  ; .
PHP Ex: <html> <body> <?php echo &quot;Olá!&quot;; ?> </body> </html>
JSP (Java Server Pages – Sun Microsystems) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza  <%  e  %>  para separar código JSP dos outros conteúdos da página; Utiliza a linguagem Java no bastidores; Deve ser acessada através de requisições a um Servidor Web que suporte Java; Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Utiliza terminador de Instrução -  ; .
JSP Ex: <html> <body> <%=response.write(&quot;Olá!&quot;)%> </body> </html>
ASP.NET (Active Server Pages – Microsoft, 2000) Evolução da Tecnologia ASP; Baseado no .Net Framework; Deve ser acessada através de requisições a um Servidor Web (IIS – Microsoft Internet Information Services); Separação entre a página e o código (codebehind); Uma grande quantidade de componentes
ASP.NET (Active Server Pages – Microsoft, 2000) Possibilita reutilizar assemblies criados com o .Net Framework; Possibilita que Componentes personalizados (User Controls) sejam criados através dos componentes já existentes;
Visual Web Developer 2008 Ao longo do curso, utilizaremos para desenvolver aplicações web, o Visual Web Developer 2008. Disponível para download no site http://www.microsoft.com/express/vwd/ Não requer licença para uso, apenas registro por parte do utilizador.
Atividade de apoio Conhecendo o Visual Web Developer 2008.
Visual Web Developer 2008 Recent Projects Esta janela exibe os últimos projetos utilizados pelo usuário; Sempre que um projeto é criado ou aberto, ele será referenciado nesta janela; Para abrir um projeto desejado, basta clicar duas vezes no nome do projeto ou pressionar <enter>; Estar listado na janela não impede que um projeto seja excluído.
Visual Web Developer 2008 MSDN Esta janela exibe as últimas notícias, novidades, atualizações, tutoriais, etc disponibilizados no MSDN;
Visual Web Developer 2008 Getting Started Esta janela sugere os passos iniciais para quem não possui muita experiência com a ferramenta;
Visual Web Developer 2008 Criação de Web Site Para criar um Web Site, acesse o menu File > New Web Site ... A Janela ao lado será exibida Em Templates, selecione ASP.NET Web Site; em Location, especifique onde o Web site será salvo; Language selecione Visual C#.
Visual Web Developer 2008 Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto.
Visual Web Developer 2008 Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto.
Visual Web Developer 2008 Class View Exibe as Classes que estão no escopo do Projeto
Visual Web Developer 2008 Server Explorer Permite Explorar os Servidores que estão cadastrados no VWD.
Visual Web Developer 2008 Toolbox Contém os controles que podem ser adicionados às Páginas.
Visual Web Developer 2008 Error List Contém os erros encontrados pelo VWD 2008. Estes erros podem incluir erros em páginas, códigos com erro, etc; Esta janela pode ser exibida / ocultada a partir do menu View > Error List
Visual Web Developer 2008 Output Saída textual que pode ser utilizada pelos desenvolvedores para escrever valores; Utilizado em tempo de Desenvolvimento; Esta janela pode ser exibida / ocultada a partir do menu View > Output
Visual Web Developer 2008 Find Results Exibe os resultados de busca, feitos através de alguma das opções disponíveis no menu Edit > Find and Replace
Visual Web Developer 2008 Immediate Window Permite ao desenvolvedor interagir com a aplicação que está em execução; Esta interação possibilita que testes sejam feitos.
Visual Web Developer 2008 Janela de Design É nesta janela onde a página é projetada e construída; Para incluir um componente, o selecione na Toolbox e o solte no local desejado na página.
Visual Web Developer 2008 Janela de Código Exibe o código da página; Pode ser utilizado para modificar o conteúdo da página;
Visual Web Developer 2008 Properties Permite editar as propriedades do elemento selecionado
Visual Web Developer 2008 Intelisense Recurso muito útil e importante que faz sugestões à medida que se digita; O Intelisense está disponível também aos códigos em C# e VB.Net

Curso ASP.Net - Módulo 1

  • 1.
  • 2.
    Objetivo Mostrar osconceitos fundamentais da plataforma Microsoft .Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma interativa o Visual Web Developer 2008.
  • 3.
    Agenda Visão Geraldo .Net Framework O que é? Arquitetura Linguagens Ferramentas Comportamento de uma Aplicação Web Arquitetura(Cliente/Servidor) HTML Linguagens de Cliente/Servidor Visual Web Developer 2008
  • 4.
    .Net Framework –O Que É É o novo modelo de desenvolvimento de software da Microsoft; Construído em cima de padrões abertos Atualmente, os dados estão disponíveis através da internet, e não mais apenas no computador local.
  • 5.
    .Net Framework –O Que É Ferramentas de Desenvolvimento Clientes Experiência do Usuário Aplicações WEB ASP.NET Web Services XML Bancos de Dados
  • 6.
    Arquitetura A Arquiteturado .Net Framework é composta por linguagens, ambiente de execução, etc. Esta arquitetura será detalhada a seguir .
  • 7.
    Arquitetura CLR –Common Language Runtime Executa as aplicações .Net; Interage com o Sistema Operacional; Abstrai das aplicações .NET detalhes obscuros do Sistema Operacional; Torna possível que aplicações .NET sejam indiferentes ao Hardware e Sistema Operacional.
  • 8.
    Arquitetura MSIL –Microsoft Intermediate Language O .Net Framework não está preso a uma linguagem de programação específica; O Código em MSIL é executado através do CLR; Sua utilização possibilita que artefatos compilados em uma linguagem sejam utilizáveis pelas linguagens de programação que suportem o .Net Framework.
  • 9.
    Arquitetura Assembly Bibliotecade código (utilizado para disponibilização de aplicativos) (.dll); Pode ser executável (.exe); Utilizado para versionamento e segurança; O uso do assembly especifica qual a versão utilizada
  • 10.
    Arquitetura Garbage collectorGerenciamento de Memória automático; O desenvolvedor não é mais responsável por alocar e liberar memória; Evita erros ocasionados por gerenciamento de memória mal feito; Decide quando e se um objeto que não está mais sendo usado pode ser coletado.
  • 11.
    Arquitetura Vantagens Viabilizaque softwares sejam construídos independente de Hardware e de Sistema Operacional; É construído em cima de padrões abertos; Possibilita que o desenvolvedor se foque na solução do problema, e não em detalhes de como o problema pode ser resolvido.
  • 12.
    Visual Studio 2008e Visual Web Developer 2008 Web Forms, ASP.NET AJAX Múltiplas Linguagens Web Services, WCF Acesso a Dados, LINQ Tratamento de Erros Windows Forms, WPF
  • 13.
    Visual Studio 2008e Visual Web Developer 2008 Ambiente de Desenvolvimento oficial da Microsoft; Suporta as linguagens: C#, VB.Net, Visual C++, Visual J#; Possui ferramentas para construir aplicações web, windows e Web Services XML.
  • 14.
    Visual Studio 2008e Visual Web Developer 2008 O Visual Web Developer 2008 é uma versão free, porém, com menos recursos que o Visual Studio. Requer um registro (sem encargos financeiros) para uso por mais do que 30 dias.
  • 15.
    Linguagens Todas aslinguagens compatíveis com a Plataforma .Net fazem chamadas à Plataforma, não ao SO. Apesar de todas as linguagens compilarem para MSIL, as linguagens possuem características específicas; Algumas linguagens: VB.Net, C#, Delphi.Net.
  • 16.
    Linguagens Algumas linguagenssuportadas pelo Visual Studio 2008 C#: Linguagem criada para uso com o .Net Framework, evitando problemas e dificuldades encontradas em outras linguagens.
  • 17.
    Linguagens Ex emC# using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine(&quot;Olá.&quot;); } } }
  • 18.
    Linguagens Ex emVB.Net Module Module1 Sub Main() Console.WriteLine(&quot;Olá.&quot;) End Sub End Module
  • 19.
    Ferramentas Windows FormsWindows Forms é utilizado para construir aplicativos em Janelas; Estes aplicativos não precisam de um navegador para ser executado; Normalmente utilizado para aplicativos mais robustos; Ex: Calculadora, Word, Excel, etc
  • 20.
    Ferramentas Web Forms:Utilizado para a construção de Aplicativos Web. Estes aplicativos serão executados através de um navegador web convencional. Apresenta como vantagem a acessibilidade e facilidade de atualização Ex: hotmail, orkut
  • 21.
    Ferramentas Mobile Utilizadopara construir aplicativos que serão executados em dispositivos móveis (PDAs, SmartPhones, etc); Dispositivos móveis são fáceis de carregar;
  • 22.
    Ferramentas Web ServicesServiços disponibilizados através da Internet; Podem ser utilizados independente da linguagem Utilizam XML para trafegar dados Utilizado para fazer integração entre aplicações distintas Ex: Serviço de busca de cep dos correios
  • 23.
    Ferramentas Windows ServicesServiços que rodam no Sistema Operacional; Provêm um conjunto de funcionalidades; Serviços são gerenciáveis a partir do Painel de Controle; Ex: SQL Server, Oracle.
  • 24.
    Comportamento de umaAplicação Web
  • 25.
    Comportamento de umaAplicação Web Arquitetura Cliente/Servidor O Cliente faz uma requisição ao servidor; O Servidor processa a requisição e retorna ao cliente solicitante; O Processamento de uma requisição pode demandar que o Servidor se conecte a bases de dados, leia arquivos XML, se comunique com Web Services, etc.
  • 26.
    Comportamento de umaAplicação Web Cliente Servidor Requisição Resposta XML Componentes Bancos De Dados
  • 27.
    HTML HTML Linguagemde Marcação utilizada para dar forma (definir como o conteúdo será apresentado) em páginas HTML; Composta por tags (ex<div>,<a>, etc); Seu conteúdo é textual (pode ser editado no bloco de notas, Word, Visual Studio, Dream Weaver, etc).
  • 28.
    HTML Ex: <!DOCTYPEhtml PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;> <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;> <head> <title>título da página</title> </head> <body> Conteúdo do corpo da página </body> </html>
  • 29.
    Linguagens de Cliente/ServidorLogo que o desenvolvimento comercial de software passou a utilizar a Web, inúmeras linguagens e tecnologias surgiram para possibilitar a construção de aplicações web; A maior parte delas é composta por uma mescla de elementos HTML e elementos próprios da linguagem.
  • 30.
    Javascript Linguagem deScript utilizada em sua maior parte para prover dinamismo no lado cliente. Mais utilizado para validação de páginas, AJAX; Pode estar em páginas html ou em arquivos externos (normalmente .js)
  • 31.
    Javascript Ex: <script>function exibirMensagem(msg) { alert(msg); } </script>
  • 32.
    ASP (Active ServerPages – Microsoft, 1990) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza <% e %> para separar código ASP dos outros conteúdos da página; Deve ser acessada através de requisições a um Servidor Web (IIS – Microsoft Internet Information Services) Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Não utiliza terminador de instrução
  • 33.
    ASP Ex: <html><body> <% response.write(&quot;Olá!&quot;) %> </body> </html>
  • 34.
    PHP (Personal HomePages – Rasmus Lerdof, 1994) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza <?php e ? > para separar os trechos da página que devem ser interpretados como código PHP; Suporta Orientação a Objetos Deve ser acessada através de requisições a um servidor web que possua interpretador PHP instalado Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Utiliza terminador de Instrução - ; .
  • 35.
    PHP Ex: <html><body> <?php echo &quot;Olá!&quot;; ?> </body> </html>
  • 36.
    JSP (Java ServerPages – Sun Microsystems) Tecnologia que possibilita a construção de páginas dinâmicas; Utiliza <% e %> para separar código JSP dos outros conteúdos da página; Utiliza a linguagem Java no bastidores; Deve ser acessada através de requisições a um Servidor Web que suporte Java; Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página; Utiliza terminador de Instrução - ; .
  • 37.
    JSP Ex: <html><body> <%=response.write(&quot;Olá!&quot;)%> </body> </html>
  • 38.
    ASP.NET (Active ServerPages – Microsoft, 2000) Evolução da Tecnologia ASP; Baseado no .Net Framework; Deve ser acessada através de requisições a um Servidor Web (IIS – Microsoft Internet Information Services); Separação entre a página e o código (codebehind); Uma grande quantidade de componentes
  • 39.
    ASP.NET (Active ServerPages – Microsoft, 2000) Possibilita reutilizar assemblies criados com o .Net Framework; Possibilita que Componentes personalizados (User Controls) sejam criados através dos componentes já existentes;
  • 40.
    Visual Web Developer2008 Ao longo do curso, utilizaremos para desenvolver aplicações web, o Visual Web Developer 2008. Disponível para download no site http://www.microsoft.com/express/vwd/ Não requer licença para uso, apenas registro por parte do utilizador.
  • 41.
    Atividade de apoioConhecendo o Visual Web Developer 2008.
  • 42.
    Visual Web Developer2008 Recent Projects Esta janela exibe os últimos projetos utilizados pelo usuário; Sempre que um projeto é criado ou aberto, ele será referenciado nesta janela; Para abrir um projeto desejado, basta clicar duas vezes no nome do projeto ou pressionar <enter>; Estar listado na janela não impede que um projeto seja excluído.
  • 43.
    Visual Web Developer2008 MSDN Esta janela exibe as últimas notícias, novidades, atualizações, tutoriais, etc disponibilizados no MSDN;
  • 44.
    Visual Web Developer2008 Getting Started Esta janela sugere os passos iniciais para quem não possui muita experiência com a ferramenta;
  • 45.
    Visual Web Developer2008 Criação de Web Site Para criar um Web Site, acesse o menu File > New Web Site ... A Janela ao lado será exibida Em Templates, selecione ASP.NET Web Site; em Location, especifique onde o Web site será salvo; Language selecione Visual C#.
  • 46.
    Visual Web Developer2008 Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto.
  • 47.
    Visual Web Developer2008 Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto.
  • 48.
    Visual Web Developer2008 Class View Exibe as Classes que estão no escopo do Projeto
  • 49.
    Visual Web Developer2008 Server Explorer Permite Explorar os Servidores que estão cadastrados no VWD.
  • 50.
    Visual Web Developer2008 Toolbox Contém os controles que podem ser adicionados às Páginas.
  • 51.
    Visual Web Developer2008 Error List Contém os erros encontrados pelo VWD 2008. Estes erros podem incluir erros em páginas, códigos com erro, etc; Esta janela pode ser exibida / ocultada a partir do menu View > Error List
  • 52.
    Visual Web Developer2008 Output Saída textual que pode ser utilizada pelos desenvolvedores para escrever valores; Utilizado em tempo de Desenvolvimento; Esta janela pode ser exibida / ocultada a partir do menu View > Output
  • 53.
    Visual Web Developer2008 Find Results Exibe os resultados de busca, feitos através de alguma das opções disponíveis no menu Edit > Find and Replace
  • 54.
    Visual Web Developer2008 Immediate Window Permite ao desenvolvedor interagir com a aplicação que está em execução; Esta interação possibilita que testes sejam feitos.
  • 55.
    Visual Web Developer2008 Janela de Design É nesta janela onde a página é projetada e construída; Para incluir um componente, o selecione na Toolbox e o solte no local desejado na página.
  • 56.
    Visual Web Developer2008 Janela de Código Exibe o código da página; Pode ser utilizado para modificar o conteúdo da página;
  • 57.
    Visual Web Developer2008 Properties Permite editar as propriedades do elemento selecionado
  • 58.
    Visual Web Developer2008 Intelisense Recurso muito útil e importante que faz sugestões à medida que se digita; O Intelisense está disponível também aos códigos em C# e VB.Net