SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
JavaScript is a buffet, not the enemy
Chris Heilmann @codepo8, ScriptConf, January 2017
JavaScript is a buffet,
not a main course…“ – Chris Heilmann
JavaScript has grown from a
language and one part of the
web stack into a development
environment in its own right.
We want to and we do
everything with JavaScript!
This causes a lot of confusion…
And I’m worried about
the state of the web
and our community.
We work in the
open, and with
very flexible
technologies…
…but I see more
drama and dogma
than flexibility and
understanding.
Worst of all, I see a
lot of arrogance
and intimidation.
That’s why today I
want us to stop and
think about how we
use JavaScript and
share our excitement.
I’m not forbidding anyone to
do whatever they want to…
But I want to see us becoming
more diverse and interesting!
Going back to the buffet
metaphor…
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
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
And this is pretty much where
we are with JavaScript…
Buffet and JavaScript etiquette…
Don’t cherry-pick and leave
nothing for others…
Your environment is very much
you - and probably nobody else.
This is great, own that and
customise to your needs.
Share what makes you happy
and makes you more effective.
Help improve the tools you use
and you love.
Don’t pick the things you like and
demand people to accommodate
to your needs.
Make sure you explain in detail
what you rely on and why.
You’re creating a service; the
more you think about others, the
more success you will have.
Be ready to be flexible.
Don’t try to re-use dirty plates…
Some things should not be used
on the web any longer…
It is not OK to block these things
out, but it is a waste of time to
support them 100%.
We can’t move forward carrying
the weight of failed APIs and
broken implementations…
This includes polyfills that aren’t
included on demand
The web needs to be evergreen
Don’t put meat in the veggie
section…
There are environments that have
no or very restricted JavaScript.
Yes, JavaScript is used to spy on
users and but that doesn’t mean
we need to demonise it - we need
to do better.
Different use cases of JavaScript
have different needs.
Each of those have best practices
and sensible approaches.
They don’t need to mix, they
might even be antithetical.
And that’s OK - we can evolve
JavaScript on different tracks.
Don’t pile up your plate…
It can be daunting to look at the
JavaScript world.
Don’t try to be everything, find
something you are excited about
and do that at first.
Don’t use every cool new thing
because it is cool and new.
Get to know the basics and go
from there
If you publish something, think
about collaborating.
Documentation, tests and demos
written by others allow you to
question your biases and means
less work for you
Find a stack that allows you to
deliver your work and don’t rely
on things you don’t know yet.
Don’t touch things you don’t
like and you don’t want…
It is OK not to understand
something or not like it.
It is not OK to discard it and call
people using it unprofessional.
JavaScript can be a great helper
tool, it doesn’t need to replace
everything.
It is also not helpful trying to
forcefully convert them.
Use the cutlery provided…
Flexibility and control comes at a
price.
The more functionality you make
dependent on scripting, the
more responsibility you have.
If you can use the web platform
to solve an issue - use it.
You are likely to have much
more support for environments
you haven’t even thought of.
You allow browser creators to
optimise for you.
The fewer code you ship to the
end user, the better.
Consider making several trips…
We have an unfortunate drive to
deliver all the functionality on
first interaction in our products.
This isn’t sensible in terms of
data size and code that needs to
get parsed and executed in an
unknown environment.
It also doesn’t allow us to deliver
the right solution to the current
environment.
Consider not using the one-size-
fits-all solution that makes you
more effective.
Instead, deliver a progressively
improving solution.
All the code that didn’t get
loaded and executed is a benefit
in a flaky connection world.
Don’t be afraid to taste…
We live in great times where you
can learn most of what you need
in our market online and for
free.
Go and play. Try something new.
Kick the tyres of products people
sell you as amazing.
Don’t sit on your laurels, there is
so much to explore out there.
Be sure to use this opportunity,
watch videos, take courses, take
part in open source projects.
Make sure to explain this to your
companies and demand time to
keep learning.
If you need help with this, let’s
talk :)
What’s for pudding?
The JavaScript world and
community is us.
It is not one browser or engine or
environment. Monoculture is stagnation.
Let’s not stagnate but improve.
There are many ways you can
help this community - not all are
hard-core coding.
We need to break the toxic
demand of more code in less
time.
Quick, cheap and fast makes us sick
We need to deliver things that
are digestible, with good
ingredients and non-fattening.
And that needs time and effort.
Demand that you get it.
CHRIS HEILMANN
@CODEPO8
CHRISTIANHEILMANN.COM
THANKS!

Más contenido relacionado

La actualidad más candente

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Prasid Pathak
 
The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…
Christian Heilmann
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
Christian Heilmann
 
Postmodern Web Apps
Postmodern Web AppsPostmodern Web Apps
Postmodern Web Apps
malteubl
 

La actualidad más candente (20)

CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetup
 
Bridging the future gap
Bridging the future gap Bridging the future gap
Bridging the future gap
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 
Automating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend KeynoteAutomating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend Keynote
 
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
Beginner's Guide to Frontend Development: Comparing Angular, React, Ember, an...
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015
 
The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…
 
The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017The Progressive Web and its New Challenges - Confoo Montréal 2017
The Progressive Web and its New Challenges - Confoo Montréal 2017
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
 
Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that
 
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 
All the small things… - Awwwards 2016
All the small things… - Awwwards 2016All the small things… - Awwwards 2016
All the small things… - Awwwards 2016
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
Postmodern Web Apps
Postmodern Web AppsPostmodern Web Apps
Postmodern Web Apps
 

Destacado

Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Christian Heilmann
 

Destacado (13)

Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 
Sharing our Coder Privilege
Sharing our Coder PrivilegeSharing our Coder Privilege
Sharing our Coder Privilege
 
Internet Days - The Depressed Internet
Internet Days - The Depressed Internet Internet Days - The Depressed Internet
Internet Days - The Depressed Internet
 
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche IntelligenzZwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
Zwischen Terminator und Star Trek: Digitalisierung und Künstliche Intelligenz
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
Barrierefreiheit inklusive - Abschlusskeynote A-Tag 2016
 
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
A New Hope – the web strikes back
A New Hope – the web strikes backA New Hope – the web strikes back
A New Hope – the web strikes back
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
 
A Product Manager's Job
A Product Manager's JobA Product Manager's Job
A Product Manager's Job
 
"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08"Von Jugend an..." am A-Tag ´08
"Von Jugend an..." am A-Tag ´08
 

Similar a JavaScript is a buffet - Scriptconf 2017 keynote

Self assessment 1agosto 2014
Self assessment 1agosto 2014Self assessment 1agosto 2014
Self assessment 1agosto 2014
aurelia garcia
 

Similar a JavaScript is a buffet - Scriptconf 2017 keynote (20)

Introduction to react js
Introduction to react jsIntroduction to react js
Introduction to react js
 
Creating impact with project sprints
Creating impact with project sprints   Creating impact with project sprints
Creating impact with project sprints
 
E4IT STARTER - MODULE 8.pdf
E4IT STARTER - MODULE 8.pdfE4IT STARTER - MODULE 8.pdf
E4IT STARTER - MODULE 8.pdf
 
7 products in_7_days
7 products in_7_days7 products in_7_days
7 products in_7_days
 
We design orientation class
We design orientation classWe design orientation class
We design orientation class
 
Self assessment 1agosto 2014
Self assessment 1agosto 2014Self assessment 1agosto 2014
Self assessment 1agosto 2014
 
Liberated Accessibility
Liberated AccessibilityLiberated Accessibility
Liberated Accessibility
 
Self assessment ICT embedded en ELT 1
Self assessment ICT embedded en ELT 1 Self assessment ICT embedded en ELT 1
Self assessment ICT embedded en ELT 1
 
Wcorl talk 2014- Be a user the Pros Love and Why you should Care
Wcorl talk 2014- Be a user the Pros Love and Why you should CareWcorl talk 2014- Be a user the Pros Love and Why you should Care
Wcorl talk 2014- Be a user the Pros Love and Why you should Care
 
Principles of Usability Testing For Historic Newspapers
Principles of Usability Testing For Historic NewspapersPrinciples of Usability Testing For Historic Newspapers
Principles of Usability Testing For Historic Newspapers
 
HTML5 and the future of the web (Dr. Seuss style)
HTML5 and the future of the web (Dr. Seuss style)HTML5 and the future of the web (Dr. Seuss style)
HTML5 and the future of the web (Dr. Seuss style)
 
Wait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content QuestionsWait what? How to Enhance your Responsive Process with Content Questions
Wait what? How to Enhance your Responsive Process with Content Questions
 
Tactic matters - or why we need a digital apprenticeship model
Tactic matters - or why we need a digital apprenticeship modelTactic matters - or why we need a digital apprenticeship model
Tactic matters - or why we need a digital apprenticeship model
 
You are not your user - EdSurge Immersion 2019
You are not your user - EdSurge Immersion 2019You are not your user - EdSurge Immersion 2019
You are not your user - EdSurge Immersion 2019
 
Society 3.0 abundance by technology february 4th 2020 Bangladesh
Society 3.0 abundance by technology   february 4th 2020 BangladeshSociety 3.0 abundance by technology   february 4th 2020 Bangladesh
Society 3.0 abundance by technology february 4th 2020 Bangladesh
 
The elements of product success for designers and developers
The elements of product success for designers and developersThe elements of product success for designers and developers
The elements of product success for designers and developers
 
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman PicklWait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
 
Mentorship is Important
Mentorship is ImportantMentorship is Important
Mentorship is Important
 
Building Media Facilities.Key
Building Media Facilities.KeyBuilding Media Facilities.Key
Building Media Facilities.Key
 
Writing Great Proposals
Writing Great ProposalsWriting Great Proposals
Writing Great Proposals
 

Más de Christian Heilmann

Más de Christian Heilmann (18)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017Progressive Web Apps - Goto Chicago 2017
Progressive Web Apps - Goto Chicago 2017
 

Último

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Último (20)

Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

JavaScript is a buffet - Scriptconf 2017 keynote