Front End

11 jan, 2016

JavaScript – 20 anos de história e construção da web

Publicidade

Você se lembra de alguns fatos que marcaram o ano de 1995? Pensando rapidamente, recordo que a Microsoft lançou o Internet Explorer, dando início à “Guerra dos Browsers” contra o Netscape; teve também a criação da plataforma mIRC para funcionar como um mecanismo de chat e troca de arquivos; na política brasileira, foi o começo do governo de Fernando Henrique Cardoso; e, na música, foi o ano da Macarena (essa lembrança eu posso apagar da minha memória, rssss).

Se você nasceu no início dos anos 1980 ou antes, sabe do que estou falando. Mas caso tenha nascido no final dos anos 1980 ou depois, dificilmente você vai se lembrar, mas com certeza já viu algo no Google ou já assistiu a algum vídeo no YouTube. Falando em web, não poderíamos deixar de fora um dos principais personagens de 1995: o JavaScript.

javacript

Atualmente, é praticamente impossível imaginar a Internet sem a existência do JavaScript. Em conjunto com o HTML e o CSS, o JavaScript – bem como suas bibliotecas e tecnologias relacionadas – é um dos alicerces fundamentais da web como a conhecemos.

Praticamente todas as páginas executam algum tipo de código JavaScript, ou seja, pode ter certeza de que diariamente muito código JS está sendo executado durante uma pesquisa no Google, leitura de uma notícia em um portal ou mesmo no Facebook.

O início do JS há 20 anos

O JavaScript foi originalmente desenvolvido sob o nome de Mocha, posteriormente teve seu nome modificado para LiveScript e, por fim, JavaScript. LiveScript foi o nome oficial da linguagem quando ela foi lançada pela primeira vez na versão beta do navegador Netscape 2.0, em setembro de 1995, mas teve seu nome alterado em um anúncio conjunto com a Sun Microsystems, em dezembro do mesmo ano, quando foi implementado no navegador Netscape, versão 2.0B3.

O fundador do JavaScript foi Brendan Eich, que nasceu em 1961 nos Estados Unidos. O programador iniciou sua carreira na Silicon Graphics, trabalhando por sete anos em sistemas operacionais e sistemas de rede. Depois atuou por três anos na MicroUnity Systems Engineering, escrevendo microkernels e códigos para DSPs, bolando a primeira portagem do compilador GCC para MIPS R4000.

Eich ficou realmente conhecido por seu trabalho na Netscape e na Mozilla. Na Netscape Communications Corporation, começou a trabalhar em abril de 1995, justamente no JavaScript. Depois ajudou a fundar a Mozilla.org em 1998, atuando como arquiteto-chefe. Quando a AOL desativou a divisão para o navegador Netscape em julho de 2003, Eich ajudou a fomentar a Mozilla Foundation.

A evolução do JS em duas décadas

“O JavaScript tem um papel fundamental na evolução da web, pois a ideia central da Internet era ser uma plataforma aberta para todos. Foi superimportante que a sua principal linguagem de programação também fosse aberta, sem controle centralizado de corporações e de fácil aprendizado”, ressalta Leonardo Balter, que é engenheiro de software especialista em JavaScript.

Balter lembra que, nesses 20 anos, o JS conseguiu, inclusive, eliminar os temíveis “plug-ins de terceiros” de navegadores, quando vivíamos uma Internet cheia de ferramentas proprietárias e com a performance ruim. “A principal vantagem é que todos os navegadores competiam por uma implementação mais rápida de JavaScript; enquanto isso, os desenvolvedores e os usuários saíam ganhando, daí o JS ficou cada vez melhor por causa dessa concorrência em cima do mesmo produto”, lembra o especialista em JavaScript.

As principais características do JS

Para Eduardo Mattos, programador Fullstack no Medicinia, as principais qualidades do JavaScript são a possibilidade e a facilidade em testar a linguagem de forma rápida, o que contribui para o desenvolvedor visualizar o resultado do seu código. “Com Node.js, a linguagem rompeu a barreira da web, e isso é muito significativo na hora de escolher uma linguagem para trabalhar. Já negativamente eu vejo que ainda estamos discutindo compatibilidade de browsers por conta das políticas que estão por trás de cada grande empresa dona de navegadores. Isso impede de estarmos em um estágio mais avançado”, comenta Mattos.

Já Balter enxerga a ECMA como o principal lado positivo do JavaScript, pois a fundação faz um trabalho de desenvolvimento contínuo e descentralizado. A ECMA coordena um grupo que tem participação colaborativa de empresas que implementam o run-time do JS, como Mozilla, Google, Microsoft e Apple, além da participação de desenvolvedores web que representam as comunidades de desenvolvimento.

“Um ponto negativo eu digo que é o nome. Primeiro porque o JavaScript nunca foi Java, e hoje ele não é apenas um script, mas sim uma linguagem completa de programação. Apesar de ser a linguagem mais popular da web, muitos desenvolvedores subestimam o JS muitas vezes por ser realmente a única linguagem que tem como opção para o front-end”, explica Balter.

O JS caminhando com a tecnologia

O JavaScript sempre teve sua força na web e no servidor, e isso se tornou um diferencial, mas com o avanço tecnológico algumas dúvidas pairam no ar sobre a evolução da linguagem.

Mattos aposta fortemente em duas tendências que devem acompanhar o JavaScript. A primeira é a de aplicativos para desktop, que, por incrível que pareça, já é um novo nicho de desenvolvimento utilizando a linguagem (como Spotify, Slack etc.). A segunda questão é muito recente e trata dos subsets de JavaScript, como o asm.js, que proporcionam executar programas escritos em outras linguagens, como C, em JavaScript.

Já Balter acredita que o JS continuará sua evolução, como tem feito desde da sua origem, para se adaptar às novas ferramentas que surgem com a tecnologia. “Assisti a duas demonstrações no evento BrasilJS (que aconteceu em Porto Alegre, em agosto) que comprovam meu pensamento – uma apresentação da Mozilla e outra da Huia (com realidade aumentada) – e fiquei impressionado. Usei óculos 3D – provavelmente o Oculus Rift – em um sistema que interagia com movimentos de terceira dimensão. Parece brega, mas gostei muito do que vi. Era tudo controlado por JavaScript”, exemplifica Leo Balter.

O que podemos esperar da versão ES6 (ou ES2015)?

“Classes, módulos, templates, promisses e destructuring. Muita coisa chegando, e o melhor: conceitos que realmente fazem falta para os desenvolvedores. Ressalto aqui o quanto é gratificante trabalhar com uma linguagem que evolui dessa maneira”, comemora Mattos.

Balter ressalta que a maior diferença do ES6 para o ES5 está na sintaxe do código. “Algumas são, inclusive, chamadas de Syntax Sugar, por resolver muito mais um problema estético do que técnico. Programadores são muitos vaidosos com o seu trabalho, temos orgulho de um código bem escrito, mesmo que a gente esqueça ou apague logo em seguida”. O especialista em JavaScript comenta que existem várias novas funcionalidades, lembrando que foi a maior mudança que o JavaScript já teve. “A grande vantagem é que o TC39 (equipe do ECMA que fez o ES6) teve o cuidado de manter a retrocompatibilidade. Assim, um ambiente com ES6 vai rodar JS que esteja ainda seguindo os padrões do ES5 ou do ES3, versão utilizada pelo já extinto IE6”, define Balter.

O JavaScript daqui a 20 anos

Sabemos que é difícil prever o que estará acontecendo em 2035, ainda mais com a evolução que vivenciamos no mundo tecnológico. Mas esse trabalho de prever o futuro ajuda na questão de trabalhar algumas ideias para os próximos anos. Mattos concorda que é difícil prever um cenário futurista, mas ele aposta em um sistema operacional feito com JavaScript, quase como o FirefoxOS. “Com o lance de ServiceWorkers, eu acredito que cada vez mais o JavaScript vai controlar mais coisas do seu device ou computador. E isso é extremamente fascinante de se pensar. JavaScript é uma das linguagens mais promissoras em termos de comunidade, novas funcionalidades e até investimento de empresas”, conclui Eduardo Mattos.

Leo Balter é mais enfático e aposta que a programação vai fazer parte do ensino fundamental nas escolas, e que o JavaScript tem mais chance de ser a linguagem adotada por ser a mais flexível. “Faço outra aposta por conta de uma falta de distinção entre o que é aplicativo e o que é Internet, fenômeno que já está acontecendo. As pessoas usam naturalmente aplicações como o Facebook e não sabem distinguir se é uma aplicação ou web. Já alguns dizem que é a própria Internet”. Balter complementa que as plataformas criativas estão caminhando para um mundo no qual a web faz cada vez mais parte do dia a dia de todas as pessoas, e o JavaScript continua como um dos seus pilares. “O nome web pode sumir, ser esquecido, mas as pessoas, e não só os desenvolvedores, vão estar cientes de que ela é formada de HTML, CSS e JavaScript”, finaliza.