BrazilJS 2012

Translate to english

Ano passado, nessa mesma época, tive a felicidade de participar como conferencista da primeira edição do BrazilJS, que já de início foi considerada a maior conferência de JavaScript que se sabe. Foi um bom evento, com pessoas como Mike Taylor -- que tive o prazer de conhecer pessoalmente e acabou se tornando um grande amigo. Também teve David Herman, Michal Budzynski, Richard Worth e um cast ótimo de palestrantes. Mas esse era só o começo.

A edição de 2012 fez com que o ano já seja classificado como épico. Um cast que supera qualquer expectativa, com excelência em todos os fatores: da concepção, organização e logística até a realização. Um time de peso do front-end mundial foi reunido para o evento. Aproximadamente 900 participantes tiveram o privilégio de ter nomes repetidos no evento, porém, com conteúdo novo e relevante, como Mike Taylor, David Herman, Michal Budzynski e Richard Worth, mas também contaram com novos nomes de expressão internacional como Maximiliano "Firt", Ben "Cowboy" Alman e dessa vez, ninguém menos que o criador da linguagem em questão, Brendan Eich.

Do cenário nacional, não consigo pensar em melhor time. Leonardo Balter, Eduardo Lundgren, Davidson Fellipe, Zeno Rocha, Renato Mangini e Bernard de Luna e eu. Sim, fui convidado para ter uma das melhores semanas que já vivi, profissionalmente, junto desse time de Titãs.

Jacob Thornton (o @fat que não é mais do Twitter) não pode se apresentar no evento, provavelmente ele deve ter achado que, como foi pra Buenos Aires alguns meses atrás, poderia entrar no Brasil sem problemas, afinal, Buenos Aires é a capital do Brasil, certo ;) -- Mas ele mandou um vídeo se explicando.

Quem também mandou um recado foi Paul Irish.

Eu e Minha Apresentação

Novecentos. Pela primeira vez me apresentava para um público desse tamanho, um público que por estar ali já merece meu respeito e admiração, um público que sai da zona de conforto que o Zeno tanto gosta de citar em seus slides -- e com razão, um público que feito por aproximadamente novecentas pessoas, permanecia um só.

Tenho certeza que desses novecentos, 30% poderia estar ali em cima do palco, com aquele microfone, falando de algo que ama e que acredita, defendendo uma idéia, plantando semente nas cabeças que deviam estar enfurecidas naquele momento com tanta informação que tinha que ser absorvida, digerida e processada, mas que era simplesmente devorada.

Foi assim que me senti. Quando comecei a falar, me lembro que pensei que havia sentido aquela tensão, daquele tamanho, só duas vezes na minha vida (o que é mentira, mas eu me convenci que isso era verdade pra poder seguir em frente).

Do momento que escolhi falar sobre getUserMedia() até a apresentação, eu li a especificação da W3C muitas vezes, cheguei a descartar tudo e começar os slides do zero, quatro vezes. Fazia buscas diariamente sobre novidades, demos, técnicas, mas foquei a apresentação em alguns pilares:

  1. Internet em tempo real
  2. Privacidade e especificações da W3C
  3. WebRTC
  4. getUserMedia()

O Evento

Tudo começa no começo. Chegando no hotel, já dei de frente com uma cama cheia de mimos. Uma sacola estilizada com o logotipo do JavaScript, um bolo com o mesmo logotipo amarelo, guias de Porto Alegre e mais um monte de coisas. Felipe e Jaydson são os idealizadores do evento no ano de 2012, com a ajuda da Altos Eventos. A Mariana e a Juliana são duas pessoas excepcionais, nos deram toda atenção do mundo e tiveram cuidado pra que tudo fosse impecável e o mais próximo possível da perfeição.

As palestras Nacionais

Leonardo Balter - Testing Sucks

Slides

Com cautela na escolha do tema, Leo decidiu falar sobre testes. Um assunto o qual ele dissecou minuciosamente bem, dissecando todos os tipos, partes, formas e técnicas. O pessoal estava com muita sede de conhecimento, o que acabou deixando o pessoal ansioso pra uma demonstração mais "mão na massa", que viria na segunda parte de sua apresentação, mostrando o seu projeto mais recente, Dexter JS.

Minha opinião pessoal foi de que ele dissecou (bem como o Dexter do seriado) o assunto, desvendou cada aresta de um assunto extremamente controverso.

Renato Mangini - Web app ou aplicativo nativo? Tenha o melhor dos dois!

Slides

Segundo brasileiro a se apresentar, Renato vem em nome do Google. Mais especificamente, do time de relações com desenvolvedores do Chrome.

Ele falou sobre Chrome Packaged Apps

No final, com participação especial de Luis Leão, Renato demonstrou o poder do Chrome, controlando as luzes do palco diretamente de seu navegador, com ajuda de um Arduino e uma interface DMX, fornecida pelo local do evento.

Eduardo Lundgren - tracking.js

Meu primeiro contato com o Eduardo foi antes da conferência, quando o Jaydson nos apresentou via e-mail dizendo que poderia haver algum conflito de conteúdo entre nossas apresentações. Quando conversamos e acertamos, ambos chegamos a conclusão que nossas apresentações, na verdade, se completavam.

O tracking.js trata-se de uma biblioteca que faz uso do getUserMedia() com alguns algoritmos de reconhecimento e interação. Nas demonstrações, ele usou o PS Move (periférico para o console PS3 da Sony) para mostrar um vislumbre dos tipos de interações que podemos ter com esse recurso. Vale a pena conferir o código.

Davidson Fellipe - Alta Performance em Aplicações JavaScript

Slides

Davidson tem um perfíl expontâneo para comunidades de desenvolvimento, o que consequentemente, já podemos concluir que ele é um profissional extremamente capacitado e isso é algo que não tenho dúvidas. Com isso em mente, ele fez um talk sobre performance em JavaScript. Um assunto extremamente interessante.

Deixou claro a importância de "tweakar" o front-end de uma aplicação web, processos bloqueantes, UI Thread, scripts de terceiros, carregamento paralelo e ordem de execução de scripts, repaint e reflow. Realmente abrangente e completo.

Achei interessante a escolha do palestrante, de no lugar de se aprofundar em um tópico, resolveu fazer um overview completo de grande parte dos tópicos que mais preocupam na hora da performance do lado do navegador.

Para o pessoal que estava mais preocupado em criar flamers do que aproveitar o momento, o sábio Tiago Bonamigo explica como funciona:

Zeno Rocha - Como não virar um Zumbi: Kit de sobrevivência

Slides

Zeno, talvez o profissional que mais tem se destacado no Brasil como um palestrante sobre desenvolvimento para o navegador, escolheu um assunto que já vem sendo abordado no exterior com grande frequência e é tendência entre o pessoal de mais destaque: ferramentas e processos de desenvolvimento no front-end.

Abordou fórmulas que facilitam o início de aplicações, ou os chamados "boilerplates", gerenciamento de fontes, pré-processadores, debug de código e ferramentas para agilizar processos como minificação, code linting, debug em dispositivos móveis, testes e build scripts.

O ponto alto foi da palestra foi quando Zeno promoveu um choque de gerações, chamando o maior autor nacional quando o assunto é front-end, Maujor. Importante citação: Comic Sans MS: quem nunca?

Bernard de Luna - Estilizando Folhas de Estilo Com Estilo

Slides

Como dito acima, Jacob Thornton não pode se apresentar e então a dúvida surgiu: quem poderia substituir? O escolhido foi Bernard. E que sábia escolha.

Já havia visto sua apresentação no TDC 2012 São Paulo, onde eu tive o privilégio de ser o coordenador da trilha de Front-end, que foi seu primeiro ano, junto do Paulo Fernandes.

Bernard consegue sempre fazer uma apresentação que diverte e impressiona. Meu maior receio era que as pessoas não achassem algo positivo ter um cara de CSS falando numa conferência de JavaScript, mas funcionou bem demais.

Até onde acompanhei, tive a impressão que sua participação foi a mais elogiada e surpreendente. Muitos comentários positivos, feedbacks ótimos e satisfação de todo mundo. Um ótimo apresentador que informa, entretém e deu show!


As palestras Internacionais

Richard Worth - jQuery: The Next 5 Years

Richard é uma figura conhecida (e querida) pelos desenvolvedores brasileiros. Ele, que fala português, mostrou de uma maneira extremamente divertida a popularidade que o jQuery tem hoje, com todo seu alcance e visibilidade, conseguindo trazer cada vez mais desenvolvedores para o JavaScript. Logo em seguida, falou também um pouco sobre a jQuery Foundation, e como cada um de nós podemos ajudar cada vez mais com o desenvolvimento dessa ferramenta.

Quando sua palestra foi aberta para perguntas, de cara já perguntaram sobre a polêmica (porém sábia) decisão de abandonar navegadores legados. Precisamos empurrar a web pra frente! :)

Maximiliano Firtman - Breaking Limits On JavaScript With Mobile HTML5

Já de cara imaginei que seria uma apresentação e tanto. Ele chegou e montou um set com câmera para captar demonstrações feitas no celular, o que achei bem legal. Max (como disse que gosta de ser chamado) é argentino cidadão do mundo. Já palestrou nos maiores eventos e tem muitas publicações de vários assuntos, como Mobile Web, jQuery Mobile, Ajax, Asp.NET etc.

Em sua apresentação ele fala sobre Native vs. Web, ferramentas de testes, sempre com bons argumentos e defesas.

Uma passagem de sua apresentação que me chamou, deixo finalizando este:

typeof html5 != boolean

Mike Taylor - JS on TV

A descrição para esta apresentação é só uma. É um nome próprio que também é adjetivo: Mike Taylor.

Ele conseguiu chegar minutos antes de sua apresentação graças ao furacão Isaac, e nem isso fez com que sua apresentação fosse nada além de excelente.

Trouxe a história do navegador Opera em dispositivos como video games e também TV. Explicou todas as dificuldades, mostrando slides repletos de bom humor e gifs "old school".

Acho válido dizer que Mike é um dos profissionais que mais admiro desse meio, por ter um conhecimento gigantesco e sempre estar disposto a ajudar e ensinar.

David Herman - ES6 Deep Dive: Symbols, Generators, Structs

Slides

Pensando apenas em JavaScript, com certeza esta apresentação foi a que mais alcançou as profundezas da linguagem. Foi, talvez, a palestra mais "hardcore" de todo o evento.

David não poupou. Tratou de assuntos como variáveis privadas, arrays de structs, compiladores just-in-time, task.js (um framework para ES6 que faz I/O bloqueante e sequencial utilizando yield).

Como se não fosse suficiente, ele decidiu falar também de… bom, deixa pra lá. Vocês vão ter que assistir a apresentação dele. Até porque, não faço idéia de como explicar o pet-project dele.

Michal Budzinsky - The Next Console Generation Will Be The Last

Uma apresentação divertida, sobre um assunto ainda mais legal: jogos. Michal mostrou a evolução do Tetris. De como ele era simples, e como ao mesmo tempo, eram criadas versões ainda mais simples -- em JavaScript, com até 140 chars --, como até mais complexas, em três dimensões e tudo mais.

Também gostaria de dizer que sempre sinto vergonha quando alguém de fora do país quer presentear brasileiros com camisetas.

Ben "Cowboy" Alman - An Introduction to Grunt

Quando fui convidado pra me apresentar no BrazilJS, eu tinha dois temas em mente:

  1. Grunt
  2. getUserMedia()

Quando eu soube que o Cowboy viria, tive certeza do tema que eu iria falar. E logo em seguida, eu tinha certeza que o evento seria épico.

Ben Alman falou sobre sua criação, o Grunt de uma maneira extremamente prática. Já no começo ele abriu seu terminal, seu editor de textos e saiu demonstrando na prática a agilidade de usar o Grunt como ferramenta de builds para o front-end.

No final, Ben também inspirou contando sobre um projeto que ele criou quando uma tecla de seu teclado quebrou, e ele criou o Abstraction.JS "Lite"

Brendan Eich - The State of JavaScript

Como tentar fazer uma resenha sobre uma palestra de Brendan Eich sem ser tendencioso? Me explique se souber.

Brendan fez uma apresentação parecida com a da Fluent Conf 2012, contando um pouco sobre a história, o presente e o que ainda está por vir no JavaScript.

Ao contrário do que pensei, não foi uma matéria "hard core", deixando este título para David Herman, mas foi sim uma palestra ponderada, com muitos demos -- incluindo uma partida rápida do Banana Bread. Eu me lembro de ter jogado este, mas eram uns esquilos malditos, não soldados.

No final, ele inspira mostrando como JavaScript, supostamente, não era pra ser que é hoje pelos olhos da maioria, com a frase: Sempre aposte no JavaScript.