La encuesta del estado de JS de 2021 se realizó del 13 de enero al 2 de febrero de 2022 y recopiló 16085 respuestas. La encuesta es dirigida por mi, Sacha Greif, con la ayuda de un equipo de colaboradores y consultores de código abierto. El logo y camiseta de este año fueron diseñados por Christopher Kirk-Nielsen.
Objetivos de la encuesta
Esta encuesta, junto con la encuesta Estado de CSS, se creó para identificar las próximas tendencias en el ecosistema de desarrollo web a fin de ayudar a los desarrolladores a tomar decisiones tecnológicas. Como tal, estas encuestas se centran en anticipar lo que vendrá en los próximos años en lugar de analizar lo que es popular en el momento, por lo que no siempre se incluyen las características o tecnologías que están más utilizadas actualmente. También deben tomarse como una toma instantánea de un subconjunto específico de desarrolladores, y no pretende hablar por todo el ecosistema.
Diseño de la encuesta
Parte de laa encuesta fue diseñada en base a la encuesta del año pasado, con un período de comentarios abierto donde se discutió el esquema de la encuesta [en GitHub] (https://github.com/StateOfJS/Monorepo/issues/56). Todas las preguntas de la encuesta fueron opcionales.
Audiencia de la encuesta
La encuesta fue accesible públicamente en la web y los encuestados no fueron filtrados ni seleccionados de ninguna manera. Los encuestados fueron principalmente una combinación de encuestados de encuestas anteriores (alertados a través de una lista de correo dedicada) y tráfico de redes sociales.
Tenga en cuenta que los framework, las librerías, etc. fueron libres de animar a su audiencia a participar en la encuesta y algunos de ellos lo hicieron a través de pancartas, tweets, etc. Se incluye un desglose detallado de las fuentes de tráfico en la gráfica de "Fuentes".
Representatividad e inclusión
Si bien creemos que es importante dar voz a cada comunidad, la realidad es que una encuesta abierta como esta siempre tendrá dificultades para representar adecuadamente a todos, especialmente cuando opera a través de sistemas que ya tienen sus propios sesgos inherentes.
Para contrarrestar esto, estamos implementando tres estrategias distintas:
Outreach: siempre tratamos de llegar a diferentes organizaciones (como organizaciones enfocadas en BIPOC o LGBTQ, o plataformas de enseñanza en línea) para tratar de diversificar nuestra propia audiencia.
Análisis de los datos: a través de características como facetas y variantes, siempre intentamos que sea más fácil sacar a la luz las voces de cualquier segmento demográfico, sin importar cuán minoritario pueda ser en nuestros datos.
Bajar las barreras: hacer que la encuesta sea demasiada larga, inaccesible, lenta para cargar, sólo en inglés, etc. puede contribuir a imponer una "costo de esfuezo" que excluye a las partes de la comunidad que no pueden pagarlo. La solución de estos problemas puede reducir la barrera de entrada y, en el proceso, hacer que nuestra audiencia sea más diversa.
Financiamiento del proyecto
La financiación de este proyecto proviene de una variedad de fuentes:
Venta de camisetas.
Gráficas de Patrocinadores: los miembros de la comunidad pueden donar a la encuesta a cambio de que su nombre aparezca en los resultados.
Enlaces de patrocinadores: los enlaces a los recursos recomendados en la parte inferior de cada página son proporcionados por nuestro socio [Frontend Masters] (https://frontendmasters.com/).
Otros fondos: este año, el equipo de trabajo de Google Chrome reservó un pequeño presupuesto para ayudar a contratar a un consultor de accesibilidad para trabajar en las encuestas CSS y JS. A pesar de estas fuentes de financiación, la encuesta sigue siendo en su mayoría un proyecto autofinanciado en general y cualquier contribución o patrocinio sería muy apreciada. En especial, me gustaría trabajar en estrecha colaboración con más proveedores de navegadores, ya que desempeñan un papel central en el ecosistema web.
Resumen técnico
Puedes encontrar un informe técnico más detallado de cómo se desarrollan las encuestas aquí.
Recopilación de datos: personalizada Vulcan.js app.
Almacenamiento/procesamiento de datos: Agregaciones en MongoDB & MongoDB.
API de datos: Node.js GraphQL API.
Sitio de resultados: Gatsby applicación en React.
Visualizaciones de datos: Nivo React dataviz librería.
Tipo de fuente: IBM Plex Mono y Bebas Neue.