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

É hora de falar sobre Deno

É hora de falar sobre Deno

Lucas Santos

March 30, 2023
Tweet

More Decks by Lucas Santos

Other Decks in Technology

Transcript

  1. É hora de falar sobre o
    Deno
    e você pode nunca mais parar

    View Slide

  2. $ whoami_
    {twitter, youtube, linkedin…}.lsantos.dev
    software engineer_
    [email protected]

    View Slide

  3. $ Agenda_
    - O que é o Deno?
    - Como ele funciona?
    - Primeiros passos
    - Quais as diferenças entre Deno e Node.js?
    - Coisas que só o Deno tem
    - E o Node? E o NPM?
    - Deno Deploy
    - Conclusão

    View Slide

  4. O que é Deno?
    node, só que ao contrário

    View Slide

  5. Criado pelo mesmo autor do Node.js
    Ryan Dahl
    JSConf 2019

    View Slide

  6. View Slide

  7. Tech Stack

    View Slide

  8. **

    View Slide

  9. Primeiros
    passos
    instalação e hello world

    View Slide

  10. usando gerenciadores_
    https://lsantos.dev/asdf

    View Slide

  11. extensão do VSCode_

    View Slide

  12. Bora ver código_

    View Slide

  13. View Slide

  14. É isso 👍 obrigado_!

    View Slide

  15. Consegue ver a diferença?

    View Slide

  16. Consegue ver a diferença?

    View Slide

  17. Consegue ver a diferença?

    View Slide

  18. Versões na URL

    View Slide

  19. Documentação direta

    View Slide

  20. Mas eu vou ter que
    escrever tudo isso?
    - vocês agora

    View Slide

  21. Import maps e deno.json

    View Slide

  22. Import maps e deno.json

    View Slide

  23. Import maps e deno.json

    View Slide

  24. Import maps e deno.json

    View Slide

  25. Segurança
    sempre em primeiro lugar

    View Slide

  26. Rodando a aplicação_

    View Slide

  27. Rodando a aplicação_

    View Slide

  28. Rodando a aplicação_
    👎

    View Slide

  29. Rodando a aplicação_

    View Slide

  30. Rodando a aplicação_

    View Slide

  31. Rodando a aplicação_
    👍

    View Slide

  32. Sendo mais estrito_
    👎

    View Slide

  33. Sendo mais estrito_
    👎
    👍

    View Slide

  34. MaS cAdE o PaCoTe? 😨

    View Slide

  35. Rodando a aplicação_

    View Slide

  36. View Slide

  37. Tem mais_

    View Slide

  38. O namespace Deno

    View Slide

  39. O namespace Deno

    View Slide

  40. O namespace Deno

    View Slide

  41. O namespace Deno

    View Slide

  42. Standard lib_

    View Slide

  43. Standard lib_

    View Slide

  44. Mas nem tudo fica mais fácil

    View Slide

  45. Mas nem tudo fica mais fácil

    View Slide

  46. Mas nem tudo fica mais fácil

    View Slide

  47. Outras funcionalidades

    View Slide

  48. lint, format, check, vendor, bundle

    View Slide

  49. linter

    View Slide

  50. linter

    View Slide

  51. linter

    View Slide

  52. linter

    View Slide

  53. bundler

    View Slide

  54. bundler

    View Slide

  55. bundler

    View Slide

  56. bundler

    View Slide

  57. Vendoring

    View Slide

  58. vendoring

    View Slide

  59. vendoring

    View Slide

  60. vendoring

    View Slide

  61. vendoring
    Internet

    View Slide

  62. vendoring
    Internet
    Download

    View Slide

  63. com vendoring_

    View Slide

  64. vendoring

    View Slide

  65. vendoring
    Internet
    Download

    View Slide

  66. vendoring
    Internet
    Download
    FileSystem

    View Slide

  67. Compiled packages_

    View Slide

  68. compile

    View Slide

  69. compile

    View Slide

  70. compile

    View Slide

  71. compile

    View Slide

  72. WebAssembly_

    View Slide

  73. DEMO

    View Slide

  74. Mais funcionalidades
    Formatter TSX/JSX nativo

    View Slide

  75. Node e NPM
    Módulos nativos do Node (~1.30) Import direto do NPM

    View Slide

  76. Deno deploy

    View Slide

  77. production
    ready

    View Slide

  78. refs_
    - Roadmap do Q1: https://lsantos.dev/deno-q1-roadmap
    - Notas do 1.30: https://lsantos.dev/deno-130
    - Artigo sobre Deno no meu blog: https://lsantos.dev/deno
    - Repositório de capas: https://github.lsantos.dev/article-cover-creator
    - Canvas com Deno: https://lsantos.dev/deno-canvas
    - Repositórios de exemplos: https://github.lsantos.dev/deno-talk-examples
    - Apresentação original do Deno: https://lsantos.dev/deno-talk-original
    - Deno Deploy: https://deno.com/deploy
    - Suporte para package.json: https://bit.ly/deno-node-support
    - Compatibilidade com Node: https://bit.ly/deno-node-compat

    View Slide

  79. https://lsantos.dev/talk-deno

    View Slide

  80. obrigado_
    lsantos.dev

    View Slide