¿Qué es webpack?
Webpack es un bundler(empaquetador de módulos), una herramienta que permite agarrar distintas funcionalidades, diseñadas de manera modular; es decir, código separado en módulos, y trasladarlas a archivos estáticos como JavaScript, CSS, entre otros. Por así decirlo, es un preprocesador que transformar archivos modulares a un estático que podrá utilizar el navegador.
Webpack permite crear tareas similares a Gulp.js y a cargar y escribir módulos como browserify.
Entre las funcionalidades que puede desarrollar Webpack están:
- Gestión de dependencias
- Ejecución de tareas
- Conversión de formatos
- Servidor de desarrollo
- Carga y uso de módulos de todo tipo
Ventajas
- Por defecto, no se necesita utilizar herramientas externas como un task runner o un gestor de dependencias, Webpack realiza estas funcionalidades con lo básico que trae.
- La curva de aprendizaje es bastante alta al principio, pero al configurarse el entorno la velocidad de desarrollo de la aplicación aumentara considerablemente.
- Se puede utilizar en varios tipos de sistema de modulación para JavaScript
Desventajas
- Su complejidad inicial es alta, en un inicio, la configuración es bastante tediosa. Se han ofrecido mejoras con plantillas y validadores para disminuir la complejidad.
- Su uso es completamente modular, el código desarrollado y las librerías externas deben de serlo también. Si una librería de terceros no es modular, no se puede utilizar con Webpack.
- La estructura del código fuente resulta confusa. A pesar de que es un apartado en el cual no se espera estar realizando cambios frecuentemente, cuando se tiene que realizar alguno, se torna complejo entender el mismo. La búsqueda de errores puede ser un tormento.
- No hay un log de errores bastante descriptivo que demuestre porque puede fallar la configuración.
Webpack es una herramienta bastante versátil y poderosa, pero que en proyectos pequeños puede ser algo tormentoso de utilizar. El potencial de la herramienta se encuentra en proyectos medianos a grandes donde las características que proporciona hacen que el desarrollo sea más ameno. Otra característica que posee Webpack es que, en React, su uso es casi obligatorio, el framework ha adoptado la mayorías de funcionalidades de Webpack.
0 comentarios