SlideShare a Scribd company logo
The “Why” Behind JavaScript
Frameworks
(and How to Learn Them)
Peter Elbaum
Software Engineer @ Praxent
@pjelbaum
1. The “Why” Behind JavaScript Frameworks
Discuss
● What do you think is the main problem that JavaScript
frameworks solve?
A brief history of JS
● 1995: created by Brendan Eich @ Netscape in 10 days
○ Still deal with this legacy to some extent today
○ ‘Gotchas’
● Browser wars/struggling with implementation + consistency
○ ACID tests, etc.
● ECMA meets Nov. ‘96; ES1 released June ‘97
Turning point: 2005-2013
● 2005-2009: enhanced browsers, W3C compliance is met, AJAX (April 06), jQuery (Aug. 06) + other
libraries, Chrome ‘takes the lead’, mobile, decline in desktop, ES5 (Dec. 09)
● May 2009: NodeJS
● July 2010: Knockout.js
● October 2010: AngularJS and Backbone
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)
Javascript Frameworks (and How to Learn Them)
Issues with Vanilla JS
● Hard to write
● Hard to read
● Super fragile (hard to maintain)
Javascript Frameworks (and How to Learn Them)
Non-central Reasons
● Components
● Speed
● Ease
● Reusability
● Large communities
The Big Kahuna
“Keeping the UI in sync with the state is
hard”
Takeaways
● Super clarifying for me
● All of the other reasons are in service of this goal
● When considering the history, it makes a lot of sense
○ While jQuery was the most popular JavaScript library for web interfaces, it lacked facilities for handling
data consistently across shared views
A Word on Abstractions
● Each significant piece of functionality in a program should be implemented in just one place in the source
code. Where similar functions are carried out by distinct pieces of code, it is generally beneficial to
combine them into one by abstracting out the varying parts. - Benjamin Pierce, Types and
Programming Languages (2002)
● Helpfulness is limited by understanding; understanding their central purpose is helpful for
determining their usage
● How deep do I really need to go? (Virtual DOM, etc)
2. Learning JavaScript Frameworks
Framing Your Learning
● Remember the one reason why they exist
● Given that framing, remember how the tools aid in that goal; avoid flame wars
● There are many ways to solve the same problem, but the 3 major frameworks have core
commonalities
Framework Commonalities
Given that frameworks exist to keep the UI in sync with data, modern frameworks all have:
● Components (templates and updating local data)
● Reconciliation mechanism/shadow DOM (difference from Web Components)
● A way for components to interact and share data
● Just JavaScript under the hood
Understanding the Ecosystems
● All frameworks solve the same problem, but they do it in varying ways
○ Angular - fully featured
○ Vue - incrementally adoptable
○ More in common than not
● Do some research and know what you’re getting into - why choose one over the other? What are
the distinctives?
● The transition between them is easier than you might think
Principles for Learning a New Framework
● Learn the fundamentals
● Seek out the best teachers: Wes Bos, KCD, Egghead, etc.
● Build real stuff
● Learn the philosophy behind the framework + what’s available for problem solving
My Experience
● React, Angular, Redux, GraphQL, etc
● Learning from courses, learning from others, learning by doing
● BUT a video course !== knowing
● All frameworks, libraries, etc. have a core set of patterns (props/state + 80/20 etc)
Building Real Stuff: The Recipe for Learning
● Build something you want to exist in the world
○ Solve a real problem
● What if you don’t have a big idea?
○ Replicate a well known app
○ Variation on a common idea (Yeezy dating)
○ Enhance a simple project (JS30)
● Start small, just a script will do
● Senior Software Engineering Manager
● Senior QA Automation Engineer
● Software Engineer (React)
Resources
● https://blog.logrocket.com/history-of-frontend-frameworks/
● https://medium.com/javascript-scene/abstraction-composition-cb2849d5bdd6
● https://css-tricks.com/importance-javascript-abstractions-working-remote-data/
● https://dev.to/_adam_barker/the-super-brief-history-of-javascript-frameworks-for-those-somewhat-interested-3m82
● https://medium.com/dailyjs/the-deepest-reason-why-modern-javascript-frameworks-exist-933b86ebc445
● https://marketingexamples.com

More Related Content

PPTX
Cleaner Code Through Test-Driven Development
PPTX
Onnx and onnx runtime
PPTX
Pulumi iac on gcp
PPTX
Genomics data insights
PDF
We Need to Talk: How Communication Helps Code
PPTX
Microservices, docker , kubernetes and many more
PDF
Who needs containers in a serverless world
PPTX
JS digest. November 2017
Cleaner Code Through Test-Driven Development
Onnx and onnx runtime
Pulumi iac on gcp
Genomics data insights
We Need to Talk: How Communication Helps Code
Microservices, docker , kubernetes and many more
Who needs containers in a serverless world
JS digest. November 2017

What's hot (20)

PDF
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
PPTX
VOLODYMYR TSAP, BAQ, "CI/CD Infrastructure as a Code"
PDF
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
PPTX
ACM Gazi Docker?
PPTX
Azure kubernetes service
PDF
Hacking Docker the Easy way
PPTX
An Introduction to Docker
PDF
QCon SF 2017 - Microservices: Service-Oriented Development
PDF
Real World CI/CD with Kubernetes
PDF
Jenkins in the real world - DevOpsCon 2017
PDF
Living with microservices at Pipedrive
PDF
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
PDF
Andrea Di Persio
PPTX
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
PDF
Modernizing Traditional Applications
PDF
Faster safer and 100 user centric application at equifax with docker
PPTX
The New York Times: Sustainable Systems, Powered by Python
PDF
Docker Best Practices Workshop
PDF
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
PDF
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
PuppetConf 2016: Keynote: Pulling the Strings to Containerize Your Life - Sco...
VOLODYMYR TSAP, BAQ, "CI/CD Infrastructure as a Code"
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
ACM Gazi Docker?
Azure kubernetes service
Hacking Docker the Easy way
An Introduction to Docker
QCon SF 2017 - Microservices: Service-Oriented Development
Real World CI/CD with Kubernetes
Jenkins in the real world - DevOpsCon 2017
Living with microservices at Pipedrive
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Andrea Di Persio
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
Modernizing Traditional Applications
Faster safer and 100 user centric application at equifax with docker
The New York Times: Sustainable Systems, Powered by Python
Docker Best Practices Workshop
Rebuilding Legacy Apps with Domain-Driven Design - Lessons learned
Javantura v4 - CroDuke Indy and the Kingdom of Java Skills - Branko Mihaljevi...
Ad

Similar to Javascript Frameworks (and How to Learn Them) (20)

PDF
Selecting the Best Javascript Web Framework
PPTX
Javascript frameworks
PPTX
JavaScript Frameworks Popularity
PPTX
Trending Popular JavaScript Frameworks.pptx
PDF
Top JavaScript Frameworks to Use in 2022.pdf
PPTX
9 Best JavaScript Frameworks To Choose
PDF
What Are The Best Alternatives Of Angular_.pdf
PDF
AngularJS - A Powerful Framework For Web Applications
PPT
Js frameworks
PPTX
Get Started with JavaScript Frameworks
PDF
5 java script frameworks to watch in 2017
PPT
Top java script frameworks ppt
PDF
AngularJS in Production (CTO Forum)
PDF
What is the best java script frameworks to learn?
PPTX
Best JavaScript Frameworks for Web Development in 2023.pptx
PPTX
Top 10 java script frameworks for 2020
PPTX
JavaScript - Kristiansand PHP
PDF
Introduction to javascript technologies
PDF
Choosing Javascript Libraries to Adopt for Development
PPTX
Javascrip frameworks
Selecting the Best Javascript Web Framework
Javascript frameworks
JavaScript Frameworks Popularity
Trending Popular JavaScript Frameworks.pptx
Top JavaScript Frameworks to Use in 2022.pdf
9 Best JavaScript Frameworks To Choose
What Are The Best Alternatives Of Angular_.pdf
AngularJS - A Powerful Framework For Web Applications
Js frameworks
Get Started with JavaScript Frameworks
5 java script frameworks to watch in 2017
Top java script frameworks ppt
AngularJS in Production (CTO Forum)
What is the best java script frameworks to learn?
Best JavaScript Frameworks for Web Development in 2023.pptx
Top 10 java script frameworks for 2020
JavaScript - Kristiansand PHP
Introduction to javascript technologies
Choosing Javascript Libraries to Adopt for Development
Javascrip frameworks
Ad

More from All Things Open (20)

PDF
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
PPTX
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
PDF
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
PDF
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
PDF
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
PDF
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
PDF
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
PPTX
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
PDF
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
PDF
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
PPTX
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
PDF
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
PPTX
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
PDF
The Death of the Browser - Rachel-Lee Nabors, AgentQL
PDF
Making Operating System updates fast, easy, and safe
PDF
Reshaping the landscape of belonging to transform community
PDF
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
PDF
Integrating Diversity, Equity, and Inclusion into Product Design
PDF
The Open Source Ecosystem for eBPF in Kubernetes
PDF
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman
Agentic AI for Developers and Data Scientists Build an AI Agent in 10 Lines o...
Big Data on a Small Budget: Scalable Data Visualization for the Rest of Us - ...
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
Let's Create a GitHub Copilot Extension! - Nick Taylor, Pomerium
Leveraging Pre-Trained Transformer Models for Protein Function Prediction - T...
Gen AI: AI Agents - Making LLMs work together in an organized way - Brent Las...
You Don't Need an AI Strategy, But You Do Need to Be Strategic About AI - Jes...
DON’T PANIC: AI IS COMING – The Hitchhiker’s Guide to AI - Mark Hinkle, Perip...
Fine-Tuning Large Language Models with Declarative ML Orchestration - Shivay ...
Leveraging Knowledge Graphs for RAG: A Smarter Approach to Contextual AI Appl...
Artificial Intelligence Needs Community Intelligence - Sriram Raghavan, IBM R...
Don't just talk to AI, do more with AI: how to improve productivity with AI a...
Open-Source GenAI vs. Enterprise GenAI: Navigating the Future of AI Innovatio...
The Death of the Browser - Rachel-Lee Nabors, AgentQL
Making Operating System updates fast, easy, and safe
Reshaping the landscape of belonging to transform community
The Unseen, Underappreciated Security Work Your Maintainers May (or may not) ...
Integrating Diversity, Equity, and Inclusion into Product Design
The Open Source Ecosystem for eBPF in Kubernetes
Open Source Privacy-Preserving Metrics - Sarah Gran & Brandon Pitman

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Reach Out and Touch Someone: Haptics and Empathic Computing
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools

Javascript Frameworks (and How to Learn Them)

  • 1. The “Why” Behind JavaScript Frameworks (and How to Learn Them) Peter Elbaum Software Engineer @ Praxent @pjelbaum
  • 2. 1. The “Why” Behind JavaScript Frameworks
  • 3. Discuss ● What do you think is the main problem that JavaScript frameworks solve?
  • 4. A brief history of JS ● 1995: created by Brendan Eich @ Netscape in 10 days ○ Still deal with this legacy to some extent today ○ ‘Gotchas’ ● Browser wars/struggling with implementation + consistency ○ ACID tests, etc. ● ECMA meets Nov. ‘96; ES1 released June ‘97
  • 5. Turning point: 2005-2013 ● 2005-2009: enhanced browsers, W3C compliance is met, AJAX (April 06), jQuery (Aug. 06) + other libraries, Chrome ‘takes the lead’, mobile, decline in desktop, ES5 (Dec. 09) ● May 2009: NodeJS ● July 2010: Knockout.js ● October 2010: AngularJS and Backbone
  • 9. Issues with Vanilla JS ● Hard to write ● Hard to read ● Super fragile (hard to maintain)
  • 11. Non-central Reasons ● Components ● Speed ● Ease ● Reusability ● Large communities
  • 12. The Big Kahuna “Keeping the UI in sync with the state is hard”
  • 13. Takeaways ● Super clarifying for me ● All of the other reasons are in service of this goal ● When considering the history, it makes a lot of sense ○ While jQuery was the most popular JavaScript library for web interfaces, it lacked facilities for handling data consistently across shared views
  • 14. A Word on Abstractions ● Each significant piece of functionality in a program should be implemented in just one place in the source code. Where similar functions are carried out by distinct pieces of code, it is generally beneficial to combine them into one by abstracting out the varying parts. - Benjamin Pierce, Types and Programming Languages (2002) ● Helpfulness is limited by understanding; understanding their central purpose is helpful for determining their usage ● How deep do I really need to go? (Virtual DOM, etc)
  • 16. Framing Your Learning ● Remember the one reason why they exist ● Given that framing, remember how the tools aid in that goal; avoid flame wars ● There are many ways to solve the same problem, but the 3 major frameworks have core commonalities
  • 17. Framework Commonalities Given that frameworks exist to keep the UI in sync with data, modern frameworks all have: ● Components (templates and updating local data) ● Reconciliation mechanism/shadow DOM (difference from Web Components) ● A way for components to interact and share data ● Just JavaScript under the hood
  • 18. Understanding the Ecosystems ● All frameworks solve the same problem, but they do it in varying ways ○ Angular - fully featured ○ Vue - incrementally adoptable ○ More in common than not ● Do some research and know what you’re getting into - why choose one over the other? What are the distinctives? ● The transition between them is easier than you might think
  • 19. Principles for Learning a New Framework ● Learn the fundamentals ● Seek out the best teachers: Wes Bos, KCD, Egghead, etc. ● Build real stuff ● Learn the philosophy behind the framework + what’s available for problem solving
  • 20. My Experience ● React, Angular, Redux, GraphQL, etc ● Learning from courses, learning from others, learning by doing ● BUT a video course !== knowing ● All frameworks, libraries, etc. have a core set of patterns (props/state + 80/20 etc)
  • 21. Building Real Stuff: The Recipe for Learning ● Build something you want to exist in the world ○ Solve a real problem ● What if you don’t have a big idea? ○ Replicate a well known app ○ Variation on a common idea (Yeezy dating) ○ Enhance a simple project (JS30) ● Start small, just a script will do
  • 22. ● Senior Software Engineering Manager ● Senior QA Automation Engineer ● Software Engineer (React)
  • 23. Resources ● https://blog.logrocket.com/history-of-frontend-frameworks/ ● https://medium.com/javascript-scene/abstraction-composition-cb2849d5bdd6 ● https://css-tricks.com/importance-javascript-abstractions-working-remote-data/ ● https://dev.to/_adam_barker/the-super-brief-history-of-javascript-frameworks-for-those-somewhat-interested-3m82 ● https://medium.com/dailyjs/the-deepest-reason-why-modern-javascript-frameworks-exist-933b86ebc445 ● https://marketingexamples.com

Editor's Notes

  • #6: ES3 ‘99 -> ES5 ‘09 (ES4 skipped)
  • #13: Super clarifying to me