Closed SachaG closed 2 years ago
Some new items to consider, in no particular order:
New questions to consider:
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.
@zackarychapple it might be a bit too niche? At least I personally hadn't heard about it before now.
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.
I want to see how developers have stances on routing. Which are better/most used/best dx.
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.
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).
Hey there! 👋🏻
I believe adding AdonisJS is not a bad idea. We have been forgotten for years.
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
Q: How do you mock requests in testing/development? (Multi-answer question)
Options:
cy.intercept
route
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.
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?
Edit: I think my suggestion below is actually better: https://github.com/Devographics/surveys/issues/47#issuecomment-1289326849
For some more general purpose questions, I would be very interested in the following questions:
In which environments do you use JavaScript:
Do you use WebAssembly with JavaScript, and if so, which language?
Testing tool option:
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.
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:
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)"
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 -
How about adding Elm as a framework to consider in the new survey
Would like to add in trpc if possible, which is rapidly gaining attention in github star count.
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.
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:
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 :-)
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:
IoT:
Edge:
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:
(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.
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?
@daniseguraf actually those are already covered in the State of CSS survey.
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.
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.
@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.
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.
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?
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.
@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/
Thanks for your feedback everybody! Here's a preview of the survey outline:
https://github.com/Devographics/surveys/issues/62
It's still a work in progress, so the things I've added/removed are not final by any means.
I'll close this thread so we can discuss the survey preview directly in the other thread.
@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
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.
@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.
@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.
How can we improve the 2022 edition of the survey?
See also previous discussion here: https://github.com/Devographics/Monorepo/issues/61
Things to Consider
2021 Edition for Reference
General Resources