Devographics / surveys

YAML config files for the Devographics surveys
43 stars 8 forks source link

State of JS 2022 Preliminary Discussions #47

Closed SachaG closed 2 years ago

SachaG commented 2 years ago

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

SachaG commented 2 years ago

Some new items to consider, in no particular order:

New questions to consider:

zackarychapple commented 2 years ago

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.

SachaG commented 2 years ago

@zackarychapple it might be a bit too niche? At least I personally hadn't heard about it before now.

RATIU5-zz commented 2 years ago

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.

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.

rglover commented 2 years ago

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).

RomainLanz commented 2 years ago

Hey there! 👋🏻

I believe adding AdonisJS is not a bad idea. We have been forgotten for years.

thetutlage commented 2 years ago

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

kettanaito commented 2 years ago

Q: How do you mock requests in testing/development? (Multi-answer question)

Options:

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.

arendjr commented 2 years ago

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

arendjr commented 2 years ago

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?

larsthorup commented 2 years ago

Testing tool option:

gabssnake commented 2 years ago

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.

webbertakken commented 2 years ago

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)"

nandeshwarshubh commented 2 years ago

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 -

  1. Webpack 5 and Module Federation - https://webpack.js.org/concepts/module-federation/
  2. Single SPA - https://single-spa.js.org/
  3. Qiankun - https://qiankun.umijs.org/
  4. Luigi - https://luigi-project.io/
  5. Frintjs - https://frint.js.org/
  6. PuzzleJs - https://github.com/puzzle-js/puzzle-js
  7. Podium - https://podium-lib.io/
  8. Bit - https://bit.dev/
csaltos commented 2 years ago

How about adding Elm as a framework to consider in the new survey

SnowSuno commented 2 years ago

Would like to add in trpc if possible, which is rapidly gaining attention in github star count.

SachaG commented 2 years ago

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.

anodynos commented 2 years ago

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:

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.

If we do both, the "Backend Frameworks" category kinda vanishes 🤣

There's my 2c. Let's have this conversation and see where it leads :-)

McSneaky commented 2 years ago

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:

Jolg42 commented 2 years ago

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.

daniseguraf commented 2 years ago

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?

SachaG commented 2 years ago

@daniseguraf actually those are already covered in the State of CSS survey.

mischah commented 2 years ago

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.

sirisian commented 2 years ago

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 commented 2 years ago

@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.

jessealama commented 2 years ago

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.

arendjr commented 2 years ago

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.

SachaG commented 2 years ago

@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/

SachaG commented 2 years ago

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.

SachaG commented 2 years ago

I'll close this thread so we can discuss the survey preview directly in the other thread.

anodynos commented 2 years ago

@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

RATIU5-zz commented 2 years ago

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.

SachaG commented 2 years ago

@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.

anodynos commented 2 years ago

@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.