Anderson Triacca

Pular Navegação Ir para a Busca

08/10/2009História do Javascript

Atigo Originalmente publicado no MX Studio em 2007.

Javascript foi concebida inicialmente para ser uma linguagem de criação de scripts server-side, que vinha implantada nos servidores web da Netscape(aliás, a Netscape foi quem inventou a linguagem). A Microsoft viu que esse negócio de linguagem de scripts server-side dava certo e então resolveu criar sua própria linguagem de script(batizada de JScript), e a implementou no seu servidor web IIS. Mas a Netscape não se conformou com isso, e teve outra idéia genial, e se no lugar do servidor, o agente do usuário pudesse processar os scripts, não seria muito mais rápida a resposta de uso? Pois estavam certos, e assim foi concebida a idéia de linguagem client-side.

Como o Netscape Navigator dominava o mercado, o alastramento de scripts nas páginas web foi bem rápido, e como a Microsoft estava perdendo mercado em navegadores, ela também resolveu adaptar sua linguagem de modo que pudesse rodar no navegador, e a implementou no internet explorer, e incorporou este no seu sistema operacional(quem não lembra do famoso Windows 95 com Internet Explorer?). Resultado, o navegador da Microsoft dominou o mercado.
Neste ponto da história existiam duas ótimas linguagens de scripts, o único problema é que ambas só funcionavam em seu navegador de origem, o que deixava os desenvolvedores de cabelos arrepiados (incompatibilidades semelhantes ainda assombram os profissionais da web hoje em dia).

Ao perceber este problema, uma empresa chamada ECMA resolveu padronizar a linguagem de modo que pudesse funcionar em todos os navegadores. Desta idéia nasceu um padrão chamado ECMA – 252, e a linguagem foi batizada de ECMAScript(na verdade hoje em dia nós dizemos que programamos em Javascript, quando na verdade o que escrevemos é ECMAScript)

ECMA Script se divide em 3 versões, ECMA V1, ECMA V2 e ECMA V3.

Em ECMA V1 não existiam instruções do tipo switch e expressões regulares, consequemente não são suportados em Javascript 1.3 e Jscript 3.0. ECMA V2 é idêntica a ECMA V1, apenas com a correção de alguns bugs, sem implementação de novos recursos. A versão atual em uso é ECMA V3. Jscript 5.5 e 5.6 são exatamente iguais quando falamos em linguagem client-side.

Como você viu, javascript pode ser usado tanto client-side como server-side, mas neste texto iremos abordar apenas a codificação client-side, pois é a mais utilizada e que mais nos interessa(nós que trabalhamos na área de desenvolvimento web).

O javascript usado na web é uma união do interpretador javascript(fornecido pela Microsoft e pela Mozilla para quem quiser implementar a linguagem em suas aplicações) com um navegador web compatível e com o DOM(Document Object Model recomendado pela W3C). Queria deixar bem claro que nenhum navegador atual suporta todos os recursos do DOM, mas suportam o suficiente para que seja possível seu uso em união ao javascript.

Agora que você já sabe o que é javascript, está na hora de você saber o que ele pode fazer. Muita gente não estuda javascript à fundo por acreditar no mito de que se trata apenas de uma linguagem para fazer validação de formulários. Graças a Deus estão enganados. Javascript é uma linguagem poderosa, que permite desde validar campos de entrada até criar pequenos jogos dentro do navegador, passando por barras de rolagem personalizadas em elementos da página e chamadas assíncronas de dados (famoso Ajax). Javascript tem controle sobre a aparência do documento (pode modificar o HTML e o CSS da página), sobre o agente do usuário(através do objeto window pode acessar e modificar várias opções do navegador, com algumas limitações de segurança, logicamente), tem interação com o usuário(através dos tratadores de eventos que serão explicados no próximo texto), gravação de cookies e acesso à opções do monitor(através do objeto screen). As maiores limitações da linguagem são o fato de, por questões de segurança, não possuir acesso à arquivos locais do computador do usuário(grande problema enfrentado pelas pessoas que tentam fazer sistemas de upload por ajax), não ter suporte a recursos de rede e não possuir recursos gráficos(apenas pode modificar o HTML e CSS da página).

Bom, por hoje é só, espero que tenham gostado. Num próximo texto estarei entrando mais a fundo nos temas citados hoje, e também estarei falando um pouco mais sobre padrões de programação.

< javascript /> comentários(0)

Comentar:

Anderson Triacca

Anderson Triacca

Estudante Universitário de Design Gráfico pela Universidade de Caxias do Sul, certificado em desenvolvimento Ajax pelo grupo Processor Alfamídia de Porto Alegre e acima de tudo Desenvolvedor Web.

Trilha Sonora

  • Belchior: Alucinação
  • Dire Straits: Sultans of Swing
  • Gabriel o Pensador: Ao Vivo MTV
  • Legião Urbana: Como é que se diz eu te amo?
  • Pink Floyd: The Piper at Gates of Dawn
  • Sonata Arctica: Ecliptica

Livros Recomendados

  • Anthony Bozza: Slash
  • Carlos Marcelo: Renato Russo, o Filho da Revolução
  • Charles Sanders Peirce: Semiótica
  • Jefrey Zeldman: Projetando Websites Compatíveis
  • Lance Armstrong: De volta à Vida
  • Paulo Coelho: O Demônio e a Srt. Prym
Todos os direitos reservados a Anderson Triaccaanderson@andersontriacca.com