Minhas anotações sobre a palestra que Chris Heilmann fez no BrazilJS de 2014.
- Os devs esperam muito que a inovação venha de empresas como Mozilla, Apple, Microsoft.
- Em uma banda de música, o cara que toca o baixo, tem um papel muito importante, mas quase sempre ele não é levado a sério ou é reconhecido.
- O baixista dirige a banda. Ele diz para onde a música vai. Ele mantém o ritmo durante a música.
- A maioria das bandas dão o credito para o vocalista
- E de tempos em tempos os vocalistas saem da banda, mas os baixistas se mantém. Os bateristas se dedicam a ficar na banda.
- @brucecoddington
- Ele é ex-baixista. Mas se tornou um Chief Operating Officer de uma pequena empresa de finanças.
- Ele é um car que simplesmente gosta de programar, facilitar a vida dos outros pela programação. Ele gosta de copar em JS. Ele gosta de tentar novos frameworks.
- Ele é um baixista. Ele tem boa conexão com a comunidade e tem uma ligação forte com o que ele faz.
- Essas agressividades e ataques contra ideias e iniciativas diferentes da comunidade traz muito ruído para a inovação no mercado
- A web é desenhada para trabalhar independente do hardware, software, habilidade ou localização.
- Ambiente nativo e bem específico pode inovar mais rápido porque ele controla o usuário.
- São dois mundos diferentes. Na web nós não temos nenhum controle sobre o que o usuário ou no que ele pode produzir.
- Sempre haverá uma fragmentação dos browsers. Várias versões.
- Sempre haverá um browser que você não gosta. E sempre haverá um browser que irá te prejudicar de alguma forma.
- Nosso trabalhar é entregar conteúdo e funcionalidade para os usuários finais.
- Veja como o rádio funciona: as pessoas conseguem te ouvir, mas você não consegue se comunicar com elas.
- Com web é diferente. Você consegue se comunicar e discutir suas ideias
- É difícil entregar tudo perfeito em todos os meios de acesso.
- A principal ponto de mudança foi o crescimento dos mobiles
- No mobile, muitas coisas estão contra a web. Existem vários fatores importantes que precisam ser considerados
- Os browsers são muito ligados com o hardware e com os sistemas operacionais
- Para competir com o mobile, nós precisamos que nossa tecnologia melhore.
- Uma maneira de diminuir os problemas com mobile, é fazer com que linguagens como o JS consigam controlar o mobile como os apps conseguem fazer.
- O JavaScript mudou muito nos últimos anos, mas ele precisa ter mais força para mudar a web definitivamente.
- Muitas das inovações estão precisas em browsers em forma de experimentação durante muito tempo
- Muitos browsers colocam coisas legais, mas essas coisas são retiradas antes que cheguem aos usuários.
- Algumas features ficam presos por que precisa ser pre-processados, pós-processados ou compilados para funcionarem bem em alguns sistemas
- Algumas features precisam ser convertidas em formato binário
- Uma das grandes promessas é o ES6. Por causa das suas features, por causa das suas inovações
- O Suporte do ES6 é encorajador, mas ainda precisa melhorar muito.
- Ainda existem muitos browsers com partes do ES6 em fase de testes.
- Mas os desenvolvedores sempre reclamam que determinados browsers não tem suporte. Mas o que você está fazendo? Quanto mais feedback para os browsers você dar, melhor.
- A solução para colocar o ES6 em todos os browsers é o “transpile”
- O problema é que você coloca um passo a mais entre o código e o browser.
- outro problema é que não temos debug do código que escrevemos.
- Nós ficamos a mercê do transpire criar um código mais eficiente, para que a performance não seja ruim
- E os browsers que já conhecem o ES6, nunca vão usar o ES6 de verdade, porque o transpile transforma o ES6 para ES5.
- Ha outro ponto para usar o ES6: você pode testar se uma feature funciona em determinado browser.
- O problema é que podemos fazer isso apenas em nível de client-side
- É mais um passo extra e pode ser custoso para o browser.
- Voce pode usar também um framework ou uma biblioteca que tem as mesmas features
- O problema com as abstrações é que eles nos fazem dependentes da abstração
- Nós não podemos controlar uma versão que quebra a camada de abstração a não ser que os criadores do framework/biblioteca arrumem para nós
- Nós todos sabemos que o DOM é lerdo e terrível.
- Nós ainda não podemos usar o ES6 com segurança
- Nbsp demos usar Typescript ou Transpile o código
- Nós podemos fazer teste de features, mas isso pode ficar complicado com o tempo. Por que uma feature pode ser implementada pela metade.
- A performance do ES6 ainda é ruim, mas isso é normal para uma linguagem que está começando
- Existem uma série de problemas que você aprender quando você escreve um motor JS.
- Minificação é uma coisa legal, todas as engines de JS são otimizadas pra trabalhar assim
- Todos os browsers correm para não quebrar a web. Se alguma coisa não funciona, é o problema do navegador.
- A pressão é imensa. Esqueça essa guerrinha dos browsers. Isso é uma ferramenta apenas
- O usuário não se importa com a biblioteca de JS ou o suporte do CSS. Ele usa o browser que está no sistema operacional e pronto
- A maior parte do aumento de velocidade são baseados na analise e na execução de erro dos desenvolvedores
- O iOS safari já tem suporte a boa parte do ES6.
- Nós precisamos fazer a web avançar mais rápido dando feedback para os browsers. Assim eles conseguem arrumar os bugs rapidamente.
- Veja a compatibilidade do ES6 aqui http://kangax.github.io/compat-table/es6
- Aqui vemos quais features é mais rápido comparado com o Es5. http://kpdecker.github.io/six-speed
- O bom do JS é que ele é aplicado em toda parte, em qualquer lugar ou dispositivo. De formas diferentes.
- Tente usar ES6 o quanto você puder.
- Em ambientes controlados, testes tudo o que você puder, porque você controla o ambiente.
- Acima de tudo, ache tempo para ter amor pela inovação e tente não deixar as empresas grandes fazerem essa inovações.
- Nós somos os devs que definem o sucesso da web. A web é um sucesso hoje porque os devs lutaram para isso.
- A ordem da implementação das features nos browsers sempre são definidas pelos deus.
- Todos estamos aqui para fazer que a web vá para frente. Todos tem voz. Todos tem habilidades que podem mudar a web.
Discussão dos membros