Skip to content
Surveys
/
State of JavaScript 2024
English
This survey closed on December 10, 2024.
View Survey Results »
11 sections (% completed)
▶
Features
Front-end Frameworks
Meta-Frameworks
Testing
Mobile & Desktop
Build Tools
Monorepo Tools
Other Tools
Usage
Resources
About You
9/11
Usage
JavaScript/TypeScript Balance
Compiled Code Balance
AI Code Generation
Usage
Use Case
Industry Sector
Application Patterns
JavaScript Pain Points
New Proposals
Missing Features
Native Types
Web Technologies Happiness
JavaScript Happiness
How do you divide your time between writing JavaScript and TypeScript code?
0% TS
0%
|
12.5%
|
25%
|
37.5%
50/50
50%
|
62.5%
|
75%
|
87.5%
100% TS
100%
Leave a Comment (optional)
Skip
What proportion of the JavaScript code you write for the browser goes through a build step?
Any bundled, minified, or otherwise transformed code, as opposed to code directly executed by the browser.
0% Compiled
|
|
|
50%
|
|
|
100% Compiled
Leave a Comment (optional)
Skip
What proportion of the code you produce is AI-generated?
Including code copy-pasted from ChatGPT or other chatbots.
0% AI
|
|
|
50%
|
|
|
100% AI
Leave a Comment (optional)
Skip
In what context do you primarily use JavaScript?
Check all that apply.
Professionally
As a student
As a hobby
Other…
Leave a Comment (optional)
Skip
What do you use JavaScript for?
Check all that apply.
Frontend Development
Backend Development
Data Analysis
Machine Learning
Desktop Apps
Mobile Apps
Embedded Apps
Game Development
Data Visualization
Graphics & Animation
Other…
Leave a Comment (optional)
Skip
Which industry sector(s) are you using JavaScript in?
Check all that apply.
Consulting & Services
Cyber Security
Ecommerce & Retail
Education
Entertainment
Finance
Government
Healthcare
Marketing/Sales/Analytics Tools
News, Media, & Blogging
Programming & Technical Tools
Social Media
Other…
Leave a Comment (optional)
Skip
Which of the following architecture and rendering patterns have you used
in the last year
?
Check all that apply.
Single Page Application (SPA)
Tell us more:
Positive experience
Negative experience
Apps that run entirely in the browser
Multi-Page Application (MPA)
Tell us more:
Positive experience
Negative experience
Apps that run entirely on the server, with minimal client-side dynamic behavior
Static Site Generation (SSG)
Tell us more:
Positive experience
Negative experience
Static content pre-rendered at build time, with or without a client-side dynamic element
Server-Side Rendering (SSR)
Tell us more:
Positive experience
Negative experience
Dynamically rendering HTML content on the server on request, before rehydrating it on the client
Partial Hydration
Tell us more:
Positive experience
Negative experience
Only hydrating some of your components on the client (e.g. React Server Components)
Progressive Hydration
Tell us more:
Positive experience
Negative experience
Controlling the order of component hydration on the client
Islands Architecture
Tell us more:
Positive experience
Negative experience
Isolated islands of dynamic behavior with multiple entry points in an otherwise static site (Astro, Eleventy)
Progressive Enhancement
Tell us more:
Positive experience
Negative experience
Making sure an app is functional even without JavaScript
Incremental Static Generation
Tell us more:
Positive experience
Negative experience
Being able to dynamically augment or modify a static site even after the initial build (Next.js ISR & on-demand revalidation, Gatsby DSG)
Streaming SSR
Tell us more:
Positive experience
Negative experience
Breaking down server-rendered content in smaller streamed chunks
Resumability
Tell us more:
Positive experience
Negative experience
Serializing framework state on the server so the client can resume execution with no duplicated code execution.
Edge Rendering
Tell us more:
Positive experience
Negative experience
Altering rendered HTML at the edge before sending it on to the client
Partial Prerendering
Tell us more:
Positive experience
Negative experience
Render a route with a static loading shell, while keeping some parts dynamic
Other…
Leave a Comment (optional)
Skip
What aspects of JavaScript do you struggle with the most?
3
Pick up to 3 items.
State Management
Managing global data state in complex applications.
Code Architecture
Organizing and maintaining your codebase.
Finding Packages
Finding and evaluating JavaScript packages.
Debugging
Identifying and solving issues with your code.
Managing Dependencies
Managing dependencies, package versions and bundle sizes.
Async Code
Handling asynchronous functions.
Writing Modules
Writing JavaScript modules and publishing them as packages.
Date Management
Handling and manipulating dates and times.
Performance
Writing performant and efficient JavaScript code
Build Tools
Managing tooling to bundle your code
Typing
Managing and maintaining types
Other…
Leave a Comment (optional)
Skip
Which of these active JavaScript proposals are you most excited about?
Based on current State 2.7 & Stage 3
TC39 ECMAScript proposals
.
3
Pick up to 3 items.
Temporal
Decorators
Explicit Resource Management
Source Phase Imports
RegExp.escape
ShadowRealm API
Deferring Module Evaluation
Joint Iteration
Iterator Sequencing
JSON.parse source text access
Decorator Metadata
Float16Array
Other…
Leave a Comment (optional)
Skip
What do you feel is currently missing from JavaScript?
3
Pick up to 3 items.
Static Typing
Native runtime typing; or TypeScript-style type-as-comments
Standard Library
A standard library of common utilities
Pattern Matching
Pipe Operator
A new
|>
operator for passing the result of one function to another.
Observable
Signals
Async Context
Extractors
Iterator Chunking
map.getOrInsert()
JavaScript Structs
Record
&
Tuple
Other…
Leave a Comment (optional)
Skip
How would you like to see native types implemented in JavaScript?
As similar to TypeScript as possible
Using comments, similar to JSDoc
I would not like to see them implemented
Other…
Leave a Comment (optional)
Skip
How happy are you with the general state of web technologies?
Very Unhappy
Unhappy
Neutral
Happy
Very Happy
Leave a Comment (optional)
Skip
How happy are you with the general state of JavaScript?
Very Unhappy
Unhappy
Neutral
Happy
Very Happy
Leave a Comment (optional)
Skip
Next section
Resources
»
Previous section
«
Other Tools