3. There is a lot of love for
JavaScript on the web…
💚❤💙💛💜
4. With good
reasons…
😃 Very flexible language
😃 Runs everywhere
😃 Automatically available in browsers
😃 Multiple, open-source engines available
😃 Huge community
😃 Lightweight development environment
(text editor/browser is enough?)
5. Lately JavaScript has a lot of visibility
which leads to obsession instead of love…
🔥💵📈💯📢
6. Which leads to a lot of pressure
and anxiety for us developers…
😫😓😭😱😡
7. Tell me if this
sounds familiar…
🤔 I feel like I’m out of the loop
🤔 By the time I get to play with a new JS
feature, people already blog it is
“considered harmful”
🤔 Everbody talks about flügelhorn.js but I
have no idea what I’d need it for – am I
building things nobody else does?
🤔 What are all these NPM modules on my
HD?
🤔 Why do I get all these warnings when I
build something and how come this is
not a problem?
9. JavaScript used to
be easy - it was
just one language
in the web stack.
HTML
(Structure)
CSS
(Look and Feel)
JavaScript
(Behaviour)
10. Due to its flexible
nature, we
extended its use
cases massively…
11. JavaScript now
is a lot more…
✅ Web Development
✅ Task runners
✅ Package management
✅ Module-driven development
✅ Extension of software (browsers, editors)
✅ APIs
✅ Services
✅ Servers
✅ Fat client applications
✅ Compilation target
✅ Embeddable runtime
✅ Argument firestarter
12. Enhance HTML
progressively
Use libraries
Use APIs and
services
Use node, gulp, grunt, NPM
and others to manage your
tasks and builds
Write code for Node,
other systems and
services to write apps.
Different uses require different skill levels…
13. Actively participate in
systems used earlier
in the timeline…
Participate in extending
editors and development
environments…
Work on meta languages
and ideas to bridge the
gap between JS and
higher level languages.
Actively participate in
inventing the next
version of the language
20. Build tools and process balancing act
Use what enables
others to work with
you…
Use what helps you
write maintainable
code…
21. Progressive enhancement balancing act
Control the UX with
JavaScript and own
the failure cases.
Rely on the browser
to give a “working”
experience.
22. Supporting the past balancing act…
Use powerful
language
additions…
Don’t block out
older browsers and
environments…
23. I can’t help you with all these decisions. It is
up to you and the products you work on
what makes sense and what doesn’t…
24. However, here’s
a few pointers…
🤓 Learn the language - learn how it works,
its strengths and weaknesses.
😉 Use polyfills and libraries when you
know what they do. Make sure you can
remove them and upgrade them if
needed.
😍 ES6 is the current, ratified version of
JavaScript. Use it, don’t wait for it.
🤓 Promises are an important part of every
new JavaScript API. Good to get your
head around them.
😱 Don’t panic! It’s a buffet, not a main
course. Pick what doesn’t make you sick.