javascript - strong - Jam vs Bower, ¿cuál es la diferencia?
span html (2)
Como ya se mencionó en otros comentarios, hay algunas alternativas en este espacio más allá de solo Jam and Bower.
- Componente
- Ender
- Volo
Ambos pretenden proporcionar una manera de empaquetar sus activos y administrar las dependencias entre ellos para el cliente. Tanto Bower como Jam parecen haber hecho su debut en 2012, septiembre y mayo, respectivamente.
Ambos están disponibles a través de node / npm y si lo único que desea es resolver las dependencias entre bibliotecas públicas como backbone, guión bajo, jQuery, etc. para su aplicación, entonces cualquiera de las soluciones funcionará y le permitirá algunas opciones básicas para controlar la versión, dónde ubicar en su proyecto, y comprobando si hay actualizaciones.
En cuanto a lo que es diferente, Bower es un poco más bajo que Jam, lo que lo hace más útil para un público más amplio. Puede crear componentes Bower para más que solo bibliotecas JavaScript. Jam se enfoca más únicamente en las bibliotecas de JavaScript de estilo AMD. Con Jam, puede especificar sus dependencias en el archivo package.json que ya usaría con los componentes npm, mientras que Bower ha elegido component.json por convención. La limitación con Bower es que solo recupera sus dependencias, aún necesita un sistema de compilación si desea usar Require.js u otras soluciones que Jam haya elegido para que obtenga gratis. Bower está recibiendo soporte de Twitter y algunos otros proyectos (Ender, Yeoman).
Pida disculpas si esto es incorrecto, pero una limitación adicional de Jam es que no le permite crear sus propios componentes para su distribución en un repositorio privado. Esto es algo que Bower te permite configurar como punto final en .bowerrc, pero hasta ahora he encontrado una manera de hacerlo en Jam. Tal vez no haya buscado lo suficiente, pero parece que hay al menos una bifurcación para el atasco privado.
Algunas otras buenas lecturas:
Con el siguiente desglose de algunos de los gestores de paquetes populares, puede decidir qué desea utilizar en su desarrollo. Se compara factos como
- si el administrador usa
package.json
u otra forma de descriptor - ¿Qué características soporta (andamiaje, compilación, tener registro central)?
- velocidad
- forma de soporte de paquetes (solo js, js y css, js html y css)
- tipos de módulos soportados
- Y, por supuesto, algunas notas basadas en el punto de vista personal.