Javascript - 01 - Desenvolvendo Websites Interativos com JavaScript
Javascript - 01
Wwillrow
Wwill de Paula | comentários
Arquivado no curso de Sistemas de Informação na UNESA
Capítulo 1 – Introdução a JavaScript
1 Introdução a JavaScript
A LINGUAGEM HTML – HYPERTEXT MARKUP LANGUAGE, foi criada exclusivamente para definir a estrutura de uma página. Esforços para usar HTML como linguagem de formatação de página, visando uma melhor apresentação gráfica resultaram ineficazes1. De forma semelhante, HTML não é linguagem de programação. Não possui as estruturas essenciais para realizar operações e controle de fluxo. É uma linguagem declarativa criada para estruturar páginas de hipertexto através de marcadores que descrevem a função de blocos de texto.
Com HTML, é fácil criar interfaces do usuário sofisticadas, usando recursos de formulário como botões, caixas de seleção, etc. A coleção de componentes de formulário conta com dois tipos de botões que respondem a eventos do usuário. Um dos botões, ao ser apertado, provoca um evento permite enviar os dados coletados no formulário para um programa no servidor (CGI2) para processamento remoto. Não há processamento local.
Os componentes de formulário existem desde HTML 1.1 (1994) e com eles surgiram as primeiras "aplicações Web". Essas aplicações sempre tinham que se comunicar com o servidor para realizar qualquer operação. Para fazer uma simples conta era necessário enviar os dados para o servidor, rodar um programa na máquina remota e aguardar uma nova página retornada com o resultado. Isso era necessário porque não havia como fazer contas simples em HTML.
Plug-ins proprietários foram os primeiros a introduzir aplicações Web executando do lado do cliente. Depois vieram os applets Java, que tiveram mais sucesso que os plug-ins por não se limitarem a uma única plataforma. Os plug-ins e os applets usam o HTML apenas como base para aparecerem no browser. Utilizam uma interface própria que ocupa uma subjanela, toda a janela ou parte de uma janela do browser. Não aproveitam os recursos do HTML. É preciso desenvolver sua interface usando uma outra linguagem, o que torna o desenvolvimento bem mais complexo que a criação de formulários HTML.
1 Várias versões do HTML continham descritores de apresentação. Eles foram considerados obsoletos pela última recomendação do W3C: HTML 4. A linguagem CSS (folhas de estilo em cascata) é a atual recomendação do W3C para a formatação de páginas HTML 2 Common Gateway Interface – especificação que define o formato de programas cuja execução é iniciada por um servidor Web.
Desenvolvendo Web Sites Interativos com JavaScript
1-2JS11-01-1999/01 A4 - © 1999 Helder L. S. da Rocha
A primeira tecnologia proposta como extensão verdadeira do HTML foi JavaScript.
Como é extensão, faz parte da página e pode interagir com todos os seus componentes, como formulários e imagens, inclusive com os plug-ins e applets. É a melhor solução para realizar tarefas simples que não compensam o esforço de desenvolver um applet ou plug-in. Em geral, apresenta um desempenho melhor que esses componentes de browser. Hoje, com mais recursos e mais estável, JavaScript tem ocupado lugares antes ocupados por applets e plug-ins em vários serviços on-line.
JAVASCRIPT É UMA LINGUAGEM de programação interpretada criada em 1995 por Brendan Eich da Netscape como uma extensão do HTML para o browser Navigator 2.0. Hoje existem implementações JavaScript nos browsers dos principais fabricantes. Mas o uso de JavaScript não tem se limitado aos browsers. Tem sido usado, em menor escala, como linguagem de suporte a tecnologias de gateway para servidores HTTP e até como linguagem de roteiro de propósito geral. Embora ainda seja mantida e estendida pela Netscape, parte da linguagem JavaScript já é padrão proposto pela ECMA – organização européia para padrões em comunicações, que visa transformá-la em padrão Web3.
JavaScript do lado do browser (client-side JavaScript) tem evoluído e alcançado uma estabilidade razoável como um padrão da Web. É hoje (1998), suportada pelas principais versões de browser que povoam a Web e é a linguagem de programação mais popular do mundo, com presença em 35 milhões de páginas Web4.
JavaScript no servidor (server-side JavaScript) é uma linguagem que possui o mesmo núcleo que o JavaScript do lado do cliente, mas acrescenta estruturas exclusivas para interação com entidades do servidor. Não tem ainda a estabilidade necessária para ser considerada um padrão pois suas implementações são praticamente restritas à extensões Netscape, como a tecnologia LiveWire. O núcleo da linguagem JavaScript também está presente na tecnologia ASP (Active Server Pages) da Microsoft, mas LiveWire e ASP são incompatíveis entre si.
Este curso trata exclusivamente do client-side JavaScript, que roda no browser. No restante deste livro, chamaremos client-side JavaScript simplesmente de "JavaScript".
JavaScript é uma linguagem de programação baseada em objetos. Trata suas estruturas básicas, propriedades do browser e os elementos de uma página HTML como objetos (entidades com propriedades e comportamentos) e permite que sejam manipulados através de eventos do usuário programáveis, operadores e expressões. JavaScript oferece recursos interativos que faltam no HTML e permite a criação de páginas interativas e dinâmicas, que são interpretadas localmente pelo browser, sem precisar recorrer a execução remota de programas no servidor.
3 http://www.ecma.ch/stand/ecma-262.htm[5] 4 http://home.netscape.com/newsref/pr/newsrelease599.html
JavaScript não é Java
JavaScript freqüentemente é confundida com a linguagem Java, provavelmente devido à semelhança do nome. Há também algumas semelhanças na sintaxe. Tudo mais é diferente. O nome "script", que quer dizer roteiro, já indica que se trata de uma linguagem interpretada. Além do nome, podemos apontar diversas outras diferenças:
· Interpretada. Programas em Java são compilados para um código de máquina, que é executado em uma plataforma própria (que pode ser fornecida pelo browser). Programas em JavaScript são interpretados linha-por-linha enquanto o browser carrega a página ou executa uma rotina.
• Simples. Programas em Java são bem mais poderosos que programas JavaScript e não estão limitados à página HTML. Por outro lado, são bem mais complexos.
• Pequena. JavaScript 1.1, abordado neste livro, consiste de umas 300 funções, objetos, métodos, eventos e propriedades. A API do Java 2 possui mais de 20000 estruturas.
• Baseada em objetos. O modelo de objetos e as estruturas das duas linguagens são completamente diferentes. Java é uma linguagem orientada a objetos que possui estruturas como classes, herança, polimorfismo, etc. que não existem em JavaScript.
• Extensão do HTML. Nunca se coloca Java em uma página Web. Pode-se incluir uma applet em uma página, que é um tipo de aplicação que pode ter sido escrito em Java, ou não. O browser freqüentemente tem capacidade de executar um applet, mas não de interpretar o seu código Java. O código JavaScript geralmente vem embutido dentro de uma página HTML. Não existe JavaScript (client-side) sem HTML.
Quem suporta JavaScript?
Somente os browsers compatíveis com a linguagem JavaScript conseguem executar os roteiros (scripts). Entre os mais populares, isto inclui o Netscape Navigator versões 2 em diante, o Microsoft Internet Explorer versões 3 em diante e o OperaSoftware Opera 3.5 em diante. O JavaScript suportado por um browser pode não funcionar em outro. Os principais motivos são incompatibilidades entre versões e plataformas.
A primeira versão de JavaScript, chamada de JavaScript 1.0, foi primeiro suportada pelo
Navigator 2.0. A Microsoft desenvolveu sua primeira implementação do JavaScript 1.0 no Internet Explorer 3.0, onde se chamava JScript. JavaScript 1.0 tinha muitos bugs e poucos recursos. Com o Navigator 3.0 foi lançado o JavaScript 1.1, que teve uma implementação semelhante em versões do Internet Explorer 3 e 4. A versão 1.2 do JavaScript, introduzida com o Netscape 4.05 e suportada em parte pelo Internet Explorer 4, acrescenta alguns recursos como expressões regulares e suporte a camadas.
As implementações JavaScript em browsers de fabricantes diferentes são conflitantes. O uso de recursos exclusivos de um fabricante provocará erros quando a página for carregada por outro browser. Há várias formas de usar o próprio JavaScript para atenuar esse problema.
1-4JS11-01-1999/01 A4 - © 1999 Helder L. S. da Rocha
Para garantir uma maior segurança, todos os scripts devem sempre ser testados nos os browsers, versões e plataformas utilizadas pelo público-alvo de um site ou página.
Com JavaScript pode-se fazer diversas coisas que antes não era possível apenas com a limitada linguagem HTML como:
• Gerar documentos com aparência definida na hora da visualização, com base em informações do cliente como versões do browser, cookies e outras propriedades.
• Abrir janelas do browser, trocar informações entre janelas, manipular com propriedades do browser como o histórico, barra de estado, plug-ins e applets.
• Interagir com o conteúdo do documento, alterando propriedades da página, dos elementos HTML e tratando toda a página como uma estrutura de objetos.
Como programar com JavaScript?
Nas seções seguintes, daremos início à apresentação da linguagem JavaScript. Para editar código HTML ou JavaScript, não é preciso mais que um simples editor de texto, como o Bloco de Notas (Windows) ou Vi (Unix). Pode-se também usar um editor HTML. Alguns editores colocam cores ou dão destaque ao código JavaScript. Outros até permitem a geração de código ou a verificação de sintaxe.
O editor HTML pode ser qualquer um, mas deve expor o código HTML. Editores que escondem e dificultam o acesso ao código HTML devem ser evitados. É preciso que o editor tenha pelo menos uma janela de edição de código. O ideal é usar um editor de código como o Allaire HomeSite, Sausage HotDog (para Windows), HotMetal (para Unix, Mac e Windows) e BBEdit (para Mac). Este livro é compatível com qualquer editor de texto ou de código.
Existem ferramentas que facilitam o desenvolvimento de JavaScript, porém elas não serão exploradas aqui. As mais conhecidas são a Microsoft Script Debugger, que funciona embutido no Microsoft Internet Explorer (é uma extensão com distribuição separada) e o Netscape Visual JavaScript. Ambos os produtos podem ser descarregados dos sites de seus respectivos fabricantes.
Os arquivos utilizados neste capítulo estão no subdiretório cap1/, do disquete distribuído com este livro. Para acompanhar e repetir os exemplos das seções seguintes, abra um arquivo HTML qualquer (ou use a página em branco cap1/intro.html disponível no disquete) e repita os exemplos, testando-os no seu browser. Qualquer editor de código ou de texto pode ser usado.
Formas de usar JavaScript
§ Dentro de blocos HTML <SCRIPT> </SCRIPT> em várias partes da página: para definir
Há três5 maneiras de incluir JavaScript em uma página Web: funções usadas pela página, gerar HTML em novas páginas ou alterar o procedimento normal de interpretação do HTML da página pelo browser.
§ Em um arquivo externo, importado pela página: para definir funções que serão usadas por várias páginas de um site.
§ Dentro de descritores HTML sensíveis a eventos: para tratar eventos do usuário em links, botões e componentes de entrada de dados, durante a exibição da página.