Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bem Vindo ao NodeJS

Bem Vindo ao NodeJS

Guilherme Farias

May 27, 2017
Tweet

More Decks by Guilherme Farias

Other Decks in Programming

Transcript

  1. Bem-vindo ao
    NodeJS

    View Slide

  2. Guilherme Farias

    View Slide

  3. Esta talk não será focada no CODE

    View Slide

  4. 40 minutos é pouco tempo para vocês
    sairem daqui programando
    mas espero que seja suficiente para que
    vocês saiam com vontade de programar
    em
    NodeJS

    View Slide

  5. O que é esse
    NodeJS que todo
    mundo fala?
    É uma plataforma de execução de javascript

    View Slide

  6. O que posso
    fazer com ele?
    WEB
    DESKTOP
    MOBILE
    LINHA DE COMANDO
    ROBÔS
    INTERNET DAS COISAS

    View Slide

  7. E o que ele tem
    de diferente?
    Leve e eficiente
    Não bloqueante
    I/O Intenso
    É Javascript —

    View Slide

  8. Pontos a considerar:
    produtividade comunidade
    pacotes, libs e frameworks contratação
    perspectiva de futuro
    Será que vale a pena?
    ESTABILIDADE

    View Slide

  9. ESTABILIDADE

    View Slide

  10. https://nodejs.org/static/documents/casestudies/Nodejs-at-Uber.pdf
    https://medium.com/netflix-techblog/node-js-in-flames-ddd073803aa4
    https://dev.to/changelog/116-node-black-friday-at-walmart-with-eran-hammer
    https://github.com/nodejs/node-chakracore

    View Slide

  11. O node foi lançado em 2009, e passou quase 6
    anos para chegar a "primeira versão”
    Em 2015, o NodeJS entra para a Linux
    Foundation, e logo evoluiu para a versão 4.x,
    se tornando mais maduro, robusto e com um
    Programa de Lançamento do Suporte de
    Longo Prazo (LTS)

    View Slide

  12. Programa de Lançamento do Suporte de Longo Prazo (LTS)

    View Slide

  13. CERTIFICAÇÕES

    View Slide

  14. PRODUTIVIDADE

    View Slide

  15. MINHA EXPERIÊNCIA
    NA ADOÇÃO DO NODE
    e o caso Paypal
    Artigo escrito em 2013
    https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal
    - Construído quase duas vezes mais rápido com menos pessoas
    - Escrito em 33% menos linhas de código
    - Construído com 40% menos arquivos

    View Slide

  16. Acredito que no final das contas, a produtividade
    acaba sendo mais impactada por fatores humanos
    do que a tecnologia que você usa.
    Lógico que se você otimiza AMBOS pontos, seu
    potencial é muito maior

    View Slide

  17. NO MERCADO HÁ UM GRANDE ABISMO DE PRODUTIVIDADE
    ENTRE EMPRESAS QUE USAM AS MESMAS TECNOLOGIAS
    ESPECIFICAÇÃO DAS TASKS
    CLAREZA
    PRAZOS
    GAMBIARRAS E DÉBITOS TÉCNICOS
    PRIORIDADES
    PADRÕES
    DOCUMENTAÇÃO
    TESTES
    NÍVEL DA EQUIPE
    CULTURA ORGANIZACIONAL

    View Slide

  18. COMUNIDADE

    View Slide

  19. EXISTE MAIS EVENTOS JS NO BRASIL DO QUE SOU CAPAZ DE COLOCAR
    NESTE SLIDE. SEM CONTAR TODA A PRODUÇÃO DE CONTEÚDO EM
    BLOGS, YOUTUBE, GRUPOS DE FACEBOOK, WEEKLYS E ATÉ NO GITHUB.
    bem ai pertinho, VOCÊS PODEM CONTAR
    COM O APOIO DA caravana web e GDG

    View Slide

  20. PACOTES, LIBS
    e FRAMEWORKS

    View Slide

  21. https://dayssincelastjavascriptframework.com
    https://codetalks.net/como-é-programar-em-javascript-em-2016-9c9b3c12cea8

    View Slide

  22. SCALE NPM
    Nov, 2013 - scalenpm.nodejitsu.com

    View Slide

  23. 10/2012
    até
    10/2014
    http://blog.npmjs.org/post/100099402720/registry-roadmap

    View Slide

  24. FUNIONÁRIOS:
    DE 0 PARA 11
    PACOTES:
    DE 53 MIL PARA 114 MIL
    dOWNLOAD MENSAL:
    DE 149 MI PARA 648 MI
    DESENVOLVEDORES:
    DE 21 MIL PARA 83 MIL
    NPM EM 2014
    http://blog.npmjs.org/post/106746762635/npms-year-in-numbers-2014

    View Slide

  25. 04/2015
    http://blog.npmjs.org/post/120036339840/npm-weekly-18

    View Slide

  26. PACOTES:
    209 MIL
    download diários:
    131 MILHÕES
    NPM EM NOV2015
    DOWNLOAD MENSAL:
    2 BILHÕES 859 MILHÕES E 313 MIL

    View Slide

  27. PACOTES:
    475 MIL
    USUÁRIOS MENSAIS:
    7 MILHÕES
    NPM HOJE mai2017
    DOWNLOAD SEMANAL:
    MAIS DE 2 BILHÕES

    View Slide

  28. Frameworks populares
    mais de 30 frameworks em: nodeframework.com

    View Slide

  29. CONTRATAÇÃO

    View Slide

  30. Empresa <-> Profissional

    View Slide

  31. PESPECTIVA
    DE EVOLUÇÃO

    View Slide

  32. Lembrando: ES5, ES6, ES7, ES8
    Lembrando: v5, v6, v7, v8
    O que vocês acham?

    View Slide

  33. E se eu quiser
    começar?

    View Slide

  34. var http = require('http');
    http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Hello World');
    }).listen(3000, '127.0.0.1');
    console.log('Server running at http://127.0.01:3000');
    Instale o Node.JS
    Crie seu primeiro index.js

    View Slide

  35. var express = require('express');
    var app = express();
    app.get('/', function (req, res) {
    res.send('Hello World!');
    });
    app.listen(3000);
    Instale o EXPRESS (npm install express)
    USE NO SEU INDEX.JS

    View Slide

  36. { code }

    View Slide

  37. sequelize: orm para postgresql, mysql e sqlite
    bcryptjs: criptografia para senhas
    jwt-simple: login via token
    async: eviTAr callback hell e organizar processos
    multer: upload de arquivos
    quickthumb: thumbnails on the fly
    lodash: utilidades
    Dicas de módulos

    View Slide

  38. Onde posso aprender mais?
    http://bemean.com.br

    View Slide

  39. guilhermefarias.com
    speakerdeck.com/guilhermefarias
    github.com/guilhermefarias
    twitter.com/guiky

    View Slide