Matthew Tyson
Contributing Writer

State of JavaScript: Insights from the latest JavaScript developer survey

The annual State of JavaScript survey is one of the best ways to keep your finger on the pulse of what's new and noteworthy in the world of JavaScript. Here's the rundown from the most recent survey.

Viewing, surveying, looking ahead. Young man with binoculars and map in hand.
Credit: ViDI Studio / Shutterstock

It can sometimes be overwhelming keeping up with everything happening in the world of JavaScript, but I think JavaScript developers mostly know we are lucky. We get to work in a space where smart people are constantly generating new ideas. We are surrounded by peers who are freely available and actively engaged, a high-water mark in open source creativity.

There are various ways to stay abreast of the changing JavaScript landscape, but possibly the most comprehensive is to watch for the results of the annual State of the JavaScript survey. This rite of self-reflection by the JavaScript community combines breadth and depth along with a practical sense of which JavaScript tools and features are being actively used by coders all over the world.

The results of the 2023 State of JavaScript survey were recently released. Letโ€™s crack it open and take a look.

Strong types in JavaScript

Itโ€™s a great irony, but the biggest language โ€œpain pointโ€ for JavaScript is the lack of strong typing. The flexible straightforwardness of JavaScriptโ€™s native duck-typing is one of the things that has made it so wildly popular. But there are also many benefits to strong typing, and some JavaScript developers really want them! Even with the option of TypeScript, a full one third of survey respondents said they would like to see static typing in JavaScript.

The interesting question then becomes: will we ever see types adopted into the ECMAScript language specification? It looks like we will but itโ€™s hard to say when. See the ECMAScript proposal: Type Annotations for more about how and when strong types might be added to JavaScript.

Meta frameworks

Meta-frameworks are frameworks that combine a reactive front end like React or Vue within a larger system that includes a server-side and related features. Needless to say, such frameworks are extremely popular.

Next.js is the leading meta-framework, holding a strong first position. But several lower profile frameworks are duking it out and gaining mindshare. Forty-four percent of JavaScript survey respondents indicated they had used and would use Next.js again. Its one-time close competitor, Gatsby, has fallen away with only 5% saying they would use it. Nuxt (the Vue version of Next.js), Astro, and SvelteKit are neck-and-neck at 18%, 17%, 16% respectively. Remix (8%), Docusaurus (7%), Eleventy (3%), and Deno Fresh (2.16%) currently bring up the rear in framework popularity.

Seeing Astro among the top five JavaScript meta-frameworks raised an eyebrow. Iโ€™ve watched this project for a while (see Intro to Astro: Clever lazy loading for JavaScript) but its leading place on the survey suggests Astro is moving into the mainstream. I also was surprised by the emergence of Deno Fresh. Deno is the spiritual successor to Node.js and was also created by Nodeโ€™s progenitor, Ryan Dahl. But it was news to me that Deno now includes a front-end meta framework. It is on my list to check it out.

Front-end frameworks

Pure front-end frameworks are rather predictable suspects at this point. React clearly leads the pack, with 65% of survey respondents expressing the โ€œused it, want to use againโ€ sentiment. Vue (38%), Svelte (22%), and Angular (20%) are the other leading front-end frameworks currently. Svelte taking the lead over Angular is the most interesting story there.

While its real-world popularity is growing, Svelte remains an untried (that is, โ€œheard of it, want to try itโ€) option for 48% of respondents. Awareness of HTMX is also growing, with 37% of respondents saying they want to try it.

Stencil is an interesting outlier in this field, with 59% of respondents saying theyโ€™ve never heard of it.

Build tools

WebPack remains a popular and well-liked build pipeline, while Vite is seeing an extraordinary rise in usage and satisfaction.

Viteโ€™s rating on the โ€œUsed it and want to use it againโ€ chart is an impressive 72%. WebPack holds a 48% ranking by the same measure. The difference between the two probably reflects Vite being specifically designed to improve on the previous generation of build tools like WebPack. These numbers may also reflect the reality that the more a tool is used, the more gripes people tend to have with it. Users tend become increasingly aware of and grumpy about a toolโ€™s flaws with extended use. As tools become more established, they are also embedded into more projects, whether we like it or not.

That latter consideration probably figures large in the dissatisfaction (โ€œnegative sentimentโ€) from previous users, where WebPack shows a whopping 48% negative experience versus 1.34% for Vite.

The TypeScript command-line tooling (TSC CLI) seems to have peaked a couple of years ago and ranks at a still respectable 43% in the โ€œused it, would use againโ€ category. Additional build tools considered are Rollup, Parcel, SWC, TurboPack, tsup, and Biome. If you think thatโ€™s a lot of build tools for JavaScript, you are not alone!

Itโ€™s also notable that the Bun bundler dominates in the โ€œOther build toolsโ€ section, with 51% of users giving it a positive rating.

Runtimes

Anywhere you run JavaScript, thatโ€™s a runtime. It was a surprise to me that Node is now a more popular runtime than web browsers, at 94% versus 83%. That is really something. Less surprising but still remarkable is the rocket ship that is Bun.js, now representing 23% of runtime users. That is astounding for a project that only reached version 1.0 in September of 2023.

Service workers (20%), Deno (15%), Hermes (4%), and ChakraCore (.5%) round out the field. Those numbers highlight the growing use of service workers and the steady adoption of Deno.

Hosting

A very interesting tale is unfolding among hosting services, wherein Vercel is challenging AWSโ€™s dominance. The โ€œWhich of these services have you used to host JavaScript apps?โ€ question shows AWS at 47% to Vercelโ€™s 45%. This is followed closely with GitHub pages at 42%. Netlify (33%), Heroku (25%), Cloudflare (20%), Digital Ocean (20%), Azure (19%), and Google Cloud (18%) are also all well represented.

Things to learn about JavaScript

The latest survey introduces a reading list that lets readers save topics they want to learn more about. This is a nice feature when taking the survey and also provides insight into features other JavaScript users are interested in. This is a good page to look at to get a sense of what you might want to learn about yourself.

The top of the list is error.cause (44%), which makes sense because it is a newer feature, and one that is simple and commonly needed. Logical assignment (38%) is another newer language feature that allows setting variables based on a unary logical operation. Other interesting items include Hashbang grammar (35%) and array.with (34%).

Other languages

JavaScript developers use a whole universe of other languages. Python leads the pack at 44%, not surprising given its use in machine learning and data analytics. PHP (31%), Java (27%), and C# (25%) still are strong favorites for JavaScript developers. Shell scripting languages are neck-and-neck with Bash (22%), Go (21%), and Rust (20%) taking the lead.

Monorepos

Among monorepos, pnpm has pulled away from the pack with 40% usage and 64% positivity. Bun again sees strong write-in support with 54% percent of respondents writing it in. Another newcomer, called Moon was written in by 14% of respondents to this question.

Retention versus usage

A great chart for an overview of the field is Retention vs. use. The chart gives you a grid with retention on one axis and the number of users on the other. Itโ€™s a fun chart to explore looking for things you have used or might want to learn about.

Vitetest is high on retention with a considerable way to go in usage. React shows strong numbers on both counts, with retention at 76%. Tauri shows 91% retention. On the other end of things, the cross-platform framework Cordova, shows only 15% retention. Gatsby is not much better at 21%.

Testing

Jest has established and held its place as the most-used testing framework since 2019. Storybook is also much used at 53%. Cypress and Mocha are in a virtual tie around 48%. Puppeteer and the literally named Testing Library both hover around 40%. Vitatest is breaking out, having risen from 14% to 34% over the past year.

Conclusion

Probably the biggest takeaway from this yearโ€™s State of JavaScript survey is how active the space still is. There really arenโ€™t any areas of JavaScript not seeing innovation and change. Besides the ongoing stability of React, it looks like an open field where almost anything can happen and probably will. If you were thinking of building something for JavaScript developers to use in their work, go for it!

On the other hand, if you are trying to decide on a technology to use in your work, the changing landscape and wealth of choices can make it difficult. In fact, 10% of respondents noted โ€œchoice overloadโ€ as a JavaScript pain point. Using the survey to stay on top of trends and new technologies is a good practice to avoid overload and ensure you are choosing from among the best tools available.

Matthew Tyson
Contributing Writer

Matthew Tyson is a contributing writer at InfoWorld. A seasoned technology journalist and expert in enterprise software development, Matthew has written about programming, programming languages, language frameworks, application platforms, development tools, databases, cryptography, information security, cloud computing, and emerging technologies such as blockchain and machine learning for more than 15 years. His work has appeared in leading publications including InfoWorld, CIO, CSO Online, and IBM developerWorks. Matthew also has had the privilege of interviewing many tech luminaries including Brendan Eich, Grady Booch, Guillermo Rauch, and Martin Hellman.

Matthewโ€™s diverse background encompasses full-stack development (Java, JVM languages such as Kotlin, JavaScript, Python, .NET), front-end development (Angular, React, Vue, Svelte) and back-end development (Spring Boot, Node.js, Django), software architecture, and IT infrastructure at companies ranging from startups to Fortune 500 enterprises. He is a trusted authority in critical technology areas such as database design (SQL and NoSQL), AI-assisted coding, agentic AI, open-source initiatives, enterprise integration, and cloud platforms, providing insightful analysis and practical guidance rooted in real-world experience.

More from this author