and the future and the future
- f JavaScript
- f JavaScript
QCon SF, 20181105
https://slides.com/seldo/npmfutureofjavascriptqcon
Read these slides on your device:
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
and the future and the future
QCon SF, 20181105
https://slides.com/seldo/npmfutureofjavascriptqcon
Read these slides on your device:
Who is this guy? Who is this guy?
Laurie Voss Laurie Voss
COO & cofounder, npm Inc. @seldo
This talk is about you This talk is about you
Three parts:
What you should know about npm
What npm knows about you
The future of JavaScript
npm is popular npm is popular
Part 1: what you should know about npm
JavaScript is JavaScript is enormously popular enormously popular
Language popularity on GitHub, 20142018Who's using npm? Who's using npm?
All 50 of the Fortune 50 All 50 of the 50 biggest banks All 50 of the 50 biggest tech companies All 500 of the Fortune 500
(we checked!)
JavaScript JavaScript is the most important is the most important programming language programming language in the world in the world
npm is the package npm is the package manager for all JavaScript manager for all JavaScript
But npm is especially But npm is especially for web developers for web developers
modern web app modern web app comes from npm comes from npm
npm is super fast now npm is super fast now
npm install npm g
Why not destroy the conference wifi by upgrading right now?Is npm faster than Is npm faster than Yarn? Yarn?
npm 6 npm 6 locks by default locks by default
npm ci will double npm ci will double the speed of your the speed of your builds builds
npm ci You can use anywhere you used to use npm install and it will be twice as fast
npm Security npm Security
A bunch of new features
npm 6 has 2FA: npm 6 has 2FA: two-factor auth two-factor auth
http://go.npm.me/2fa Secure your npm account in 30 seconds:
npm Quick Audits npm Quick Audits
Just run npm install!
npm Quick Audit stats npm Quick Audit stats
4 million scans per week
Yikes!
npm audit npm audit
Just run in your current project: npm audit Learn more: http://go.npm.me/audits
npm audit fix npm audit fix
Just run in your current project:
for the adventurous npm audit fix npm audit fix force
Security has become Security has become central to npm Inc. central to npm Inc.
Use npm because Use npm because npm is safer than Yarn npm is safer than Yarn
https://mixmax.com/blog/toyarnandbackagainnpm
https://npm.im/deyarn
Yarn to npm migration tool: A user journey from Yarn back to npm:
BREAKING NEWS: Company recommends own product.
npm.community npm.community
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
npm Organizations npm Organizations
Private packages and security for teams
npm Enterprise npm Enterprise
A fullfeatured private registry for your company.
npm Security npm Security
is worth paying for
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
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.
Stay standing if you
use npm use npm
Stay standing if you
write JavaScript that write JavaScript that runs in browsers runs in browsers
Stay standing if you
write JavaScript write JavaScript at work at work
Stay standing if you
are concerned about are concerned about security of open security of open source code source code
Stay standing if you
mostly taught mostly taught yourself JavaScript yourself JavaScript
Stay standing if you
also write PHP or also write PHP or Java sometimes Java sometimes
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"
Stay standing if you
started using npm started using npm less than 2 years ago less than 2 years ago
Stay standing if you
use webpack use webpack
Stay standing if you
use babel use babel
Stay standing if you
work on a React app work on a React app
Stay standing if you
use TypeScript use TypeScript
So we know some So we know some stuff about you stuff about you
npm users don't always npm users don't always write JavaScript write JavaScript
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/asroopsla13.pdf
Devs pick JavaScript Devs pick JavaScript because of npm because of npm
npm users are npm users are concerned about concerned about security security
77% are concerned 52% said current tools aren't adequate
Part 2B: Part 2B: the tools we use the tools we use
I am about to make I am about to make you angry you angry
with graphs
Growth in context Growth in context
Everything in npm grows Everything in npm grows
Share of registry Share of registry
Front end frameworks Front end frameworks
Frameworks never die; Frameworks never die; they only fade away they only fade away
React React
60% of npm users say they use React
Angular Angular
Angryler Angryler
Angular is seeing fewer downloads, please don't yell at me about it.Ember Ember
The comeback kid
Vue Vue
The next big thing?
The React ecosystem The React ecosystem
React Router React Router
React is a triumph of React is a triumph of modular design modular design
Flux Flux
Redux Redux
React Hooks React Hooks
Coming soon to a repo near you
GraphQL GraphQL
RxJS RxJS
Get Hannah to explain!
Back-end frameworks Back-end frameworks
Koa Koa
Sails Sails
Hapi Hapi
Next.js Next.js
This looks weird
Team B / Team A Team B / Team A
Tooling Tooling
What tools do we use? What tools do we use?
Transpilers Transpilers
46% 46% of npm users are
using TypeScript using TypeScript
Say what?!
Source: npm user survey, 2017/2018
Linters Linters
So about ESLint... So about ESLint...
The ESLint The ESLint Credentials Credentials Harvester Harvester
npm Security npm Security in action in action
Take JavaScript Take JavaScript security seriously security seriously
Testing Testing
Splitting developers Splitting developers by experience by experience
Best practices come Best practices come with experience with experience
Security is associated Security is associated with experience with experience
Part 3: Part 3: the future of JavaScript the future of JavaScript
Learning from history: Learning from history: nothing last forever nothing last forever
jQuery, we hardly knew ye.
Learn GraphQL Learn GraphQL
Illadvised prediction
Use TypeScript Use TypeScript
Illadvised prediction
What happens to What happens to npm in the future? npm in the future?
npm is not only npm is not only JavaScript JavaScript
and it hasn't been for some time
WASM is coming WASM is coming
WASM is already here WASM is already here
https://hacks.mozilla.org/2018/04/hellowasmpack/
Bundling and transpiling Bundling and transpiling are hard to get rid of are hard to get rid of
Illadvised prediction
Transpilation Transpilation is bad news is bad news for JavaScript for JavaScript
Node + JavaScript: Node + JavaScript: merge or die merge or die
The best framework The best framework is always the one is always the one with the most users. with the most users.
Use React Use React
Illadvised prediction
Libraries either die Libraries either die
Backbone died jQuery is part of every browser
Standards bodies are Standards bodies are bad at inventing things bad at inventing things
Make JSX Make JSX part of JavaScript part of JavaScript
We already did and it We already did and it was called E4X was called E4X
Can React Can React transcend? transcend?
npm install reactcolor
What about that What about that slowdown in React? slowdown in React?
Can React Can React components hit components hit critical mass? critical mass?
Frameworks Frameworks adopting React adopting React would force would force browsers to act browsers to act
What about web What about web components? components?
Web components would be great if they worked but they don't, yet. Don't @ me.
We can raise the web We can raise the web to a new level to a new level
Don't be afraid Don't be afraid
Web developers will always have a job
A bigger web A bigger web is a better web is a better web
npm is for the web npm is for the web
The future looks fun The future looks fun
The web will remain The web will remain under construction under construction
We can do this We can do this
https://slides.com/seldo/npmfutureofjavascriptqcon
@seldo
These slides are available right now Now would be a good time to follow me on Twitter