js - qcon · this talk is not about performance. @katie_fenn let’s go back to the beginning....

81
Re-inventing js.com

Upload: others

Post on 21-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

Re-inventingjs.com

Page 2: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Hi, I’m

Katie

Page 3: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Hi, I’m

Katie

Page 4: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Hi, I’m

Katiecw: animation

Page 5: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

•work at

•make the npmjs.com website

•also support the registry

•from sheffield

Page 6: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

disclaimer: this talk is not about performance

Page 7: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Let’s go back to the beginning

Page 8: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

june 2010

landing page

Page 9: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

december 2010

becoming a portal

Page 10: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

august 2012

community hub

Page 11: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

february 2015

company homepage

Page 12: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

september 2015

marketing pages

Page 13: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

march 2018

what’s next?

???

Page 14: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

services• orgs • private repos • 2fa • access tokens • ???

Page 15: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

identity crisis

harder to develop

Page 16: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

identity crisis

isolated developers

Page 17: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

technology crossroads

Page 18: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

technology crossroads

Page 19: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

technologyhumans

Page 20: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Humans

Page 21: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

follow the lead of the community

Page 22: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

reactwebpack • postcss

enzyme • vuenext.js re

dux

jest

Page 23: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

embrace the frontend

Page 24: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

node package manager

Page 25: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

80% of users use npm for frontend development

Page 26: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Page 27: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Page 28: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

we get it you’re feeling pain

Page 29: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

we hired more

frontend developers

Page 30: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

website developers are reporting bugs in npm client and registry

Page 31: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

lines blurring between registry and website developers

Page 32: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

generalists are important to us

Page 33: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

is 32 people

Page 34: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

knowledge sharing

• shared ownership

• reuse code across projects

Page 35: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Technology

Page 36: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

so, what about express?

cw: animation

Page 37: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

nope.

Page 38: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

nope.

Page 39: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

there was a better option:

spife

Page 40: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

“doesn’t that make it hard to hire spife developers?”

- anonymous npm employee

Page 41: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

“doesn’t that make it hard to hire spife developers?”

- anonymous npm employee

Page 42: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

“it’s good for finding people within npm”

- anonymous npm employee

Page 43: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

“it’s good for finding people within npm”

- anonymous npm employee

Page 44: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

a batteries-included http framework

1. spife

icon: cutlery by Chanut is Industries from the Noun Project

Page 45: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

a batteries-included http framework

1. spiferouting • db • orm middleware monitoring logging metrics • auth

Page 46: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

opinionated djavascript

1. spife

icon: cutlery by Chanut is Industries from the Noun Project

• familiar • asynchronous • structured • comfortable

Page 47: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spife

Page 48: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data

Page 49: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data rate limit

Page 50: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data rate limit check csrf

Page 51: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data rate limit check csrf

auth

Page 52: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data rate limit check csrf

auth validate

Page 53: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

middleware and

decorators

1. spifeAPI data rate limit check csrf

auth validate schema

Page 54: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

spife is open source

Page 55: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

react components with css modules

2. design system

Page 56: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

2. design systemcomponents encapsulate standards

Page 57: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

2. design systemcomponents encapsulate standards

Page 58: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack

a react framework

• built-in server-side-rendering

• built-in code splitting

• progressive enhancement

Page 59: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack

server-side rendering

• searchable content

• fast initial page renders

Page 60: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack

code splitting

• automatically split per-route

• spreads bundle loading evenly

Page 61: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack<Form action=“/login” method=“POST> <InputText name=“username” label=“Username" /> <InputPassword name=“password” label=“Username" /> </Form>

progressive enhancement

Page 62: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack

progressive enhancement

• enhances to XHR requests when JS is enabled

• returns JSON response when XHR request is received

Page 63: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

3. spiferack

make doing the right thing easy

Page 64: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

preview.npmjs.com

Page 65: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

preview.npmjs.com

Page 66: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

it’s much better and we hope you’ll love it

Page 67: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

registry cli website

1. 2. 3.

Page 68: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Where are we going?

Page 69: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

make doing the right thing easy

Page 70: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

tooling that embraces short-range sharing

Page 71: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

a focus on making tech work for people rather than computers

cw: animation

Page 72: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

aesthetics

Page 73: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

accessibilityaesthetics

Page 74: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

new and shiny

Page 75: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

tried and trustednew and shiny

Page 76: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn cw: animation

performance

Page 77: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

resilienceperformance

Page 78: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

computers do things better

Page 79: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

Jenn Schiffer

computers do things better faster

cw: animation

Page 80: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

@katie_fenn @npmjs preview.npmjs.com

Thank you

Page 81: js - QCon · this talk is not about performance. @katie_fenn Let’s go back to the beginning. @katie_fenn june 2010 landing page. @katie_fenn december 2010 becoming a portal

@katie_fenn

@katie_fenn @npmjs preview.npmjs.com

Thank you