Por qué utilizar Webpack en lugar de Gulp
Webpack es un empaquetador de módulos o module bundler, mientras que inicialmente Gulp se propone simplemente como un task runner, con el que poder aplicar una serie de tareas que las aplicaciones front tenían que hacer, y de esta forma se podían automatizar. No sólo se podía hacer que una tarea se ejecutase de forma automática, sino que se podía crear un proceso de construcción y un proceso de ejecución de tareas.
Era bastante intuitivo utilizar Gulp, gracias a que incluía unas herramientas, llamadas pipes o tuberías, con las que era muy fácil construir una aplicación que fuese alimentándose de fases anteriores. Incluso sin conocer mucho Gulp, simplemente con un poco de manejo con lenguajes de programación, era relativamente sencillo seguir el flujo viendo un fichero de cómo se configura este este proceso.
Webpack es un poco más complejo, ya que de entrada ofrece empaquetación de módulos. Si bien es cierto que los desarrolladores que utilizaban Gulp, tenían que acabar haciendo también tareas de empaquetado de módulos, en Webpack se puede decir que su objetivo principal es empaquetar módulos, y que como además ofrece una forma de extender su funcionalidad a través de plugins, los usuarios han podido construir herramientas que antes tenían que utilizar junto con Gulp, Grunt o algún otro automatizador o ejecutor de tareas similar.
Por lo tanto, Webpack es bastante más potente de configurar y desde un fichero de configuración se pueden hacer muchas más cosas de lo que se podría hacer desde un archivo de configuración de Gulp. Por todos estos motivos, Webpack es una herramienta más compleja y que se ha hecho más popular que Gulp.
En teoría no va a haber ningún caso en el que queramos utilizar Webpack y Gulp a la vez, porque no tiene sentido, ya que con ambas se puede llegar a hacer lo mismo.
Una excepción sería en un proyecto donde ya tengamos un proceso de construcción construido con Gulp, tengamos distintas partes y queramos empezar a agregar progresivamente Webpack. En ese caso puede ser necesario tener ejecutándose los sistemas a la vez.
Con Webpack se puede hacer todo lo que antes se hacía con Gulp, pero con Gulp no podemos hacer todo lo que se hace con Webpack, ya que depende de todas estas herramientas que hay que instalar en Gulp para ir creando nuestro proceso de construcción. Si bien Gulp era más intuitivo gracias a sus pipes, Webpack a través de los loaders y de la forma de extenderlo y de hacer sus plugins, resulta muy sencillo definir nuestros propios pasos de construcción e incluso modificar los que ofrece por defecto.
Si quieres aprender en profundizar sobre Webpack puedes hacer el curso de Webpack básico en el que aprenderás qué es Webpack y cómo utilizarlo en tus proyectos.
Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.