Aprofunde seus conhecimentos em JavaScript com Jaydson Gomes

 O JavaScript ocupou o lugar de linguagem mais querida e popular no mundo, depois de passar anos sendo incompreendida. Esta mudança é reflexo do avanço da linguagem, das ferramentas e de todas as tecnologias que a cercam. O modo de se desenvolver código client-side mudou, e para melhor.

O ambiente de desenvolvimento não é mais o mesmo, hoje temos um arsenal de ferramentas que ajudam a criar aplicações robustas, escaláveis e de qualidade. Praticamente tudo que existe para melhorar o desenvolvimento de software em alguma outra linguagem, também existe para JavaScript. Testes unitários, testes funcionais, ferramentas de build, validação de sintaxe, validação de convenções, integração contínua. Todos esses itens e muitos outros são essenciais em qualquer tipo de software, e atualmente o desenvolvedor web tem o poder de tornar as aplicações JavaScript muito mais confiáveis do que há alguns anos.

Na Webbr 2013 você poderá conferir a palestra de Jaydson Gomes, experiente há mais de oito anos em desenvolvimento web, apaixonado por JavaScript, curador da BrazilJS Conf, a principal conferência JavaScript do Brasil e uma das maiores do mundo, um dos criadores e líder da BrazilJS Foundation. Atualmente ele trabalha no Terra, na equipe de arquitetura do portal, criando ferramentas e API’s JavaScript para desenvolvedores, e pesquisando novas tecnologias, como HTML5 e todo o seu guarda-chuva, Node.JS e, é claro, JavaScript. Em sua palestra irá apresentar as principais ferramentas, tecnologias e técnicas disponíveis para o desenvolvimento de aplicações client-side, além de mostrar na prática o processo completo de mudança no desenvolvimento front-end feito no Terra. Enquanto a sua palestra não chega, confira a entrevista que fizemos com ele:

Linguagem JavaScript com Jaydson Gomes

1) Quais foram os principais avanços recentes na linguagem JavaScript que impactaram o modo de trabalho dos profissionais front-end?

Na prática, não temos nenhum avanço atual na linguagem em si, pois a nova especificação ainda está sendo desenvolvida. Mas a comunidade e os browser vendors se encarregam de nos proporcionar funcionalidades futuras. Muitos polyfills e webshims nos dão a capacidade de desenvolver hoje o que estará presente somente em um futuro próximo. O grande avanço, no meu ponto de vista, é a maturidade da comunidade e das ferramentas e metodologias que cercam a linguagem. Temos uma comunidade muito forte no mundo inteiro criando coisas incríveis, que tornam a vida do desenvolvedor JavaScript muito mais fácil. Ferramentas como o GruntJS são essenciais em qualquer tipo de aplicação JavaScript, de pequeno ou grande porte.

2) Quais são as habilidades que você identifica como essenciais para um bom programador JavaScript?

Um bom programador JavaScript precisa ser um bom programador. Parece besta, mas é bem isso. Antes de tudo, ser um bom programador é pré-requisito para trabalhar com qualquer tipo de software. Obviamente, cada linguagem tem suas peculiaridades, e no caso do JavaScript, isso é muito mais evidente. O mundo Front-End é um mundo a parte e às vezes até grandes engenheiros, com knowhow excelente em outras linguagens, não conseguem resolver problemas simples de forma satisfatória por não compreenderem esse “estranho e diferente mundo Front-End”.

As habilidades que considero essenciais em um bom programador JavaScript são: capacidade de avaliar se a melhor solução pode ou deve ser feita com JavaScript; entender muito bem o protocolo HTTP; entender como funciona uma linguagem de backend e saber desenvolver em alguma delas (Python, PHP, Node); saber a melhor maneira de estruturar o HTML de uma página; saber a melhor maneira de estruturar o CSS de uma aplicação; ser um participante assíduo de eventos Front-End; estar antenado em TUDO que está acontecendo no mundo FrontEnd, sejam novas bibliotecas, avanços nos browsers, na linguagem, etc, entre muitas outras que não citei aqui.

3) Dada a ampla gama de bibliotecas JavaScript livres existentes, quais são as mais amplamente utilizadas em projetos do Portal Terra?

Bom, o jQuery é a biblioteca mais utilizada no mundo (creio que em 60% dos sites), e no Terra não é diferente, usamos o jQuery. Mas, estamos em um processo de reestruturação do ambiente Front-End, e isso engloba o uso de outras bibliotecas e de um novo Framework construído in-house. Além disso, usamos muito o GruntJS como ferramenta de apoio para builds, templates, entre outras coisas.

4) Já houve alguma contribuição dos programadores do Portal Terra com melhorias para essas bibliotecas?

Infelizmente a cultura do Terra não incorpora a contribuição em projetos de software livre. Mas, ações isoladas de desenvolvedores (como pessoa física) acontecem. Estamos tentando mudar um pouco essa cultura, quem sabe ainda este ano, ou em 2014 o Terra se torne contribuidor de algum projeto livre.

5) Quais são as principais bibliotecas e ferramentas de trabalho que você recomendaria para quem está iniciando no mundo da linguagem JavaScript?

Antes de bibliotecas e ferramentas, eu recomendo o estudo puro da linguagem, isso será o alicerce do desenvolvedor. Após isso, minha dica é que o desenvolvedor se aventure em algum projeto pessoal, em software livre. Isso fará com que o novato desenvolva habilidades inatingíveis em qualquer corporação. Com esses passos, o desenvolvedor será capaz de escolher as bibliotecas e ferramentas corretas, e inclusive poderá criar as suas, que ajudarão outras pessoas no futuro.

6) Na sua avaliação, o que falta ainda a ser aprimorado e melhor explorado na linguagem JavaScript?

Muito do que falta na linguagem já está sendo discutido e especificado na nova versão (Harmony).
Sem dúvidas, o que eu mais sinto falta é uma melhor abordagem no uso de módulos síncronos e assíncronos.

conferenciaweb

2 comentários