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 full-size slide

  2. Guilherme Farias

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. ESTABILIDADE

    View full-size 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 full-size 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 full-size slide

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

    View full-size slide

  13. CERTIFICAÇÕES

    View full-size slide

  14. PRODUTIVIDADE

    View full-size 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 full-size 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 full-size 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 full-size slide

  18. 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 full-size slide

  19. PACOTES, LIBS
    e FRAMEWORKS

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  23. 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. CONTRATAÇÃO

    View full-size slide

  29. Empresa <-> Profissional

    View full-size slide

  30. PESPECTIVA
    DE EVOLUÇÃO

    View full-size slide

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

    View full-size slide

  32. E se eu quiser
    começar?

    View full-size slide

  33. 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 full-size slide

  34. 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 full-size slide

  35. 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 full-size slide

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

    View full-size slide

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

    View full-size slide