11 herramientas de gestión de dependencia para desarrolladores web
Las dependencias son una piedra angular del desarrollo web moderno. Estas son las herramientas, complementos, bibliotecas y frameworks requeridos. Necesario para construir aplicaciones web de alto nivel..
La gran cantidad de dependencias se ha disparado en los últimos años. Con el tiempo, los desarrolladores han adoptado herramientas de gestión de dependencias que aliviar el estrés de mantener las dependencias organizadas y actualizadas. Estas herramientas conducen a un flujo de trabajo optimizado para desarrolladores y gerentes de proyectos.
He catalogado las mejores herramientas de dependencia aquí, incluidas las plataformas bien establecidas y las nuevas emergentes. El desarrollo web profesional requiere un aprendizaje continuo y yo diría que la gestión de la dependencia es un conjunto de habilidades que vale la pena aprender.
1. NPM
No podía escribir esta guía sin dar crédito al Gestor de paquetes del nodo. Construido en Node.js, este sistema alimenta un tremendo repositorio de 100,000+ paquetes y módulos.
Cada proyecto puede usar una configuración de archivo package.json a través de NPM e incluso administrado con Gulp (en Nodo). Las dependencias se pueden actualizar y optimizar directamente desde el terminal. Y puede crear nuevos proyectos con archivos de dependencia y números de versión extraídos automáticamente del archivo package.json.
NPM es valioso para algo más que la administración de dependencias, y es prácticamente una herramienta indispensable para el desarrollo web moderno. Si estás confundido, consulta este hilo de Reddit para obtener una explicación para principiantes..
2. Bower
El sistema de gestión de paquetes Bower se ejecuta en NPM, que parece un poco redundante, pero hay una diferencia entre los dos, en particular que NPM ofrece más funciones, mientras que Bower apunta a una Reducción de tamaño de archivo y tiempos de carga. para dependencias frontend.
Echa un vistazo a esta pregunta de la pila para aprender más sobre las diferencias sutiles.
Algunos desarrolladores argumentan que Bower es básicamente obsoleto, ya que se ejecuta en NPM, un servicio que puede hacer casi todo lo que Bower puede hacer. En general, esto no está mal..
Pero los desarrolladores deben darse cuenta de que Bower puede Optimice el flujo de trabajo específicamente con las dependencias frontend.. Recomiendo el artículo de Ben McCormick Es útil para aprender más sobre el valor que ofrecen ambas herramientas de administración de paquetes.
3. RubyGems
RubyGems es un gestor de paquetes para Ruby con una gran popularidad entre los desarrolladores web. El proyecto es de código abierto e incluye todas las gemas de Ruby gratuitas..
Para dar una breve descripción para los principiantes, un “joya” es solo algo Código que se ejecuta en un entorno de Ruby. Esto puede llevar a programas como Bundler que administran versiones de gemas y mantienen todo actualizado..
A los desarrolladores de Rails les encantará esta función, pero ¿qué pasa con los paquetes frontend? Dado que Ruby es de código abierto, los desarrolladores pueden crear proyectos como Bower for Rails. Esto trae la administración de paquetes frontend a la plataforma Ruby con una pequeña curva de aprendizaje.
4. RequireJS
Hay algo especial en RequireJS en que es principalmente un conjunto de herramientas de JS. Puede ser utilizado para cargando módulos JS rápidamente incluyendo módulos Node.
RequireJS puede Detectar automáticamente las dependencias requeridas. basado en lo que está usando, por lo que esto podría ser similar a la programación clásica de software en C / C ++ donde las bibliotecas se incluyen con otras bibliotecas.
Encontrará una interesante discusión de GitHub sobre este tema y el valor que ofrece a los desarrolladores web modernos. Concedidas otras herramientas de administración de JS como webpack han aparecido, RequireJS todavía funciona en entornos de producción. Y si te funciona, eso es lo único que importa..
5. Jam
La administración de paquetes basada en navegador viene en una nueva forma con JamJS. Este es un gestor de paquetes JavaScript con gestión automática similar a RequireJS.
Todas tus dependencias son insertado en un solo archivo JS que le permite agregar y eliminar artículos rápidamente. Además, estos se pueden actualizar en el navegador independientemente de las otras herramientas que esté utilizando (como RequireJS).
Las bibliotecas se actualizan en función de las últimas versiones a través del terminal. Cada proyecto puede ser creado automáticamente con componentes optimizados Residencia en tus necesidades. Jam es gratis en GitHub y vale la pena echarle un vistazo si tienes tiempo..
6. Browserify
La mayoría de los desarrolladores conocen Browserify, incluso si no es parte de su flujo de trabajo típico. Esta es otra herramienta de administración de dependencias que optimiza los módulos y bibliotecas requeridos al agruparlos.
Estos paquetes son apoyado en el navegador lo que significa que puedes Incluir y fusionar módulos con JavaScript plano.. Todo lo que necesita es NPM para comenzar y luego Browserify para moverse.
Echa un vistazo a este tutorial de introducción para ver cómo se puede administrar Node directamente en el navegador. También hay un extenso manual de Browserify alojado en GitHub de forma gratuita. La idea es llevar todas estas herramientas de Nodo al navegador y ahorrar tiempo al automatizar el proceso con Browserify.
7. Mantri
Aún en sus primeras etapas de crecimiento, MantriJS es un sistema de dependencia para aplicaciones web de nivel medio a alto. Las dependencias se gestionan a través de espacios de nombres y Organizado funcionalmente para evitar colisiones y reducir el desorden..
Mantri se encuentra actualmente en v0.2.2 en el momento de escribir. Es completamente fuente abierta y Construido para aplicaciones web más complejas que requieren grandes paquetes de dependencias. Mantri tiene como objetivo seguir las prácticas de programación modular y espera alentar a los desarrolladores a seguir el mismo camino..
8. Volo
La herramienta de gestión de proyectos volo es un repositorio NPM de código abierto que puede crear proyectos, agregar bibliotecas y automatizar flujos de trabajo..
Volo se ejecuta dentro de Node y se basa en JavaScript para la gestión de proyectos. Puede encontrar una breve guía de introducción en GitHub que explica el proceso de instalación y el uso común. Por ejemplo si ejecuta el comando crear volo
Puedes colocar cualquier librería como HTML5 Boilerplate.
Pero aparte de crear nuevos proyectos también puedes Agregar / actualizar bibliotecas para proyectos anteriores. Volo se enlaza con todo lo que necesitas para el desarrollo frontend. Echa un vistazo a los objetivos de diseño de volus para ver cómo funciona en un proyecto del mundo real..
9. Ender
Ender es el “biblioteca sin biblioteca” y es uno de los administradores de paquetes más ligeros que encontrarás en línea. Permite a los desarrolladores buscar a través de paquetes JS e instalarlos / compilarlos directamente desde la línea de comandos. Ender es considerado como “La hermana pequeña de npm” por el equipo de desarrollo.
Naturalmente, todo el marco Ender está disponible de forma gratuita en GitHub. Es simplemente una herramienta que instalas para ayudar. Gestionar el consumo de frameworks de frontend JavaScript para proyectos locales.. Todo está pensado para ejecutarse con la mayor facilidad posible para el flujo de trabajo de un desarrollador frontend..
El sitio web principal de Ender tiene documentación de calidad por lo que vale la pena echarle un vistazo si está interesado..
10. pip
El método recomendado para instalar las dependencias de Python es a través de pip. Esta herramienta fue creada por Python Packaging Authority y es completamente de código abierto al igual que Python..
La mayoría de los desarrolladores de Python recomiendan pip para dependencias, incluido el equipo de Django. Ya sea que esté comenzando con Python o ya lo use de manera consistente con el desarrollo de back-end, este es un administrador de paquetes que le complacerá tener en su caja de herramientas.
11. compositor
Composer es un gestor de paquetes muy similar a NPM, pero se centra únicamente en las bibliotecas de PHP. Puede encontrar una lista de dependencias en Packagist que incluye grandes frameworks PHP como Laravel.
Si eres un desarrollador de PHP De cualquier tipo recomiendo seriamente mirar en Composer. Sus Fácil de empezar pero difícil de ajustar en su flujo de trabajo. Sin embargo, con la práctica se convertirá en un elemento básico para los proyectos de desarrollo de PHP..
Esta es una herramienta versátil con el potencial de crecer aún más en el tiempo. Plus NPM se puede mezclar con Composer para crear un sistema de administración de dependencia frontend + backend para todos sus proyectos PHP / JS.
Terminando
Está claro que muchos de estos gerentes de dependencia tienen rasgos similares con cualidades similares. Algunos están construidos para resolver problemas alternos e incluso pueden ejecutarse en tándem entre sí (es decir, Compositor y NPM).
El tema de la administración de dependencias puede ser difícil para los nuevos desarrolladores. Recomiendo elegir una de estas herramientas e investigar a fondo para aprender lo más posible. Intente crear pequeñas aplicaciones web y descubra por qué la administración de dependencias es útil.
Una vez que aprenda cómo aplicar estas herramientas en su flujo de trabajo, nunca considerará regresar..