Saltar al contenido principal

Seleccione y configure herramientas de compilación según las mejores prácticas.


Actualizado

igraal_es-es

Hoy web.dev lanza una nueva iniciativa llamada tooling.report. Es un sitio web que brinda a los desarrolladores web una descripción general de las funciones compatibles con una selección de herramientas de compilación populares. Creamos este sitio para ayudarlo a elegir la herramienta de construcción adecuada para su próximo proyecto, decidir si vale la pena migrar de una herramienta a otra o descubrir cómo incorporar las mejores prácticas en su configuración de herramientas y base de código. Las herramientas tienen diferentes áreas de enfoque y se adaptan a un conjunto diferente de necesidades, lo que significa que seleccionar y configurar herramientas implica hacer concesiones. Con tooling.report, nuestro objetivo es explicar estas compensaciones y documentar cómo seguir las mejores prácticas con cualquier herramienta de compilación determinada.

¿Suena emocionante? Visite tooling.report para comenzar a explorar, o siga leyendo para obtener más información sobre por qué y cómo desarrollamos este sitio.

Sobre GoogleChromeLabs, hemos creado aplicaciones web como
Squoosh y Proxx, así como sitios web como el de Cumbre de desarrolladores de Chrome 2019. Al igual que con cualquier proyecto de desarrollo web, generalmente comenzamos discutiendo la infraestructura del proyecto, como el entorno de alojamiento, los marcos y la configuración de nuestra herramienta de construcción. Esa infraestructura se actualiza a medida que avanza el proyecto: se agregan nuevos complementos para acomodar los marcos o técnicas que adoptamos, o se cambia la forma en que escribimos el código para que nuestras herramientas de compilación comprendan mejor lo que estamos tratando de lograr. A lo largo de este proceso, a menudo nos hemos dado cuenta de que las herramientas que seleccionamos terminan interponiéndose en nuestro camino.

Nuestro equipo está enfocado en brindar la mejor experiencia web a los usuarios, lo que a menudo resulta en un ajuste fino de cómo se ensamblan y entregan nuestros activos frontend. Por ejemplo, si un script de hilo principal y un script de trabajador web tienen dependencias compartidas, nos gustaría descargar las dependencias una vez en lugar de agruparlas dos veces para cada script. Algunas herramientas admiten esto desde el primer momento, algunas necesitan un esfuerzo de personalización significativo para cambiar los comportamientos predeterminados y, para otras, es completamente imposible.

Esta experiencia nos llevó a investigar qué pueden y qué no pueden hacer las diferentes herramientas de construcción. Nuestra esperanza era crear una lista de verificación de características para que la próxima vez que comencemos un nuevo proyecto, podamos evaluar y elegir qué herramienta es la más adecuada para nuestro proyecto.

Nuestro enfoque

¿Cómo podemos evaluar y comparar diferentes herramientas de construcción en un solo lugar? Lo abordamos escribiendo casos de prueba.

Nuestro equipo discutió y diseñó criterios de prueba que creemos representan las mejores prácticas para el desarrollo web. Nos enfocamos específicamente en cómo brindar experiencias de usuario rápidas, receptivas y fluidas, excluyendo intencionalmente las pruebas relacionadas con la experiencia del desarrollador para evitar medir dos resultados incomparables.

Una vez que se creó la lista de prueba, seguimos adelante y escribimos un script de compilación para cada herramienta para verificar si la herramienta puede cumplir con los criterios de éxito de la prueba. Como conjunto inicial, decidimos investigar webpack v4, Rollup v2 y Parcel v2. También probamos Browserify + Gulp ya que una gran cantidad de proyectos todavía usan esta configuración. Para que una prueba pase, solo se pueden utilizar las funciones documentadas públicamente de la herramienta o un complemento para la herramienta. Después de escribir el conjunto inicial de pruebas, trabajamos con los autores de la herramienta de compilación para asegurarnos de que usamos sus herramientas correctamente y las representamos de manera justa.

overview-9496951

En muchos equipos, hay personas dedicadas a mantener la infraestructura de construcción, y es posible que otros miembros del equipo nunca puedan tomar una decisión cuando se trata de herramientas de construcción. Esperamos que este sitio siga siendo útil para usted también, como una forma de establecer expectativas para las herramientas en las que confía. Para cada prueba, hemos incluido una explicación de por qué la prueba es importante junto con recursos adicionales. Y si desea adoptar una práctica recomendada con la herramienta de su elección, la configuración de prueba en nuestro repositorio contiene los archivos de configuración necesarios para hacerlo.

¿Puedo contribuir al sitio?

Si cree que se debe probar una función que falta actualmente, por favor proponerlo en un número de GitHub para iniciar la discusión. Nuestro objetivo es encapsular casos de uso del mundo real, y cualquier prueba adicional que evalúe mejor estos resultados es bienvenida.

Si desea escribir pruebas para herramientas que no incluimos en el conjunto inicial, ¡también lo agradecemos! Por favor mira
CONTRIBUTING.md para más información.