Comments (34)
I want to know if people are using SonarQube and SonarLint, or their awareness:
More broadly, maybe ask about code quality tools and security scanning tools.
from surveys.
Some new items to consider, in no particular order:
- https://zod.dev/
- https://slinkity.dev/
- LinkedIn Learning
- Stencil
- Qwik
- https://parceljs.org/blog/parcel-css/
- htmx
- https://markojs.com/
- https://shoelace.style/
- Selenium (https://www.npmjs.com/package/selenium-webdriver)
- https://github.com/BuilderIO/mitosis
- https://github.com/BuilderIO/partytown
- https://tanstack.com/query/v4
- radix
- Theatre.js
- Create T3 App
- Supabase
- trpc
New questions to consider:
- Question about SSR/CSR/SSG etc. patterns
- Question about what people use JS for ( Devographics/Monorepo#61 (comment) )
from surveys.
It would be really awesome to see some questions around Module Federation, in particular how much folks are using it and with what frameworks / stacks they are using it. @ScriptedAlchemy may have som ideas on good questions on this.
Also now that Nx has taken over Lerna (link) it would be interesting to see how those questions around monorepo are restructured.
from surveys.
Hey there! 👋🏻
I believe adding AdonisJS is not a bad idea. We have been forgotten for years.
from surveys.
I would love to see a dedicated section for backend frameworks and not mixing that with Nuxt, or Next or Svelte Kit.
And as @RomainLanz said, AdonisJS has been in the top list of "Other backend frameworks" for a couple of years, and yet missing in the selection option, because we are compared with Next, or Nuxt, even though the use cases these frameworks serve are different
from surveys.
Do you support the current expression-based pipeline operator proposal?
- Yes
- No
- I don’t know
I feel like this whole issue might be a little too hard to explain in the context of the survey and I'm not sure if people would be able to make an informed choice unless they're already very familiar with the matter?
Hey there! 👋🏻
I believe adding AdonisJS is not a bad idea. We have been forgotten for years.
I'll definitely consider Adonis, I know it always comes high in the freeform submissions.
from surveys.
Dear @SachaG and everybody: I dare say I think there's a dichotomy that StateOfJS has wrong: Frontend VS Backend Frameworks, especially when we're looking at the latter.
Let me explain:
-
Frontend Frameworks are easily defined: it's A) the UI, i.e what the user sees on screen AND B) it runs on the browser.
-
Backend Frameworks are harder to grasp, as they are currently defined as "running on the server", and there's our omission:
- we have API-authoring & Backend services frameworks (eg the bare bones Expressjs or the full fledged NestJS). These deal with accessing our DBs, Queues and other Cloud services, and most importantly offering an API gateway (eg REST, GraphQL, WebServices etc) to our app at run time.
- we also have the Static Rendering frameworks like NextJS or Nuxt, who basically deal with static rendering of the UI, making your website blazing fast to load & SEO friendly. They are most often tight to a particular frontend framework (NextJS-React, Nuxt-Vue etc) and the Frontend development is dictated by that framework and its quirks.
It's important to know, these 2 "backend" services are offering a completely different functionality on your tech stack and quite often you need both of them at some level, to create a production App. There's no choice really. Using something like nextjs api-routes is like using Visual Basic 1.0 to build a modern App.
-
I could argue that the "Static Renderers" category is a very important one, and since it's closer to the UI it could use it's own "Frontend Delivery Frameworks" category under libraries.
-
I could also argue that "Backend for API & Services" is also a hugely important aspect, and could have it's own category.
If we do both, the "Backend Frameworks" category kinda vanishes 🤣
There's my 2c. Let's have this conversation and see where it leads :-)
from surveys.
What do you think about adding a "database clients" section?
It seems some people add these tools in "other tools", but the data is then less interesting than a dedicated section.
It could include the following popular packages for example:
- bookshelf
- MikroORM
- MongoDB
- Mongoose
- node-postgres
- Objection.js
- Prisma
- knex.js
- Sequelize
- Slonik
- TypeORM
(They are all in https://github.com/Devographics/Monorepo/blob/main/api/src/data/bestofjs.yml already)
Disclaimer: I work at Prisma, though I write this personally, and I think that this would be an interesting section for Node.js/server-side users in particular.
from surveys.
Perhaps a little related to @arendjr's question
Do you use WebAssembly with JavaScript, and if so, which language?
I am also very interested to hear what languages people interoperate with in JavaScript. Use cases could vary more widely than just WebAssembly though. Use cases could include:
- WebAssembly
- Server-side or in-container processing of some heavier operations
- On the client, to interact with embedded content like Unity player or WASM content
- Directly integrating with another language to compile the application, like with Elixir
- (more?)
Therefore I'd rephrase @arendjr's question to something slightly more generic:
"Interoperability - Do you ever invoke other languages from JavaScript? If yes, which ones (check all boxes that apply)"
- WebAssembly
- Rust
- Go
- Python
- C#
- C/C++
- Elixir
- Embedded content (e.g. Unity Player)
- Other (add your option)
from surveys.
It would be great to know how many people are using microfrontends and what underlying framework/plugin they are using for the same. Some of them being -
- Webpack 5 and Module Federation - https://webpack.js.org/concepts/module-federation/
- Single SPA - https://single-spa.js.org/
- Qiankun - https://qiankun.umijs.org/
- Luigi - https://luigi-project.io/
- Frintjs - https://frint.js.org/
- PuzzleJs - https://github.com/puzzle-js/puzzle-js
- Podium - https://podium-lib.io/
- Bit - https://bit.dev/
from surveys.
Q: How do you mock requests in testing/development? (Multi-answer question)
Options:
- Not using mocks
- Nock
- MirageJS
- PollyJS
- Mock Service Worker
cy.intercept
- Playwright's
route
- Else (write in a freeform input)
I've been developing MSW (https://github.com/mswjs/msw) for almost five years now. It's one of the most commonly used and widely adopted API mocking solutions in JavaScript. It'd mean a lot to me to be able to see the analytics of usage on your survey. Consider including it.
from surveys.
For some more general purpose questions, I would be very interested in the following questions:
In which environments do you use JavaScript:
- Browsers
- Server-side
- Desktop application
- Mobile application
- CLI application
- Other
Do you use WebAssembly with JavaScript, and if so, which language?
- Rust
- C#
- C/C++
- Go
- Other
- I don’t use WASM
from surveys.
Would like to add in trpc if possible, which is rapidly gaining attention in github star count.
from surveys.
Hi there, It would be great to talk about used and satisfaction with components libraries like:
There are many more out there, what would you add to the list?
from surveys.
Topic: MPAs (vs SPAs?)
Usage of new-ish SSR Patterns (Island Architecture, Partial Hydration, HTTP Streaming, etc.)
See: https://www.patterns.dev/posts/rendering-introduction/
And Usage of related libraries/frameworks: Qwik, Astro, Elder, Marko, etc.
from surveys.
I'll close this thread so we can discuss the survey preview directly in the other thread.
from surveys.
@SachaG I'm sure many Meta frameworks will surface if we have it as a category.
But anyway I'm happy we've split Backend Services from Backend Renderers, cause they solve very different problems.
from surveys.
Roadmap.sh has some pretty good learning resources/structure for JavaScript.
I’m looking most forward to seeing how all these new frameworks are growing/declining/looking forward to.
Routers
I want to see how developers have stances on routing. Which are better/most used/best dx.
- Flamethrower
- Qwik City
- Next.js
- Others of course
Data loading
It would be great to see a section on types of hydrating such as with islands, resumability, partial-hydration
Let notes, I personally don’t care if it’s a longer survey, I just love seeing all the new trends and direction JS is going.
from surveys.
Testing tool option:
from surveys.
How about adding Elm as a framework to consider in the new survey
from surveys.
Runtimes would be interesting, especially server ones. In browsers it's all kinda united, don't think there's point of listing browser runtimes 🤔
Server:
- NodeJS
- Deno
- Bun
- ES4X
- JustJS
IoT:
- JerryScript
- Elk
- IoT.js
- Jhonny-Five
Edge:
- AWS Lambda
- CloudFlare Workers
- Fastly Edge Compute
- Google Cloud Functions
- Akamai EdgeWorkers
from surveys.
I feel like this whole issue might be a little too hard to explain in the context of the survey and I'm not sure if people would be able to make an informed choice unless they're already very familiar with the matter?
I think you’re right. A better approach might be to not put it in a separate question, but to simply split the answers for the Most Desired Features question: Which features do you feel JavaScript could use the most?
- Pipeline operator (Hack proposal)
- Pipeline operator (other proposal)
- … (other options)
That way it’s at least clear people are voting for a specific proposal, and people are less likely to vote for it under the assumption it would be similar to the pipeline operator in other languages.
from surveys.
Thanks for your feedback everybody! Here's a preview of the survey outline:
It's still a work in progress, so the things I've added/removed are not final by any means.
from surveys.
@zackarychapple it might be a bit too niche? At least I personally hadn't heard about it before now.
from surveys.
Howdy @SachaG. Would like to throw Joystick into the ring for new frameworks (Joystick is a full-stack, all-in-one UI/Node.js framework).
from surveys.
I realize this may be almost a personal crusade of mine, but the pipeline operator proposal uses the 2020 State of JS survey as motivation for why adding the pipeline operator to the language is desired. However, back then the pipeline proposal seemed like it still had a chance of landing in the form of the F# proposal.
Nowadays, the pipeline operator looks like it may ascent using the Hack proposal instead. Unfortunately, many of the people who originally wanted a pipeline operator feel that it is better to not have a pipeline operator than the current Hack proposal. As such, we strongly feel the current proposal has lost sight of what we wanted and why we wanted it, yet uses an outdated State of JS survey as justification for why it is desired.
I know this might turn it into a rather niche question, but the most objective way we have of getting a true measure of how many people are still on board with the current proposal would be to present this question in the new JS survey. The precise phrasing of the question will still be difficult, as I notice when discussing the operator that people are often not aware the current proposal is the Hack proposal, which diverges significantly from how the operator behaves in other languages. But I hope the following phrasing would be objective enough without leading people to the answer:
Do you support the current expression-based pipeline operator proposal?
YesNoI don’t know
Edit: I think my suggestion below is actually better: #47 (comment)
from surveys.
@daniseguraf actually those are already covered in the State of CSS survey.
from surveys.
In the "Features missing from Javascript" it would be more meaningful to separate it into "Static Typing: Types as comments" and "Static Typing: Runtime/native types" (or something similar/concise). I've noticed the two groups not being on the same page at all. The former want type annotations for documentation that are stripped out before compiling and the latter want types as a language feature - with other associated type features and runtime type features.
from surveys.
@zackarychapple it might be a bit too niche? At least I personally hadn't heard about it before now.
Possibly I do know from what I've seen, the React, Next, and Angular communities are all frequently talking about it and it is something getting a lot of growth right now.
from surveys.
Perhaps a quick pitch for Decimal? There's a lot of interest out there in having arbitrary-precision, or at least high precision, decimal arithmetic. It's a language feature in Stage 2.
from surveys.
@anodynos I think this is a valid point, but then where would you put something like Redwood? https://redwoodjs.com/ Or Remix? https://remix.run/
from surveys.
@SachaG thanks for your reply.
I'd say things like redwoodjs and remix cant always be described with one word. They are kind of meta, mini or maxi frameworks or stacks or mashups, often with some extra sauce. Remember all these acronyms we had like in 2010's with LAMP or MEAN etc. Often an evolution of those.
They are aiming to soften a particular angle, for example a "full stack" out of the box (like sailsjs) or generator/scafolding/cover setups for easy getting up and running, or make development easier & more effective in some aspect (eg UI) etc.
They are mixing popular technologies and making essentially, new meta-frameworks. Or in the case of React (that is a more of a library, rather than an opinionated framework like Angular) they are making a framework out of it!
Maybe we need a category like Meta Frameworks? Or are we going to be sued? LOL
from surveys.
In terms of "Meta Frameworks", I did not see QwikCity (The best DX I've used for FS) and SolidStart on the list of rendering frameworks. I understand they may not be on the list due to them not currently having a stable release version yet.
from surveys.
@anodynos I agree the proper category would be "meta-framework" for something like Redwood, but then we would have a category with a single item… at least we'd know who will be number one! ;)
@RATIU5 yes they both feel a bit too new to be included this year. But who knows, we'll see.
from surveys.
Related Issues (20)
- Higher Education Degree - or Degrees?
- [Copy edit] [Subjective] Section: Why are there JS questions in an HTML Survey? HOT 1
- Bad copy for `alt` question HOT 4
- State of JS 2023 Feedback HOT 17
- State of Node.js/State of Back-end JavaScript 2024 Suggestions HOT 39
- State of JS 2024 Suggestions HOT 9
- Inconsistent result for the Most Adopted Feature award in State of CSS 2023
- Broken link for the Ratios Over Time heading in State of CSS 2023
- How to help with data normalization
- I wonder when I will know the results of the survey HOT 2
- [Comment Report] Exclusive Accordion / hKZyC4UOLMe1jryB0hdHQ
- [Comment Report] Popover API / JznsTrWdydxePZABVgSPm HOT 1
- [Comment Report] Form Pain Points/<code><input type="date"></code> / MhVWkGitKH0gAy82JObuI
- State of HTML 2024 Suggestions HOT 2
- [Comment Report] Solid / 060GbLVX4zvRMYovErSoR
- [Comment Report] React / 8OJHpE5Bfao_KrI3mfHgD
- State of JS 2024 Suggestions
- [Comment Report] Solid / 060GbLVX4zvRMYovErSoR
- [Comment Report] Browser APIs Pain Points/Dates / FgK5P_M-bfwfDD4Zrj31w
- [New Questions]
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from surveys.