O Reino encantado do JavaScript – Hipsters #38

JavaScript tomou  a comunidade de desenvolvedores como uma tempestade! Saiu de patinho feio para a queridinha hipster. Como isso aconteceu? O que mudou? Onde e como ele é utilizado atualmente? Bem, a resposta é simples: em todo lugar, de todas as maneiras. Vamos falar de alguns frameworks, alguns usos e reclamar bastante. Sim, esquecemos de falar do ember e de outros.

Participantes:

Links bacanas:

Produção e conteúdo:

  • Alura Cursos online de Tecnologia
  • Caelum Ensino e Inovação

Edição e sonorização: Radiofobia Podcast e Multimídia

Leave a Reply

89 Comentários

  1. Cesar Lemos

    Faz um podcast “Batalha das linguagens”…
    só pela treta

  2. Welton Vaz de Souza

    @flaviohalmeida Obrigado Professor! do hipsters e vc foi e é a pessoa que me ensinou Javascript que gostei transformado aprendizado em diversão! Obrigado @paulo_caelum e equipe da Alura.

    • Flávio Almeida

      Fala cangaceiro! No fundo, eu que tenho que agradecer por você ter sido meu aluno. Aliás, não existe professor sem aluno. Fico muito contente em saber que pude aliar o bom humor à aprendizagem de uma tecnologia e tornar esse sertão da aprendizagem menos chato.

      Sucesso e bom estudo meu aluno!

  3. Ricardo Lima

    Só acho que faltou chamar o Suissa para participar o podcast.. para ele JS é algo divino. kkkk

    • Ia ter que colocar muito Piiii na edição hahaha.
      Brincadeiras a parte, precisava mesmo, quem sabe numa proxima 🙂

  4. João Felipe Alves

    deveria ter uma conversa assim como aula 1 de todos os cursos.

  5. Leo Cavalcante

    Query selector foi inspiração da jQuery? Não foi da especificação do CSS que a jQuery implementou no JS?

    • Paulo Silveira

      é sim! está nos planos, mas ainda sem agendamento 🙁

  6. Flavio

    Qual é o projeto do github pra acompanhar a evolução da linguagem?

  7. Alexandre Costa

    galera tive dificuldade no node.js principalmente na organização da sua estrutura dos arquivos então pergunto o que devo saber antes de sair do javascript front para o back tipo saber mvc, O.O e etc.

    • Olha, é bom ter uma idéia de MVC mas se você pegar um framework como express ele já deve ajudar a abstrair um bocado desse entendimento inicial. Meteor.js é uma boa pra começar também.

  8. Pedrinho Aoki

    Gostei bastante do podcast e concordo com o Sérgio em relação ao Node.
    Muitos acham que é bala de prata para o back-end. Mas é necessário entender melhor os requisitos decada projeto, são diversas variáveis que podem influenciar na decisão de usar Node ou não.

    Faltou falar de typescript ( Em quais situacoes devo migrar meu codigo para TypeScript? Qual area que o Typescript veio atender que o JS nao atende?)

    • Também senti falta do Typescript, mas como a turma da Alura é tão inteligente, deve estar preparando um episódio sobre o tema, uma vez que ele é mais amplo.

      Quando forem falar, talvez vale a pena comentar que a própria google adotou o typescript para o Angular 2^

  9. Patrícia Lima

    Melhor episódio! Vocês poderiam fazer mais episódios assim, mostrando o contexto da linguagem, desde que ela foi criada até o Boom dela. Ajuda a entender algumas coisas. Parabéns pelo podcast e pelo episódio!

  10. ricardo

    Porra massa o site e o podcast, vou seguir

  11. Vinícius Santos Albuquerque

    Muito bom o podcast

    Sugestão: Coloquem configuração de velocidade de execução no player. Eu sempre tenho que baixar para rodar em 2x no computador.

    • Vinicius, tem uma gambiarra que eu faço: abre o console do chrome e cola: `document.querySelector(‘audio’).playbackRate = 2`

  12. Diogo Machado

    Muito bom esse podcast! Já vou seguir os participantes no Twitter, me amarro em Javascript.

  13. trumae

    Nao dah pra fugir do JS no Browser. No backend eu tenho problemas com JS. Mas tambem tenho problemas com Ruby e Python :). Esse tipo de linguagem eh otimo pra prototipos e prototipos eternos. Mas se o sistema fica de porte medio, vira um inferno. A desculpa eh que se escreve muito menos do que em linguagens com tipagem mais forte como C++ ou Java, mas parecem que nao contam a montanha de codigo de testes a mais que se tem que escrever em JS ou Python. Em linguagens menos “dinamicas” precisamos escrever muito menos testes.

    Mas sempre podemos escrever rapidamente uma goiaba sem escrever testes, neh? 🙂

    • Flávio Almeida

      ” Em linguagens menos “dinamicas” precisamos escrever muito menos testes.”. Se você se referiu a linguagem estaticamente tipadas, há uma surpresa aqui.

      Estatic typing não blinda seu runtime 🙂 Aliás, o que acontece é o posto! Pesquisa realizada pelo titio Elliot demonstrou que projetos feitos em Java ou C# possuem muito mais issues abertas do que projetos com linguagens dinâmicas. Qual o motivo? A cobertura de testes.

      A cobertura de testes não muda para uma linguagem dinâmica ou uma estaticamente tipada. Teste unitário continua sendo teste unitário, teste de integração, continua sendo de integração.

    • Flávio Almeida

      “Em linguagens menos “dinamicas” precisamos escrever muito menos testes.”. Linguagens menos dinâmicas, você diz as com tipagens estática? No número de testes não tem relação com essa ou aquela linguagem, porque se você faz teste unitário, esta testando a menor unidade testável de seu sistema, se você faz teste de interação, esta testando algo maior. Aliás, pesquisa recente do Eric Eliot ao levantar projetos nas mais diversas linguagem apontou que linguagem estáticas como java e C# são as que possuem maiores issues abertas, um número menor do que projetos feitos dom JavaScript. Ou seja, a tipagem estática não protege o seu runtime, ou seja, só um teste pode demonstrar se o seu código faz corretamente o que ele deveria fazer. Então, na minha experiência e pegando carona na pesquisa do Eliot, não faz muito sentido dizer que linguagens “menos dinâmicas” escrevem menos testes. É treta!!!!!!!!! 🙂

      • Flávio Almeida

        Ah, e por ser linguagens dinâmicas, você não precisa usar mocks ou outros artefatos bizarros para dar uma volta no compilador e poder testar seu código. Sendo assim, o burdem para testar linguagem “menos dinâmicas” (eu entendi que você quis dizer estáticas) é bem maior.

      • trumae

        Flavio, eu nao escrevi que TDD nao eh necessario. Soh que parte do
        que se escreve em linguagens dinamicas jah eh feito pelo compilador das
        linguagens com tipagem forte. E isso eh pouco discutido.

        Procurei
        esse Elliot, li um artigo dela ha respeito. Li o do Uncle Bob que
        originou tudo. Concordo com o Uncle Bob. TDD eh necessario. E bons
        programadores devem usa-lo. Meu ponto eh que linguagens estaticas jah
        provam varios “teoremas” sobre seu codigo, e isso torna possivel
        escrever menos testes. Muitos desses teoremas sao bem mais forte que
        testes baseados em casos. Obvio que nao eh prova de corretude, ate pq o
        compilador nem saberia que teoremas provar pra isso. Alem da dificuldade
        de provar a grande maioria das proposicoes interessantes.

        O TDD inventado pelo pessoal do SmallTalk, de acordo com o Bob, e o
        melhor que nos temos. Donald Knuth, ao escrever o Tex, fez algo muito
        parecido e estava usando uma linguagem fortemente tipada.

        • Flávio Almeida

          Tem uma coisa que não disse, que acho que é o lado que você estava se referindo. Se programamos com uma linguagem dinâmica e queremos garantir que o tipo recebido é aquele que esperamos, temos que realizar uma série de testes (aqui sai dos testes unitários…ou escopo). Nesse caso, se o programador for por esse lado, ele escreve sim, um monte de código que não existiria se a linguagem fosse estaticamente tipada.

      • trumae

        Acho dificil entender algumas atitudes: na hora de automatizar tarefas
        no desenvolvimento, o pessoal de Ruby, Python e JS manda muito bem. Mas
        usar tipagem? Nao, isso eh o demonio!

  14. JUNIOR FERREIRA

    Tenho certeza que o titulo foi dado pelo Paulo Silveira.. kkkk

  15. Eduardo Henrique

    Poderiam ter mencionado o Electron.js que ta começando a dominar o mundo desktop também. Podcast 10/10

    • Paulo Silveira

      valeu Eduardo! mas varios acabaram ficando de fora mesmo 🙁

    • Ulisses de Castro

      Ontem, estava estudando sobre ele, muito interessante, fiquei mais animado porque consegui integrar um projeto angular js nele.

    • Flávio Almeida

      Tem uma surpresa de Electron… vindo por ai. Não é minha, mas estou acompanhando. Aguardem!

    • Flávio Almeida

      Algum passarinho me contou que terá alguma coisa de Electron numa das melhores plataformas de ensino online. Vamos aguardar!

  16. Gustavo Edny

    Que coisa linda! Tava já pedindo pra fazer um podcast sobre JS. Muito bom!

  17. Samuel Rocha

    Excelente cast pessoal, parabéns, pena que a treta não foi maior 🙂

    Não teria como falar sobre todo o universo Javascript em uma hora, são tantos frameworks que eu nem sei contar hehehe.

    Jaydson e o Felipe mandam muito bem no BrazilJs, a conferência é incrível, só estou esperando a desse ano /

    • Flávio Almeida

      Nem podia ter muita treta com o cangaceiro aqui! Ninguém iria me encarar 🙂

  18. Jose Paulo

    Galera sou dev backend, e já tentei me aventurar no front(não deu certo rsrsrs). Qual a real relevância do nodejs, vale a pena começar um projeto com node hoje, ou uma linguagem(sei que nodejs não é uma linguagem) com mais tempo, ou mais madura, como php ou python. Valeu

    • Flávio Almeida

      Tem que perguntar para a Microsoft, Paypal, Wallmart, Twitter e outras grandes empresas corporativas que usam Node.js em produção 🙂

      Sem puxar a sardinha pro lado do JavaScript, talvez seja interessante investir naquela que tem mais oferta de emprego perto de você. Há também o fator motivação. É balancear a necessidade do mercado e seu gosto. Só não esqueça que dominar JavaScript é mais de meio caminho para aprender a plataforma Node.js.

      Abraço João!

      • Jose Paulo

        Vlw cara agradeço a ajuda e orientações

  19. Zava

    Tinha q dar um tapa na cara desse cara quando fala q prefere Java no back em vez de Node. (uma crianca morre na africa cada vez que vc nao usa node no back)

    • Flávio Almeida

      Não era um bebê foca? Saindo do mundo da treta e vido mais para o mercado, o Java apesar de ser uma linguagem mais verbosa que o JavaScript e outras do mercado, conseguiu consolidar plataforma. Há zilhões de empresas que investiram em treinamento e infraestrutura em Java.

      O Node.js hoje frequenta ambientes corporativos, mas com o advento das Web APIS (micro serviços), no final das contas o dev faz sua API com a tecnologia que for melhor para aquele problema específico. Há espaço para todos.. feliz é aquele dev que sabe transitar em cada uma das tecnologias e aplicar aquela certeira para o problema. Aliás, qualidade de um bom cangaceiro desenvolvedor.

      Abraço Zava!

  20. Eu fiquei confuso com o comentário: “Se fosse por performance todos escolheriam C, C++ ou Java”. A performance de NodeJS não seria superior por ele ser dirigido por evento em um single thread?

    • Nope, C, C++ e Java continuam sendo mais rápidos, sendo single thread ou não. Tem várias soluções que usam event-loops nessas linguagens (e bem anteriores ao NodeJS, inclusive) como o Netty no Java.

  21. Clayton Passos

    Fim da guerra dos browsers? Quando isso acabou que eu não to sabendo?

    Tenho de lidar com IE, Edge, Firefox, Chrome, Neon no desktop, sem falar que a nova versão do Chrome (56 e 57) quebrou um monte de coisas que funcionavam, pra piorar, hoje tenho que lidar com o mobile que me impôe as mesmas variações em celulares, tablets, e smart TV, e no mobile ainda tem o navegador do Android que nem não é nenhum desses que comentei anteriormente.

    Ao meu ver a guerra dos browsers só piorou, nunca acabou.

    Mas tudo bem, no final tenho programado usando Java, Vue e Angular 😀

  22. Rafael Antonio da Silva

    Alura deixa a desejar nos cursos!!

    Sugeri há mais de 3 meses o curso de AWS e nunca foi feito! (sendo mais votado na pesquisa)

  23. Ronan

    Olá, poderia citar alguns exemplos de situações em que equipes que trabalham com outras linguagens back-end optaram por adotar Node para determinada solução?
    Em outras palavras: em quais situação que uma aplicação baseada em Java, Python, PHP precisou optar por Node?

  24. Pedro Scursel

    toda vez que o Flávio fala, me vem ele na cabeça no canto inferior esquerdo, com fundo de chromakey, que nem nas aulas da alura heheheheheh

      • Flávio Henrique Almeida

        É cangaceiro pra todo lado…esquerda, direita, cima baixo…kkk

        • José Luiz

          “Mas vem cá, será que tem como melhorar nosso código?” kkkk

  25. Pingback: Javascript na Linha do Tempo - Dart Digital

Next ArticleDesenvolvimento Android - Hipsters #39