82
JavaScript is a buffet, not the enemy Chris Heilmann @codepo8, ScriptConf, January 2017

JavaScript is a buffet - Scriptconf 2017 keynote

Embed Size (px)

Citation preview

Page 1: JavaScript is a buffet - Scriptconf 2017 keynote

JavaScript is a buffet, not the enemy

Chris Heilmann @codepo8, ScriptConf, January 2017

Page 2: JavaScript is a buffet - Scriptconf 2017 keynote

JavaScript is a buffet, not a main course…“

– Chris Heilmann

Page 3: JavaScript is a buffet - Scriptconf 2017 keynote

JavaScript has grown from a language and one part of the web stack into a development environment in its own right.

Page 4: JavaScript is a buffet - Scriptconf 2017 keynote

We want to and we do everything with JavaScript!

Page 5: JavaScript is a buffet - Scriptconf 2017 keynote

This causes a lot of confusion…

Page 6: JavaScript is a buffet - Scriptconf 2017 keynote

And I’m worried about the state of the web and our community.

Page 7: JavaScript is a buffet - Scriptconf 2017 keynote

We work in the open, and with very flexible technologies…

Page 8: JavaScript is a buffet - Scriptconf 2017 keynote

…but I see more drama and dogma than flexibility and understanding.

Page 9: JavaScript is a buffet - Scriptconf 2017 keynote

Worst of all, I see a lot of arrogance and intimidation.

Page 10: JavaScript is a buffet - Scriptconf 2017 keynote

That’s why today I want us to stop and think about how we use JavaScript and share our excitement.

Page 11: JavaScript is a buffet - Scriptconf 2017 keynote

I’m not forbidding anyone to do whatever they want to…

Page 12: JavaScript is a buffet - Scriptconf 2017 keynote

But I want to see us becoming more diverse and interesting!

Page 13: JavaScript is a buffet - Scriptconf 2017 keynote

Going back to the buffet metaphor…

Page 14: JavaScript is a buffet - Scriptconf 2017 keynote

Buffets are great…

✅ They feed a lot of people in a short time

✅ They allow people to make their own decisions

✅ They create less waste - people only take what they need

✅ They are async - you can cook whilst people eat

Page 15: JavaScript is a buffet - Scriptconf 2017 keynote

Buffets have issues…

🙄 They have lesser quality food 🙄 They might contain things that

make people sick 🙄 You hope that everything is fresh

and gets renewed when not used 🙄 Everybody has their hands in them

and you hope they use the right tools to take their part

Page 16: JavaScript is a buffet - Scriptconf 2017 keynote

And this is pretty much where we are with JavaScript…

Page 17: JavaScript is a buffet - Scriptconf 2017 keynote

Buffet and JavaScript etiquette…

Page 18: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t cherry-pick and leave nothing for others…

Page 19: JavaScript is a buffet - Scriptconf 2017 keynote

Your environment is very much you - and probably nobody else.

Page 20: JavaScript is a buffet - Scriptconf 2017 keynote

This is great, own that and customise to your needs.

Page 21: JavaScript is a buffet - Scriptconf 2017 keynote

Share what makes you happy and makes you more effective.

Page 22: JavaScript is a buffet - Scriptconf 2017 keynote

Help improve the tools you use and you love.

Page 23: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t pick the things you like and demand people to accommodate to your needs.

Page 24: JavaScript is a buffet - Scriptconf 2017 keynote

Make sure you explain in detail what you rely on and why.

Page 25: JavaScript is a buffet - Scriptconf 2017 keynote

You’re creating a service; the more you think about others, the more success you will have.

Page 26: JavaScript is a buffet - Scriptconf 2017 keynote

Be ready to be flexible.

Page 27: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t try to re-use dirty plates…

Page 28: JavaScript is a buffet - Scriptconf 2017 keynote

Some things should not be used on the web any longer…

Page 29: JavaScript is a buffet - Scriptconf 2017 keynote

It is not OK to block these things out, but it is a waste of time to support them 100%.

Page 30: JavaScript is a buffet - Scriptconf 2017 keynote

We can’t move forward carrying the weight of failed APIs and broken implementations…

Page 31: JavaScript is a buffet - Scriptconf 2017 keynote

This includes polyfills that aren’t included on demand

Page 32: JavaScript is a buffet - Scriptconf 2017 keynote

The web needs to be evergreen

Page 33: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t put meat in the veggie section…

Page 34: JavaScript is a buffet - Scriptconf 2017 keynote

There are environments that have no or very restricted JavaScript.

Page 35: JavaScript is a buffet - Scriptconf 2017 keynote

Yes, JavaScript is used to spy on users and but that doesn’t mean we need to demonise it - we need to do better.

Page 36: JavaScript is a buffet - Scriptconf 2017 keynote

Different use cases of JavaScript have different needs.

Page 37: JavaScript is a buffet - Scriptconf 2017 keynote

Each of those have best practices and sensible approaches.

Page 38: JavaScript is a buffet - Scriptconf 2017 keynote

They don’t need to mix, they might even be antithetical.

Page 39: JavaScript is a buffet - Scriptconf 2017 keynote

And that’s OK - we can evolve JavaScript on different tracks.

Page 40: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t pile up your plate…

Page 41: JavaScript is a buffet - Scriptconf 2017 keynote

It can be daunting to look at the JavaScript world.

Page 42: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t try to be everything, find something you are excited about and do that at first.

Page 43: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t use every cool new thing because it is cool and new.

Page 44: JavaScript is a buffet - Scriptconf 2017 keynote

Get to know the basics and go from there

Page 45: JavaScript is a buffet - Scriptconf 2017 keynote

If you publish something, think about collaborating.

Page 46: JavaScript is a buffet - Scriptconf 2017 keynote

Documentation, tests and demos written by others allow you to question your biases and means less work for you

Page 47: JavaScript is a buffet - Scriptconf 2017 keynote

Find a stack that allows you to deliver your work and don’t rely on things you don’t know yet.

Page 48: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t touch things you don’t like and you don’t want…

Page 49: JavaScript is a buffet - Scriptconf 2017 keynote

It is OK not to understand something or not like it.

Page 50: JavaScript is a buffet - Scriptconf 2017 keynote

It is not OK to discard it and call people using it unprofessional.

Page 51: JavaScript is a buffet - Scriptconf 2017 keynote

JavaScript can be a great helper tool, it doesn’t need to replace everything.

Page 52: JavaScript is a buffet - Scriptconf 2017 keynote

It is also not helpful trying to forcefully convert them.

Page 53: JavaScript is a buffet - Scriptconf 2017 keynote

Use the cutlery provided…

Page 54: JavaScript is a buffet - Scriptconf 2017 keynote

Flexibility and control comes at a price.

Page 55: JavaScript is a buffet - Scriptconf 2017 keynote

The more functionality you make dependent on scripting, the more responsibility you have.

Page 56: JavaScript is a buffet - Scriptconf 2017 keynote

If you can use the web platform to solve an issue - use it.

Page 57: JavaScript is a buffet - Scriptconf 2017 keynote

You are likely to have much more support for environments you haven’t even thought of.

Page 58: JavaScript is a buffet - Scriptconf 2017 keynote

You allow browser creators to optimise for you.

Page 59: JavaScript is a buffet - Scriptconf 2017 keynote

The fewer code you ship to the end user, the better.

Page 60: JavaScript is a buffet - Scriptconf 2017 keynote

Consider making several trips…

Page 61: JavaScript is a buffet - Scriptconf 2017 keynote

We have an unfortunate drive to deliver all the functionality on first interaction in our products.

Page 62: JavaScript is a buffet - Scriptconf 2017 keynote

This isn’t sensible in terms of data size and code that needs to get parsed and executed in an unknown environment.

Page 63: JavaScript is a buffet - Scriptconf 2017 keynote

It also doesn’t allow us to deliver the right solution to the current environment.

Page 64: JavaScript is a buffet - Scriptconf 2017 keynote

Consider not using the one-size-fits-all solution that makes you more effective.

Page 65: JavaScript is a buffet - Scriptconf 2017 keynote

Instead, deliver a progressively improving solution.

Page 66: JavaScript is a buffet - Scriptconf 2017 keynote

All the code that didn’t get loaded and executed is a benefit in a flaky connection world.

Page 67: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t be afraid to taste…

Page 68: JavaScript is a buffet - Scriptconf 2017 keynote

We live in great times where you can learn most of what you need in our market online and for free.

Page 69: JavaScript is a buffet - Scriptconf 2017 keynote

Go and play. Try something new. Kick the tyres of products people sell you as amazing.

Page 70: JavaScript is a buffet - Scriptconf 2017 keynote

Don’t sit on your laurels, there is so much to explore out there.

Page 71: JavaScript is a buffet - Scriptconf 2017 keynote

Be sure to use this opportunity, watch videos, take courses, take part in open source projects.

Page 72: JavaScript is a buffet - Scriptconf 2017 keynote

Make sure to explain this to your companies and demand time to keep learning.

Page 73: JavaScript is a buffet - Scriptconf 2017 keynote

If you need help with this, let’s talk :)

Page 74: JavaScript is a buffet - Scriptconf 2017 keynote

What’s for pudding?

Page 75: JavaScript is a buffet - Scriptconf 2017 keynote

The JavaScript world and community is us.

Page 76: JavaScript is a buffet - Scriptconf 2017 keynote

It is not one browser or engine or environment. Monoculture is stagnation. Let’s not stagnate but improve.

Page 77: JavaScript is a buffet - Scriptconf 2017 keynote

There are many ways you can help this community - not all are hard-core coding.

Page 78: JavaScript is a buffet - Scriptconf 2017 keynote

We need to break the toxic demand of more code in less time.

Page 79: JavaScript is a buffet - Scriptconf 2017 keynote

Quick, cheap and fast makes us sick

Page 80: JavaScript is a buffet - Scriptconf 2017 keynote

We need to deliver things that are digestible, with good ingredients and non-fattening.

Page 81: JavaScript is a buffet - Scriptconf 2017 keynote

And that needs time and effort. Demand that you get it.

Page 82: JavaScript is a buffet - Scriptconf 2017 keynote

CHRIS HEILMANN

@CODEPO8

CHRISTIANHEILMANN.COM

THANKS!