¿Por qué algunos sitios web usan varios marcos del mismo lenguaje de programación?

Mencionaste Backbone.js, jQuery y Underscore.js juntos. Una cosa que es importante tener en cuenta es que esas tres bibliotecas hacen cosas muy diferentes.

En general, encontrará que la mayoría de los sitios web usan muchas bibliotecas a la vez, todo para resolver diferentes problemas.

– Backbone.js es un marco MV * del lado del cliente para ayudar a facilitar la administración de la estructura general de su sitio. Separa las preocupaciones en modelos, vistas y plantillas.
– jQuery hace que la manipulación del DOM sea realmente fácil.
– Underscore es un conjunto de funciones auxiliares para tareas comunes de JavaScript.

Además, la palabra “marco” está bastante cargada. Todo lo que mencionó son bibliotecas, pero la mayoría de las personas en mi opinión solo llamarían a Backbone un marco . Generalmente, los sitios web solo usan un marco, aunque pueden usar marcos diferentes para partes separadas de un sitio web.

Estos son algunos ejemplos de lo que la mayoría de la gente consideraría un marco:

– Backbone (http://backbonejs.org/)
– Angular (https://angularjs.org/)
– Ember (http://emberjs.com/)

Esos tres marcos que enumeró todos hacen cosas completamente diferentes.

Jquery es para la manipulación de DOM, y se usa en la mayoría de los sitios web porque trabajar con DOM en JavaScript puro es un proceso tedioso. No haría nada por usted en una aplicación javascript pura, ya que el DOM solo existe dentro de los navegadores.

El subrayado proporciona un montón de funciones de utilidad, que tratan con matrices / colecciones / objetos / funciones / etc. Facilita mucho su código funcional, pero no hace nada con el DOM. Puede ser útil en casi cualquier aplicación de JavaScript, ya sea del lado del cliente (navegador) o del lado del servidor (nodejs).

Backbone en realidad usa guión bajo y agrega una arquitectura MVC (más o menos) además de eso.

Ahora mismo estoy trabajando en una aplicación que usa los tres, y varios complementos jquery / backbone también. No podría obtener toda la funcionalidad que necesito de una biblioteca.

Porque un marco no es necesariamente una herramienta para hacerlo todo. Esos marcos que usted mencionó fueron hechos para propósitos específicos. Limitado a esos fines específicos.

Ejemplo de programación:
– Piense en el sitio como una clase. Y los marcos internos como funciones de esa clase.

Porque algunas tareas se logran más fácilmente en ciertos marcos que en otros. Entonces, dependiendo de lo que quieras hacer, usarás el marco que sea más adecuado.

Además, mucha gente diría que usar frameworks es una elección de palabra inapropiada.