Informe de la encuesta para desarrolladores 2020 Node.js

La encuesta fue dirigida por empresas como Alibaba y Tencent, y se realizó entre febrero y abril de 2020 en chino. Hasta el 10 de abril, un total de 1113 encuestados participaron en la encuesta. Este informe analizará el estado actual del ecosistema de desarrollo de Nodejs a partir de las múltiples dimensiones de los desarrolladores de Nodejs, escenarios de aplicaciones, escenarios de desarrollo y otras dimensiones.

Entrevistado

Fuente del personaje

En este cuestionario, la distribución de edad principal de los desarrolladores de Node.js que completaron el cuestionario es la siguiente:

Su distribución principal es:

Desde la perspectiva de la ciudad, la distribución de personas es principalmente:

Currículum profesional

  • Los entrevistados típicos provienen de dos compañías, compañías pequeñas con aproximadamente 100 empleados y grandes compañías con más de 5k empleados.
  • Generalmente son ingenieros de front-end o full stack en un equipo de aproximadamente 7 personas.

Contenido de trabajo

Escenario de aplicación

  • El escenario de aplicación típico de Node.js es el desarrollo de sitios web.
  • Más personas en grandes empresas usarán Node.js para el desarrollo de herramientas y automatización.
  • Las pequeñas y medianas empresas estarán más dispuestas a probar Node.js en aplicaciones móviles.
  • Muchas personas (35.01%) aprenden Node.js por hobby, lo cual es más obvio en las pequeñas empresas.

Escenario de desarrollo

  • En general, el 87.50% usa Node.js para desarrollar API de servidor, y el 51.19% desarrolla CLI y herramientas.
  • Con el aumento de la vida útil, la proporción de uso de Node.js como API del lado del servidor disminuyó ligeramente (5%) y el escenario de uso de BFF aumentó ligeramente (4%).
  • Los usuarios más jóvenes están más dispuestos a usar Node.js en escenarios de SSR.

Multilingue

  • El más adecuado para el desarrollo de Node.js es el lenguaje de desarrollo front-end (JavaScript / HTML / CSS).
  • Además del front-end, los lenguajes más comunes que coexisten con Node.js en general son Java (25.27%), Python (22.24%) y Go (17.73%).

Proceso de desarrollo

Traducción de código

  • A medida que aumenta la vida útil de Node.js, la tasa de no traducción se reduce considerablemente (45% a 25%).
  • TypeScript es el lenguaje de traducción más utilizado.

Inspección de código

  • En general, el 90% de los desarrolladores de Node.js han usado ESLint.
  • A medida que aumenta el tamaño del equipo, hay un ligero aumento en el uso de TSLint.

Método de configuración

  • La configuración de archivos es el método de configuración más popular.
  • Aunque la probabilidad de uso del centro de configuración no es alta, cuanto mayor es el tamaño de la empresa, mayor es la probabilidad de uso del centro de configuración.

Editor

  • VS Code es la mejor herramienta de desarrollo para desarrolladores de Node.js

Gestión de procesos

  • Cuanto más grande es la empresa, mayor es la proporción de personas que usan Docker.
  • Las empresas medianas utilizan un mayor porcentaje de PM2.

Sistema operativo

Pila de tecnología

Una aplicación web típica de Node.js:

  • Use el marco Express / Koa
  • Usar datos Mysql / MongoDB + Redis
  • También configuró Nginx como proxy inverso

Marco web

  • Aunque hay más tutoriales en Koa.js, Express.js sigue siendo el marco más común.
  • Además de Koa / Express, los frameworks web más populares son Egg.js (38%), Nest.js (15%), Next.js (7%) y Midway.js (6%).

Base de datos

  • En 2020, si desea aprender tres bases de datos, aprenda MySQL (79%), MongoDB (60%) y Redis (49%).

Proxy inverso

  • El concepto de proxy inverso de Noders es aproximadamente igual a Nginx.
  • Básicamente, el proxy inverso usará Nginx (el porcentaje excederá el 100% debido a la selección múltiple).
  • Las empresas más grandes tienden a usar proxies inversos.

RPC

  • HTTP es el método RPC más común, y el más utilizado es la cola de mensajes.
  • Las empresas medianas utilizan más las colas de mensajes.
  • Las grandes empresas utilizan el protocolo RPC de desarrollo propio a la tasa más alta.

Cola de mensajes

Cola de mensajes de uso común (opción múltiple) Solo el 18% de los estudiantes completan la cola de mensajes (el canal del cuestionario no está incluido)

Ecologia del desarrollo

Versión de nodo

  • En 2020, los desarrolladores generalmente usan 12.xo posterior 13.x.
  • Además de NPM, las herramientas de gestión más populares son principalmente hilo y cnpm.
  • Menos del 6% de los desarrolladores están utilizando una versión no No LTS de Node.js.

Gestión de dependencias

  • NPM tiene una gran influencia, y menos del 6% de los estudiantes pueden deshacerse de NPM y solo usar otras herramientas de administración de dependencias.
  • Además de NPM, las herramientas de gestión más populares son principalmente hilo y cnpm.
  • A medida que aumenta la experiencia de desarrollo, los desarrolladores tratarán de encontrar más herramientas de administración de dependencias que NPM.

NPM espejo

  • Más del 57% de los estudiantes usaron aceleración espejo, pero esto no tuvo un impacto decisivo en la velocidad de descarga de NPM.
  • A través del análisis de la relación, podemos encontrar que, además de la aceleración del espejo, cuanto más rápida sea la velocidad de descarga, mayor será la proporción de empresas que implementan espejos NPM privados.

Promoción del aprendizaje

Camino de aprendizaje

  • Los controladores antiguos aprenden Node.js más del código fuente abierto (Github y NPM).
  • En contraste, los nuevos estudiantes aprenderán más a través de canales como videos de aprendizaje y blogs y publicaciones periódicas.

Usa la confusión

  • Los tres rompecabezas principales utilizados por los desarrolladores de Node son la optimización del rendimiento (58%), las pérdidas de memoria (42.4%) y la Depuración (24.89%).
  • Las primeras tres confusiones que enfrentan los recién llegados son la programación asincrónica, controlada por eventos y depuración.
  • A medida que aumenta la experiencia de desarrollo, la proporción de pérdidas de memoria también aumenta gradualmente.

Requerimientos de recursos

  • La documentación es el recurso más esperado.
  • Los nuevos estudiantes tienen la voz más alta para tutoriales en video y cursos en línea gratuitos.
  • A medida que aumenta la experiencia de desarrollo, el desarrollo presta más atención a los documentos, eventos de conferencias y salones fuera de línea.

Palabras clave futuras

  • Sin servidor y multiproceso son las nuevas palabras clave que preocupan más a los Noders en 2020.
  • A mayor experiencia en la industria, más preocupado está el WebAssembly (WASI) y la N-API.
  • Los compañeros de clase más jóvenes están más preocupados por Deno.

Expectativas ecológicas

  • La demanda más exigente entre los desarrolladores de Node.js es un mejor rendimiento y eficiencia de desarrollo.
  • Además, los desarrolladores de menos de 1 año están más preocupados por el costo del aprendizaje, y cuanto más largo es el período, más preocupados están los costos de mantenimiento.

Pasado

Los mismos datos pueden dar lugar a opiniones diferentes a los ojos de diferentes personas. La interpretación en este informe es solo de referencia. Al mismo tiempo, los estudiantes de la comunidad pueden interpretar y analizar este informe.

Si encuentra alguna omisión o tiene sus propias ideas / tucao, puede enviar  comentarios sobre problemas en GitHub  .

Autor: hielo Sen

Enlace original: https://nodersurvey.github.io/reporters/?spm=a2c6h.12873639.0.0.82ba7e118iai7N

Supongo que te gusta

Origin www.oschina.net/news/114955/nodersurvey-2020
Recomendado
Clasificación