surveys icon indicating copy to clipboard operation
surveys copied to clipboard

State of JS 2025 Preview

Open SachaG opened this issue 3 months ago • 8 comments

  • Previous suggestions: https://github.com/Devographics/surveys/issues/255
  • Preview the survey: https://survey.devographics.com/en-US/survey/state-of-js/2025

Features

Added

  • Iterator Methods

  • Scheduler API

  • URLPattern

  • RegExp.escape

  • structuredClone()? (old but has never been in the surveys)

  • New Native Type question options:

    • Runtime types (Types that are parsed at runtime by the browser)
    • Type annotations (Compiler-level TypeScript-like type annotations that get stripped during bundling)
    • JSDoc-like types (JSDoc-like types written as code comments)

Libraries

  • Bring back "Back end Frameworks" section
  • Added Bun in Build Tools category
  • Added Analog and Quasar to meta-frameworks category
  • Downgraded "Mobile & Desktop" section
  • Downgraded "Monorepo Tools" section

Other Tools

  • Brought back Utilities question (ESLint/Biome/etc.)
  • Brought back Text Editors/IDEs question
  • Add "Mobile & Desktop" section here
  • Add "Monorepo Tools" section here

Usage

  • Add: "I would prefer to use JavaScript without a build step" (agree/disagree/etc.)

Other Pending Questions

  1. Is it worth asking if people want runtime types?
  • pro: some people do want them and are already finding workarounds to have them.
  • cons: not realistically going to be implemented natively (although we can use the results as an opportunity to educate people about why that is not possible)
  1. Anything to add/remove from "Which of these active JavaScript proposals are you most excited about?" question?
  2. Anything to add/remove from "What do you feel is currently missing from JavaScript?" question?
  3. What is the status of JSSugar? Should we ask about that?
  4. There's also a parallel movement of standards-focused, no-build JS (see Remix blog post, "religiously runtime" for example). How could we best measure interest in this?

SachaG avatar Sep 16 '25 08:09 SachaG

@js-choi pinging you about the pipe operator code example (see https://github.com/Devographics/surveys/issues/255#issuecomment-2800498832) as well as the other couple issues previously discussed.

SachaG avatar Sep 17 '25 01:09 SachaG

For questions like "Which of these active JavaScript proposals are you most excited about?" and "What do you feel is currently missing from JavaScript?" it would be good to have a "None of the above" option. Without this I think there's an implicit bias in these questions towards expanding the language, rather than, for example, focusing on improving tooling, performance, security, etc.

A suggestion from a colleague is to consider a question like "What should engine developers focus on?" With options like performance, web compatibility (i.e. catch up on existing features), security, stability, new features.

dminor avatar Sep 17 '25 17:09 dminor

New question:

What do you feel are the top advantages resulting from using a build step?

Image

I think it would be interesting to try and capture why people are so dependent on build steps, in order to see how realistic runtime-only development really is in 2025?

SachaG avatar Sep 18 '25 02:09 SachaG

It might also be interesting to ask a question about edge usage, especially how people deal with the runtime/environment differences when running serverless code. Not quite sure about the phrasing yet though.

SachaG avatar Sep 18 '25 03:09 SachaG

Is it possible to add Bun in Monorepo Tools and Testing as well? Bun's runtime/bundler/test runner/package manager are tools that can all be used standalone

lydiahallie avatar Sep 18 '25 18:09 lydiahallie

Oh, so I could add them as bun_monorepo and bun_testing for example?

Edit: I guess for me the criteria would be whether I can use bun test with an app that is not using Bun as its runtime. If so I would consider them independent projects and might add bun_test to the Testing section. If not, I think I would probably keep Bun only in the build tools section.

Otherwise people might start arguing that Next.js can be used as a back-end framework, that Astro can also be used as a front-end framework through .astro files, etc. and I feel like it'd just make the whole survey a lot more confusing…

SachaG avatar Sep 19 '25 04:09 SachaG

@SachaG Yes exactly, feel free to use different names. You can use all tools standalone: you can use bun test without using the bun runtime for the rest of your app, bun install without using the runtime, use the runtime without using bun install, etc. :) Even though you get all of them when installing the Bun binary, they can all be used separately (and that's often what people end up doing).

For the monorepo section it could be "Bun Install" or ""Bun Package Manager" For testing it can be "Bun Test" or "Bun Test Runner"

lydiahallie avatar Sep 19 '25 16:09 lydiahallie

Thanks for all the feedback! The survey is now live: https://survey.devographics.com/en-US/survey/state-of-js/2025

SachaG avatar Sep 24 '25 07:09 SachaG