¿Los desarrolladores profesionales usan un montón de bibliotecas diferentes en una aplicación?

En mi experiencia, la respuesta es sí por un par de razones.

Primero, como mencionó, necesita descubrir qué problema está tratando de resolver. ¿Estás tratando de conectar personas a través de una aplicación móvil? ¿Estás intentando crear una aplicación para compartir fotos? ¿Estás tratando de obtener más leads para tu organización? Una vez que haya respondido la pregunta de por qué , puede responder la pregunta de qué.

Una vez que esto se ha definido, se obtiene el trabajo divertido de encontrar las herramientas adecuadas para su trabajo. Por ejemplo, en mi trabajo en este momento estamos construyendo una API de rieles que habla con nuestro front-end JS y nuestra aplicación móvil nativa. En el curso de ese desarrollo, estamos utilizando muchas bibliotecas (excluyendo frameworks, es decir, rieles, angulares) como Devise, Mailboxer, Rspec, Angular Material y mucho más. Todas las bibliotecas que utilizamos nos permiten resolver un determinado problema.

La cuestión de si debería haber la menor cantidad posible de bibliotecas es complicada. Hay un par de argumentos, pero en las metodologías de desarrollo actuales a las que me suscribo, la velocidad del tiempo de desarrollo es una de las más altas en esa lista. Lo que las bibliotecas nos permiten hacer es aumentar nuestra velocidad a la que nos desarrollamos.

Sin embargo, diré que las bibliotecas no deberían ser una muleta para hacer su trabajo. Debe evitar el uso de bibliotecas solo porque no desea escribir código. Esa es una mala práctica. Un buen ejemplo, yo y otra persona en mi equipo podríamos haber construido completamente las especificaciones de diseño del material en una biblioteca, pero ¿por qué haríamos eso si ya hay una biblioteca para eso?

Básicamente, use bibliotecas para mejorar, no como un sustituto.

La elección de un marco de trabajo generalmente se reduce a la funcionalidad y al desarrollo rápido. Nunca usaría WordPress para construir una aplicación compleja, preferiría usar algo como Laravel. Y viceversa, no usaría Laravel para construir un blog simple.

Cuanto más rápido pueda entregar el trabajo a un cliente, mejor, y más rápido puedo corregir errores y problemas, mejor.