DEV Community

Alexis Gonzalez
Alexis Gonzalez

Posted on

Módulos npm más utilizados por Bananacode 2018–2020

Después de un largo camino de 2 años, en Bananacode hemos logrado crear proyectos innovadores, de alto desempeño y con problemas técnicos complejos, haciendo uso de nuevas y actualizadas tecnologías en el mercado, siendo NodeJs la ganadora en esos 2 años. Desde una aplicación móbil hasta servidores descentralizados, han sido parte de estos retos que hemos afrontado.

En la siguiente gráfica se pueden observar el top 15 módulos más utilizados.
Alt Text

En la siguiente gráfica, se pueden observar el top 15 módulos más utilizados removiendo linters, bundlers, preprocessors y formatters de código.
Alt Text

En la siguiente gráfica se pueden observar los porcentajes de módulos de tipo Linters y Formatters “A” contra paquetes de utilidad directa “B”.
Alt Text

Muchos se pueden estar preguntando, ¿por qué esos módulos fueron elegidos? o ¿cómo saber cuáles utilizar? la respuesta a estas preguntas no es tan simple, y la forma correcta de dar una respuesta es dependiendo del problema. Una descripción correcta de cuáles son estos factores de selección podrían ser los siguientes:
Alcance del proyecto: Por alcance podemos hacer referencia a cantidad de funcionalidades, plataformas soportadas o tiempo en el que el proyecto se va a encontrar al aire, no es lo mismo hacer una campaña o landing page de un mes, a una plataforma que se espera que permanezca encendida por un periodo de 5 años como por ejemplo: React-Native que facilita la creación de aplicaciones móbiles con un único lenguaje de programación.
Tipo de proyecto: El proyecto puede ser de tipo back-end o de tipo front-end. Una librería para la interfaz de usuarios podría no ser muy sensato, como por ejemplo: la automatización de correos haciendo uso de Node-Mailer y Redis como módulo de conexión a base de datos.
Tiempo de desarrollo: Muchas veces el uso de un framework o módulo puede acelerar el tiempo de desarrollo de un proyecto, así mismo, podría ser un atraso a causa de la curva de aprendizaje que el equipo debe de afrontar. Usualmente utilizar “vainilla” pueder ser una opción más eficiente y de menor costo en tiempo de desarrollo como: Validation para realizar validaciones de ingreso de parámetros.
Soporte de proyecto: Una parte muy importante del desarrollo de software es el tema de mantenimiento o soporte, una vez terminado el proyecto, existen módulos que pueden facilitar esta tarea como lo son: Typescript , Eslint y Prettier que a largo plazo y gran escala, pueden beneficiar el mantener proyectos.

Estos fueron los módulos utilizados para este análisis.
“@octokit/rest”: “0.9”
“d3”: “2.0”
“dotenv”: “2.0”
“jsdom”: “4.0”
“node-fetch”: “6.1”

También en este archivo se puede ver más ampliamente el total de módulos utilizados en estos 2 años.

https://gist.github.com/allexxis/0d05336349566c9f5841573e943531d0

Top comments (0)