Revision 459: Bazel

Published: Jan. 12, 2021, 7 a.m.

Hans, Stefan und Schepp reden heute mit Lukas Holzer von Dynatrace \xfcber Bazel,\ndem neuen Build Tool aus dem Hause Google.\n\n\nUNSER SPONSOR\n\nGeschmeidige Animationen, Webfonts, hochaufl\xf6sende Fotos \u2013 eine Website muss\nheute viel anbieten. Oft scheint zu gelten: Viel hilft viel. Das f\xfchrt aber zu\ndurchschnittlichen Webseitegr\xf6\xdfen von zwei MByte und der Browser muss fast ein\nhalbes MByte JavaScript-Code verdauen. L\xe4dt eine Seite dann zu lange, klicken\nNutzer weiter. Auch Google hat offiziell angek\xfcndigt, dass die \u201ePage Experience\u201c\nund damit die Performance zum Ranking-Faktor wird. Erfahre mehr dazu auf der\nOnline-Konferenz c\u2019t webdev am 9. Februar. Vertiefe dein Wissen am Folgetag in\nWorkshops, u. a. zu Mobile App Entwicklung mit React Native.\n\nHol dir 15% Rabatt mit dem Code WEBDEVPOD21! Weitere Infos unter:\nheise.de/s/w58X\n\n\nSCHAUNOTIZEN\n\n[00:01:52] BAZEL\n\nLukas erz\xe4hlt uns von seinen Erfahrungen mit Bazel, einem polyglotten\nBuild-System, das schnelle, inkrementelle Builds sowohl lokal als auch auf CI/CD\nerm\xf6glicht. Ziel von Bazel ist es einen sehr genauen Abh\xe4ngigkeitsbaum zu\ndefinieren, der erlaubt nur \xc4nderungen zu kompilieren. Wir vergleichen mit\nGradle, Facebook\u2019s Buck. Bazel startete als internes Tool bei Google, damals\nnoch Blaze genannt. Da Google alles in einem gro\xdfen Monorepo entwickelt, zahlt\nes sich aus wenn Zehntausenede Entwickler nicht immer alles durchbauen m\xfcssen,\num kleine \xc4nderungen festzustellen. In Bazel schreibt man eigene Build-Files mit\nStarlark, einem Python Dialekt. Mit Hilfe dieser Dateien baut Bazel einen\nAbh\xe4ngigkeitsbaum auf, kann Kompilate dank Remote Cache Server sehr gut cachen.\nDer Unterschied zu Systemen wie Nx liegt vor allem darin, dass jedes Artefakt\ngenau bestimmt werden kann und man so unabh\xe4ngig von Git Commits wird.\nZus\xe4tzlich erlaubt man den Einzug von schnellen und iterativen\nEntwicklungs-Tools, wie ES Dev Server, ES Build, u.\xe4. Zu guter Letzt reden wir\nauch noch von Sketchmine, einem ambitionierten Projekt aus Angular Sketch Files\nzu generieren. Videos gibt es dazu auch: Stahlstadt.js, Angular Connect. Lukas\nist \xfcbrigens Contributor bei den Node.js Regeln von Bazel und freut sich \xfcber\nviel Feedback!