SlideShare a Scribd company logo
JavaScript isn’t hard…
Chris Heilmann @codepo8, SmashingConf Barcelona Jam Session, October 2016
Chris Heilmann
@codepo8
There is a lot of love for
JavaScript on the web…
💚❤💙💛💜
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?)
Lately JavaScript has a lot of visibility
which leads to obsession instead of love…
🔥💵📈💯📢
Which leads to a lot of pressure
and anxiety for us developers…
😫😓😭😱😡
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?
Calm down!
JavaScript used to
be easy - it was
just one language
in the web stack.
HTML
(Structure)
CSS
(Look and Feel)
JavaScript
(Behaviour)
Due to its flexible
nature, we
extended its use
cases massively…
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
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…
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
You do not need
to do all of that…
You do not need
to use all of that…
It’s totally OK to pick
and choose what you
want and feel
comfortable with…
“JavaScript” is not a language, but a whole
world of decisions and use cases by now…
Find your place in this world, travel to other
destinations, but don’t feel bad for not
becoming a resident in all of them…
Make yourself more
effective…
Understand what
you use and own it…
Ownership and responsibility balancing act
Build tools and process balancing act
Use what enables
others to work with
you…
Use what helps you
write maintainable
code…
Progressive enhancement balancing act
Control the UX with
JavaScript and own
the failure cases.
Rely on the browser
to give a “working”
experience.
Supporting the past balancing act…
Use powerful
language
additions…
Don’t block out
older browsers and
environments…
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…
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.
CHRIS HEILMANN
@CODEPO8
CHRISTIANHEILMANN.COM
THANKS!

More Related Content

What's hot (20)

PDF
Resisting The Feature Creature
Christian Heilmann
 
PPTX
Train to europe
secondag dicambio
 
PDF
Monolith vs Microservices vs Teams
Tomáš Strejček
 
PDF
HTML5 and the future of the web (Dr. Seuss style)
Christian Heilmann
 
PPTX
Hoards of Collaboration Tools FETC 2015 Poster Session
jamiehagan
 
PDF
All the small things… - Awwwards 2016
Christian Heilmann
 
ODP
Make your website more user friendly (UX)
Kirk Kimmel
 
PDF
Inheriting iOS code
Sally Shepard
 
PDF
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
PDF
Managing a Project the Drupal Way - Drupal Open Days Ireland
Emma Jane Hogbin Westby
 
PPT
Why Use Google Docs?
lindahb1950
 
PPTX
Grunt understanding
Khalid Khan
 
PPTX
7 crazy tips that will help you
Jessica Wilson
 
PPT
Technology for Foreign Language Teachers
rmjohnson85
 
PDF
Real Developer Tools for WordPress by Stefan Didak
East Bay WordPress Meetup
 
PPTX
Batch programming
Harry Kodua
 
PDF
How long will it take me to become a Web Designer/Developer?
webdesignjhb9
 
PDF
PhpStorm for WordPress
East Bay WordPress Meetup
 
PPTX
Why to learn programming
gdgjss
 
Resisting The Feature Creature
Christian Heilmann
 
Train to europe
secondag dicambio
 
Monolith vs Microservices vs Teams
Tomáš Strejček
 
HTML5 and the future of the web (Dr. Seuss style)
Christian Heilmann
 
Hoards of Collaboration Tools FETC 2015 Poster Session
jamiehagan
 
All the small things… - Awwwards 2016
Christian Heilmann
 
Make your website more user friendly (UX)
Kirk Kimmel
 
Inheriting iOS code
Sally Shepard
 
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
Managing a Project the Drupal Way - Drupal Open Days Ireland
Emma Jane Hogbin Westby
 
Why Use Google Docs?
lindahb1950
 
Grunt understanding
Khalid Khan
 
7 crazy tips that will help you
Jessica Wilson
 
Technology for Foreign Language Teachers
rmjohnson85
 
Real Developer Tools for WordPress by Stefan Didak
East Bay WordPress Meetup
 
Batch programming
Harry Kodua
 
How long will it take me to become a Web Designer/Developer?
webdesignjhb9
 
PhpStorm for WordPress
East Bay WordPress Meetup
 
Why to learn programming
gdgjss
 

Viewers also liked (15)

PDF
JavaScript is a buffet - Scriptconf 2017 keynote
Christian Heilmann
 
PDF
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Christian Heilmann
 
PDF
Suit up, bring extra oxygen Internet space explorers needed.
Christian Heilmann
 
PDF
The Progressive Web and its New Challenges - Confoo Montréal 2017
Christian Heilmann
 
PDF
The Soul in The Machine - Developing for Humans
Christian Heilmann
 
PDF
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Christian Heilmann
 
PDF
Microsoft und die Open Source Community - Leaving the death star behind
Christian Heilmann
 
PDF
Progressive Web Apps – the return of the web?
Christian Heilmann
 
PDF
Progressive web and the problem of JavaScript
Christian Heilmann
 
PDF
Internet Days - The Depressed Internet
Christian Heilmann
 
PDF
Bridging the future gap
Christian Heilmann
 
PDF
A New Hope – the web strikes back
Christian Heilmann
 
PDF
Progressing JavaScript and Apps the Web way…
Christian Heilmann
 
PDF
Supercharging Public Speaking
Christian Heilmann
 
PPT
"Von Jugend an..." am A-Tag ´08
Robert Lender
 
JavaScript is a buffet - Scriptconf 2017 keynote
Christian Heilmann
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Christian Heilmann
 
Suit up, bring extra oxygen Internet space explorers needed.
Christian Heilmann
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
Christian Heilmann
 
The Soul in The Machine - Developing for Humans
Christian Heilmann
 
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Christian Heilmann
 
Microsoft und die Open Source Community - Leaving the death star behind
Christian Heilmann
 
Progressive Web Apps – the return of the web?
Christian Heilmann
 
Progressive web and the problem of JavaScript
Christian Heilmann
 
Internet Days - The Depressed Internet
Christian Heilmann
 
Bridging the future gap
Christian Heilmann
 
A New Hope – the web strikes back
Christian Heilmann
 
Progressing JavaScript and Apps the Web way…
Christian Heilmann
 
Supercharging Public Speaking
Christian Heilmann
 
"Von Jugend an..." am A-Tag ´08
Robert Lender
 
Ad

Similar to Javascript isn't hard (20)

PDF
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Codemotion
 
PDF
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
PDF
You learned JavaScript - now what?
Christian Heilmann
 
PPTX
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
PDF
Overboard.js - where are we going with with jsconfasia / devfestasia
Christian Heilmann
 
PDF
Quo vadis, JavaScript? Devday.pl keynote
Christian Heilmann
 
PDF
A call to JS Developers - Let’s stop trying to impress each other and start b...
Christian Heilmann
 
PDF
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Stack Learner
 
PDF
15 Experts on the Art of JavaScript Programming
FusionCharts
 
PDF
Five ways to be a happier JavaScript developer
Christian Heilmann
 
PDF
Javascript beginner-handbook
Faina Fridman
 
PDF
Learning Nodejs For Net Developers Harry Cummings
coeldiad
 
PDF
Breaking out of the endless callback look - #jsday Italy keynote
Christian Heilmann
 
PDF
javascript-beginner-handbook.pdf
RaviKumar76265
 
PDF
JavaScript for impatient programmers.pdf
JoaqunFerrariIlusus
 
PDF
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
Christian Heilmann
 
PDF
8 tips for mastering node.js
Solution Analysts
 
PDF
8 tips for mastering node.js
Solution Analysts
 
PPTX
Product Camp Silicon Valley 2018 - PM Technical Skills
Sandeep Adwankar
 
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Codemotion
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
You learned JavaScript - now what?
Christian Heilmann
 
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Christian Heilmann
 
Quo vadis, JavaScript? Devday.pl keynote
Christian Heilmann
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
Christian Heilmann
 
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Stack Learner
 
15 Experts on the Art of JavaScript Programming
FusionCharts
 
Five ways to be a happier JavaScript developer
Christian Heilmann
 
Javascript beginner-handbook
Faina Fridman
 
Learning Nodejs For Net Developers Harry Cummings
coeldiad
 
Breaking out of the endless callback look - #jsday Italy keynote
Christian Heilmann
 
javascript-beginner-handbook.pdf
RaviKumar76265
 
JavaScript for impatient programmers.pdf
JoaqunFerrariIlusus
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
Christian Heilmann
 
8 tips for mastering node.js
Solution Analysts
 
8 tips for mastering node.js
Solution Analysts
 
Product Camp Silicon Valley 2018 - PM Technical Skills
Sandeep Adwankar
 
Ad

More from Christian Heilmann (19)

PDF
Hinting at a better web
Christian Heilmann
 
PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
PDF
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
PDF
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
PDF
Taking the "vile" out of privilege
Christian Heilmann
 
PDF
Taking the P out of PWA
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
Sacrificing the golden calf of "coding"
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
PDF
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
PPTX
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
PDF
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
PDF
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
PDF
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
PDF
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
PDF
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
PDF
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 
PDF
Turning huge ships - Open Source and Microsoft
Christian Heilmann
 
Hinting at a better web
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
Taking the "vile" out of privilege
Christian Heilmann
 
Taking the P out of PWA
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
Christian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
Progressive Web Apps - Goto Chicago 2017
Christian Heilmann
 
Turning huge ships - Open Source and Microsoft
Christian Heilmann
 

Recently uploaded (20)

PPTX
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
PPTX
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PPTX
nutriquiz grade 4.pptx...............................................
ferdinandsanbuenaven
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PPTX
The Human Eye and The Colourful World Class 10 NCERT Science.pptx
renutripathibharat
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PPTX
HEAD INJURY IN CHILDREN: NURSING MANAGEMENGT.pptx
PRADEEP ABOTHU
 
PDF
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
PDF
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
PPTX
Explorando Recursos do Summer '25: Dicas Essenciais - 02
Mauricio Alexandre Silva
 
PPT
digestive system for Pharm d I year HAP
rekhapositivity
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PPTX
classroom based quiz bee.pptx...................
ferdinandsanbuenaven
 
PDF
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
PPTX
Blanket Order in Odoo 17 Purchase App - Odoo Slides
Celine George
 
PPTX
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
PDF
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
PPTX
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
PPTX
Latest Features in Odoo 18 - Odoo slides
Celine George
 
Views on Education of Indian Thinkers Mahatma Gandhi.pptx
ShrutiMahanta1
 
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
nutriquiz grade 4.pptx...............................................
ferdinandsanbuenaven
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
The Human Eye and The Colourful World Class 10 NCERT Science.pptx
renutripathibharat
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
HEAD INJURY IN CHILDREN: NURSING MANAGEMENGT.pptx
PRADEEP ABOTHU
 
CONCURSO DE POESIA “POETUFAS – PASSOS SUAVES PELO VERSO.pdf
Colégio Santa Teresinha
 
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
Explorando Recursos do Summer '25: Dicas Essenciais - 02
Mauricio Alexandre Silva
 
digestive system for Pharm d I year HAP
rekhapositivity
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
classroom based quiz bee.pptx...................
ferdinandsanbuenaven
 
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
Blanket Order in Odoo 17 Purchase App - Odoo Slides
Celine George
 
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
Latest Features in Odoo 18 - Odoo slides
Celine George
 

Javascript isn't hard

  • 1. JavaScript isn’t hard… Chris Heilmann @codepo8, SmashingConf Barcelona Jam Session, October 2016
  • 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
  • 14. You do not need to do all of that…
  • 15. You do not need to use all of that…
  • 16. It’s totally OK to pick and choose what you want and feel comfortable with…
  • 17. “JavaScript” is not a language, but a whole world of decisions and use cases by now…
  • 18. Find your place in this world, travel to other destinations, but don’t feel bad for not becoming a resident in all of them…
  • 19. Make yourself more effective… Understand what you use and own it… Ownership and responsibility balancing act
  • 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.