and the future and the future of javascript of javascript
play

and the future and the future of JavaScript of JavaScript Read - PowerPoint PPT Presentation

and the future and the future of JavaScript of JavaScript Read these slides on your device: https://slides.com/seldo/npmfutureofjavascriptqcon QCon SF, 20181105 Who is this guy? Who is this guy? Laurie Voss Laurie Voss COO


  1. and the future and the future of JavaScript of JavaScript Read these slides on your device: https://slides.com/seldo/npm­future­of­javascript­qcon QCon SF, 2018­11­05

  2. Who is this guy? Who is this guy? Laurie Voss Laurie Voss COO & co­founder, npm Inc. @seldo

  3. This talk is about you This talk is about you

  4. Three parts: 1. What you should know about npm What you should know about npm 2. What npm knows about you What npm knows about you 3. The future of JavaScript The future of JavaScript

  5. Part 1: what you should know about npm npm is popular npm is popular

  6. JavaScript is JavaScript is enormously popular enormously popular Language popularity on GitHub, 2014­2018

  7. Who's using npm? Who's using npm? All 50 of the Fortune 50 (we checked!) All 50 of the 50 biggest banks All 50 of the 50 biggest tech companies All 500 of the Fortune 500

  8. JavaScript JavaScript is the most important is the most important programming language programming language in the world in the world

  9. npm is the package npm is the package manager for all JavaScript manager for all JavaScript

  10. But npm is especially But npm is especially for web developers for web developers

  11. 97% 97% of the code in a of the code in a modern web app modern web app comes from npm comes from npm

  12. npm is super fast now npm is super fast now Why not destroy the conference wifi by upgrading right now? npm install npm ­g

  13. Is npm faster than Is npm faster than Yarn? Yarn?

  14. npm 6 npm 6 locks by default locks by default

  15. npm ci will double npm ci will double the speed of your the speed of your builds builds You can use npm ci anywhere you used to use npm install and it will be twice as fast

  16. npm Security npm Security A bunch of new features

  17. npm 6 has 2FA: npm 6 has 2FA: two-factor auth two-factor auth Secure your npm account in 30 seconds: http://go.npm.me/2fa

  18. npm Quick Audits npm Quick Audits Just run npm install!

  19. npm Quick Audit stats npm Quick Audit stats 4 million scans per week Yikes!

  20. npm audit npm audit Just run in your current project: npm audit Learn more: http://go.npm.me/audits

  21. npm audit fix npm audit fix Just run in your current project: npm audit fix or npm audit fix ­­force for the adventurous

  22. Security has become Security has become central to npm Inc. central to npm Inc.

  23. Use npm because Use npm because npm is safer than Yarn npm is safer than Yarn BREAKING NEWS: Company recommends own product. A user journey from Yarn back to npm: https://mixmax.com/blog/to­yarn­and­back­again­npm Yarn to npm migration tool: https://npm.im/deyarn

  24. npm.community npm.community

  25. npm is a company npm is a company that sells good and that sells good and services that you will services that you will find useful find useful

  26. npm Organizations npm Organizations Private packages and security for teams

  27. npm Enterprise npm Enterprise A full­featured private registry for your company.

  28. npm Security npm Security is worth paying for

  29. Part 2: Part 2: What npm knows What npm knows about you about you 1.5 billion log events per day 16,000+ survey responses

  30. Part 2A: Part 2A: demographics demographics Please stand up! (If you can't stand up, raise a hand) Sit down if you don't match the description.

  31. Stay standing if you use npm use npm

  32. Stay standing if you write JavaScript that write JavaScript that runs in browsers runs in browsers

  33. Stay standing if you write JavaScript write JavaScript at work at work

  34. Stay standing if you are concerned about are concerned about security of open security of open source code source code

  35. Stay standing if you mostly taught mostly taught yourself JavaScript yourself JavaScript

  36. Stay standing if you also write PHP or also write PHP or Java sometimes Java sometimes

  37. Stay standing if you work at a company work at a company that isn't considered that isn't considered a "tech company" a "tech company"

  38. Stay standing if you started using npm started using npm less than 2 years ago less than 2 years ago

  39. Stay standing if you use webpack use webpack

  40. Stay standing if you use babel use babel

  41. Stay standing if you work on a React app work on a React app

  42. Stay standing if you use TypeScript use TypeScript

  43. So we know some So we know some stuff about you stuff about you

  44. npm users don't always npm users don't always write JavaScript write JavaScript

  45. The programming The programming language you pick is language you pick is determined by the determined by the libraries available libraries available http://sns.cs.princeton.edu/docs/asr­oopsla13.pdf

  46. Devs pick JavaScript Devs pick JavaScript because of npm because of npm

  47. npm users are npm users are concerned about concerned about security security 77% are concerned 52% said current tools aren't adequate

  48. Part 2B: Part 2B: the tools we use the tools we use

  49. I am about to make I am about to make you angry you angry with graphs

  50. Growth in context Growth in context

  51. Everything in npm grows Everything in npm grows

  52. Share of registry Share of registry

  53. Front end frameworks Front end frameworks

  54. Frameworks never die; Frameworks never die; they only fade away they only fade away

  55. React React 60% of npm users say they use React

  56. Angular Angular

  57. Angryler Angryler Angular is seeing fewer downloads, please don't yell at me about it.

  58. Ember Ember The comeback kid

  59. Vue Vue The next big thing?

  60. The React ecosystem The React ecosystem

  61. React Router React Router

  62. React is a triumph of React is a triumph of modular design modular design

  63. Flux Flux

  64. Redux Redux

  65. React Hooks React Hooks Coming soon to a repo near you

  66. GraphQL GraphQL

  67. RxJS RxJS Get Hannah to explain!

  68. Back-end frameworks Back-end frameworks

  69. Koa Koa

  70. Sails Sails

  71. Hapi Hapi

  72. Next.js Next.js This looks weird

  73. Team B / Team A Team B / Team A

  74. Tooling Tooling

  75. What tools do we use? What tools do we use?

  76. Transpilers Transpilers

  77. 46% 46% of npm users are of npm users are using TypeScript using TypeScript Say what?! Source: npm user survey, 2017/2018

  78. Linters Linters

  79. So about ESLint... So about ESLint...

  80. The ESLint The ESLint Credentials Credentials Harvester Harvester �

  81. npm Security npm Security in action in action �

  82. Take JavaScript Take JavaScript security seriously security seriously �

  83. Testing Testing

  84. Splitting developers Splitting developers by experience by experience

  85. Best practices come Best practices come with experience with experience

  86. Security is associated Security is associated with experience with experience

  87. Part 3: Part 3: the future of JavaScript the future of JavaScript

  88. Learning from history: Learning from history: nothing last forever nothing last forever jQuery, we hardly knew ye.

  89. Ill­advised prediction Learn GraphQL Learn GraphQL

  90. Ill­advised prediction Use TypeScript Use TypeScript

  91. What happens to What happens to npm in the future? npm in the future?

  92. npm is not only npm is not only JavaScript JavaScript and it hasn't been for some time

  93. WASM is coming WASM is coming

  94. WASM is already here WASM is already here https://hacks.mozilla.org/2018/04/hello­wasm­pack/

  95. Ill­advised prediction Bundling and transpiling Bundling and transpiling are hard to get rid of are hard to get rid of

  96. Transpilation Transpilation is bad news is bad news for JavaScript for JavaScript

  97. Node + JavaScript: Node + JavaScript: merge or die merge or die

  98. The best framework The best framework is always the one is always the one with the most users. with the most users.

  99. Ill­advised prediction Use React Use React

  100. Libraries either die Libraries either die or transcend or transcend Backbone died jQuery is part of every browser

Recommend


More recommend