Bazel es una herramienta de compilación y prueba de código abierto similar a Make, Maven y Gradle. Utiliza un lenguaje de compilación de alto nivel legible para humanos. Bazel admite proyectos en varios idiomas y crea salidas para múltiples plataformas. Bazel admite grandes bases de código en múltiples repositorios y un gran número de usuarios.
¿Por qué debería usar Bazel?
A continuación vamos a conocer algunas de las mejores ventajas que nos va a ofrecer la utilización del compilar de Bazel.
- 1. Lenguaje de construcción de alto nivel: Bazel usa un lenguaje abstracto y legible para describir las propiedades de construcción de su proyecto a un alto nivel semántico. A diferencia de otras herramientas, Bazel opera en los conceptos de bibliotecas, binarios, scripts y conjuntos de datos, protegiéndolo de la complejidad de escribir llamadas individuales a herramientas como compiladores y enlazadores.
- 2. Bazel es rápido y confiable: Bazel almacena en caché todo el trabajo realizado anteriormente y realiza un seguimiento de los cambios tanto en el contenido del archivo como en los comandos de compilación. De esta manera, Bazel sabe cuándo hay que reconstruir algo, y solo reconstruye eso. Para acelerar aún más sus compilaciones, puede configurar su proyecto para construir de una manera muy paralela e incremental.
- 3. Bazel es multiplataforma: Bazel se ejecuta en Linux, macOS y Windows. Bazel puede construir binarios y paquetes desplegables para múltiples plataformas, incluyendo escritorio, servidor y dispositivos móviles, desde el mismo proyecto.
- 4. Bazel es escalable: Bazel mantiene la agilidad mientras maneja compilaciones con más de 100k archivos de origen. Funciona con múltiples repositorios y bases de usuarios en decenas de miles.
- 5. Bazel es extensible: Se admiten muchos idiomas , y puede ampliar Bazel para admitir cualquier otro idioma o marco.
¿Quién está utilizando Bazel?
Muchas empresas de las más importantes dentro del sector de la tecnología, confian en Bazel. Entre otras: Adobe, Asana, Canva, Compass, Databricks, Dropbox, Etsy, Google, Line, Meetup, Nvidia, Pinterest, Twitter, Uber, VMWare, Wix, Kubernetes, SEmantic, Tensorflow, etc.
Fuente: Elementos de Angular