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. 1
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.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. 2
.Net Framework O Que É Ferramentas de Desenvolviment o Cliente s Bancos de Dados Web Services XML Aplicações WEB ASP.NET Experiência do Usuário Arquitetura A Arquitetura do.net Framework é composta por linguagens, ambiente de execução, etc. Esta arquitetura será detalhada a seguir. 3
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. 4
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. 5
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 Windows Forms, WPF Múltiplas Linguagens Tratamento de Erros Web Services, WCF Acesso a Dados, LINQ 6
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 é 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. 7
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. 8
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 9
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 10
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 11
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 12
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 Requisição Resposta Servidor Cliente XML Bancos De Dados Componentes 13
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 "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>título da página</title> </head> <body> Conteúdo do corpo da página </body> </html> 14
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) 15
Javascript Ex: <script> function exibirmensagem(msg) { } </script> alert(msg); 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 16
ASP Ex: <html> <body> <% response.write("olá!") %> </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 - ;. 17
PHP Ex: <html> <body> <?php echo "Olá!";?> </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 - ;. 18
JSP Ex: <html> <body> <%=response.write("olá!")%> </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 19
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; 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. 20
Atividade de apoio Conhecendo o. 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. 21
MSDN Esta janela exibe as últimas notícias, novidades, atualizações, tutoriais, etc disponibilizados no MSDN; Getting Started Esta janela sugere os passos iniciais para quem não possui muita experiência com a ferramenta; 22
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#. Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto. 23
Solution Explorer Esta janela exibe os detalhes estruturais do projeto que está aberto. Class View Exibe as Classes que estão no escopo do Projeto 24
Server Explorer Permite Explorar os Servidores que estão cadastrados no VWD. Toolbox Contém os controles que podem ser adicionados às Páginas. 25
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 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 26
Find Results Exibe os resultados de busca, feitos através de alguma das opções disponíveis no menu Edit > Find and Replace Immediate Window Permite ao desenvolvedor interagir com a aplicação que está em execução; Esta interação possibilita que testes sejam feitos. 27
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. Janela de Código Exibe o código da página; Pode ser utilizado para modificar o conteúdo da página; 28
Properties Permite editar as propriedades do elemento selecionado 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 29