JavaScript - Sistemas de Informação e Sistemas para Internet

Propaganda
JavaScript
Faculdade de Informática de Taquara - Curso Sistemas de Informação
Fundação Educacional Encosta Inferior do Nordeste
Av. Oscar Martins Rangel, 4500 - Taquara - RS – Brasil
[email protected], [email protected]
Abstract. This report describes the origin, specification and the project of the
language JavaScript. The objective of this document is to present a research
around the language in order to know their fundamental concepts and their
characteristics.
Resumo. Este artigo descreve a origem, especificação e o projeto da
linguagem JavaScript. O objetivo deste documento é apresentar uma pesquisa
em torno da linguagem a fim de se conhecer seus conceitos fundamentais e
suas características.
1. Introdução
1.1
JavaScript: script baseado em objeto para a Web
JavaScript é uma poderosa linguagem de criação de scripts. É uma linguagem
orientada a objeto com forte suporte para técnicas adequadas de engenharia de
software. JavaScript torna-se atraente pelo fato de ser construído dentro dos
navegadores Web mais populares e ser portável(pode rodar em diferentes
navegadores). Além disso, suas novas versões e correções de bugs estão disponíveis na
Internet, possibilitando que se mantenha sempre uma versão atualizada. É uma
linguagem que foi criada para: alterar valores de elementos HTML; criar elementos
HTML; validar formulário e controlar interação entre molduras. Através de JavaScript
você poderá ter acesso a qualquer elemento da página.
1.2 Java x JavaScript
JavaScript e Java. As duas linguagens não estão relacionadas, no entanto, partilham de
algumas semelhanças. De uma forma geral, em todas as linguagens é necessário
escrever comandos em texto normal coerentes com a sintaxe e estrutura da própria
linguagem, sendo estes comandos vulgarmente designados por código fonte.
Java é uma linguagem compilada cuja plataforma é independente. Entende-se
por linguagem compilada a linguagem que requer uma sintaxe mais complexa e um
conhecimento mais especializado das suas técnicas por parte dos programadores. Onde
após a sua escrita em código fonte, o programa necessita de ser compilado através de
um programa especialmente criado (compilador), produzindo como saída um programa
executável em código binário, sendo estes específicos para trabalhar em uma
determinada plataforma.
JavaScript é uma linguagem interpretada. Entende-se por linguagem interpretada
a linguagem cuja sintaxe do código e também a sua estrutura é normalmente mais
simples do que a compilada, mas a sua execução torna-se geralmente mais lenta, ou
seja, exige que cada vez que o programa é executado, cada linha de código seja
"interpretado" com base nos fluxos de execução.
2. Origem e motivação
2.1 Origem
No ano de 1994, a empresa Netscape, fabricante do programa de mesmo nome para
navegação na Internet, sentiu necessidade de implementar uma tecnologia de
processamento modo cliente para aplicativos baseados na Web. Para programas
simples que fossem executados no computador do usuário, sem que fosse preciso
enviar informações para o servidor. Como no caso da validação de um formulário, por
exemplo. Na mesma época era adicionado suporte a applets Java (aplicativos pequenos
e que são executados embutidos, no caso em páginas HTML, e que possuem uma área
formalmente delimitada) ao navegador. Em se tratando de programas complexos ou
visuais tinha um ótimo resultado, porém o tempo necessário para copiar e executar o
programa não compensava certas pequenas tarefas. Além de que os applets não estão
tão ligados aos elementos da página HTML. A partir de então nasceu a solução.
A Netscape criou o LiveScript, uma linguagem embutível na página HTML,
interpretada pelo navegador, que permite incrementar a apresentação e interactividade
das páginas Web tomando bem menos tempo que Java e estando mais unida aos
elementos da página. A linguagem da Netscape terminou mudando de nome com a
paritipação da Sun Microsystems no projeto e, assim, a versão Beta 2 do Netscape, em
1995, já trazia estampada para a linguagem o novo nome: JavaScript. Não havia
alguma ligação com Java, mas era uma questão puramente de marketing. E assim
nascia uma linguagem que se tornaria um padrão e sinônimo de processamento cliente
em páginas web. E o primeiro browser a suportar JavaScript foi o Netscape Navigator
2.0. O desenvolvimento da linguagem seguiu de perto o próprio desenvolvimento dos
'browsers' e as versões mais antigas dos browsers não suportam as versões mais
recentes do Javascript.
JavaScript já se encontra padronizada pelo ECMA (European Computer
Manufactures Association). ECMA é uma associação de padrões internacional para
informações e sistemas de comunicação. Existem atualmente várias versões desta
linguagem (1.0, 1.1, 1.2, …) e continua a ser objeto de desenvolvimento pelas
principais empresas de software.
2.2 Motivação
O JavaScript é a única linguagem atualmente suportada pelos 'browsers' mais
populares da Internet. O tempo despendido na aprendizagem desta linguagem é um
bom investimento, visto não ter uma dificuldade elevada, face ao proveito que se
obtém da sua utilização no desenvolvimento de páginas web, em conjunto com o
conhecimento de HTML Por outro lado o conhecimento de JavaScript associado com
CSS (Cascading Style Sheets), permite criar páginas DHTML, ou seja, páginas de
HTML dinâmicas.
3. Especificação
A Netscape inventou a linguagem JavaScript, que era primeiro usada em browsers da
Netscape. Porém, a Netscape está trabalhando com ECMA (Associação de Fabricantes
de Computador Européia) para entregar um padrão, uma linguagem de programação
internacional baseado no core JavaScript. ECMA é uma associação de padrões
internacional para sistemas de comunicação e informação. Esta versão padronizada de
JavaScript, chamado ECMAScript, se comporta o mesmo modo em todas as aplicações
que suportam o padrão. Companhias podem usar o idioma padrão aberto para
desenvolver suas implementações de JavaScript. A primeira versão do padrão ECMA
está documentada na especificação ECMA-262.
O padrão de ECMA-262 também é aprovado pelo ISO (Organização
Internacional para Padrões) como ISO-16262. A especificação de ECMA não descreve o
Modelo de Objeto de Documento (DOM) que é padronizado pela World Wide Web
Consortium (W3C). O DOM define o modo no qual objetos de documentos HTML são
expostos no seu script.
Netscape trabalha junto com ECMA para produzir a especificação ECMA. A
tabela seguinte descreve a relação entre JavaScript e versões ECMA.
Tabela 1.0
JavaScript e versões ECMA
Relação entre as versões ECMA
JavaScript versão
JavaScript 1.1
ECMA-262, Edição 1 está baseada no JavaScript 1.1.
JavaScript 1.2
ECMA-262 não estava completamente quando JavaScript 1.2 foi
liberado. JavaScript 1.2 não é completamente compatível com
ECMA-262, Edição 1, pelas seguintes razões:
·
Netscape desenvolveu características adicionais ao
JavaScript 1.2 que não era considerado pela ECMA-262.
·
ECMA-262 adiciona duas novas características:
internacionalização que usa Unicode, e comportamento
uniforme para todas as plataformas. Várias características
de JavaScript 1.2, como o Date object, eram dependente
de plataforma e usavam comportamento específico para
plataforma.
JavaScript 1.3
JavaScript 1.3 é completamente compatível com ECMA-262,
Edição 1.
JavaScript 1.3 resolveu as inconsistências que JavaScript 1.2
tinha com ECMA-262, enquanto mantinha todas as
características adicionais do JavaScript 1.2 exceto == e !=, que
foram mudados de acordo com ECMA-262.
JavaScript 1.4
JavaScript 1.4 é completamente compatível com ECMA-262,
Edição 1.
A terceira versão da especificação ECMA não era finalizada
quando JavaScript 1.4 foi liberado.
JavaScript 1.5
JavaScript 1.5 é completamente compatível com ECMA-262,
Edição 3.
Nota: O grupo de trabalho TC39 da ECMA está trabalhando atualmente no
ECMAScript Edição 4 que corresponderá a uma liberação futura de JavaScript,
JavaScript 2.0.
3.1 JavaScript e Terminologia ECMA
A especificação ECMA usa terminologia e sintaxe que podem ser pouco conhecido a
um programador de JavaScript. Embora a descrição do idioma pode diferir em ECMA,
o próprio idioma permanece o mesmo. JavaScript apóia toda a funcionalidade esboçada
na especificação de ECMA.
A documentação de JavaScript descreve aspectos do idioma que é apropriado
para um programador de JavaScript. Por exemplo:
O objeto global não é discutido na documentação de JavaScript porque você não
usa isto diretamente. Os métodos e propriedades do objeto global que você usa, é
discutido na documentação de JavaScript mas é chamado funções topo-niveladas e
propriedades.
O construtor não parâmetro (zero-argumento) com o Número e objetos String
não são discutidos na documentação de JavaScript, porque o que é gerado é de uso
restrito. Um constructo de Número sem um argumento devolve +0, e um construtor
String sem um argumento devolve "" (uma String vazia).
3.2 Sintaxe e Semântica
A sintaxe de uma linguagem de programação define a forma do programa: palavras
reservadas e organização das frases. Existem regras que irão expressar a possibilidade
de uma frase ser bem formada ou não (regras de escopo e regras de tipo). E há a
semântica da linguagem onde podemos ver o significado do programa como uma função
mapeando a entrada no resultado (denotacional); ou baseado no seu comportamento
(operacional).
Tabela 1.1 Palavras-chave de JavaScript
Palavras-chave
break
case
void
true
with
else
false
new
continue for
null
in
switch
function
return
while
this
var
do
typeof
if
delete
4. Conclusões
Analisando este documento concluímos que, embora seja mais fácil escrever programas
em JavaScript do que em muitas outras linguagens de programação, algumas diferenças
entre interpretadores e navegadores, e versões da linguagem dificultam a obtenção do
produto final desejado. Sendo assim, é interessante testar o programa em JavaScript em
todos os sistemas para os quais o programa foi projetado e ler a documentação para a
versão de JavaScript que está sendo utilizada para acessar a coleção de recursos de
JavaScript.
A explosão e a popularidade da Internet e da World Wide Web oferece a
oportunidade infindável de aumentar a importância destas nos sistemas de informações,
no planejamento estratégico e na implementação, criando assim, novos desafios e
recursos.
5. Referências
[1] Internet & World Wide Web, Como Programar.
H.M. Deitel, P. J. Deitel , T. R. Nieto. 2ª Edição.
[2] http://forum.htmlstaff.org
[3] Core JavaScript Guide 1.5
[4] http://www.geocities.com/javanethtml/java.html
Download