Revision 276: Große Module, kleine Module? Viel Code, wenig Code?
Hans und Peter lieferten sich eine epische Debatte rund um JavaScript, speziell Module und Dependencies. Am Ende schütteln beide auch noch mal kurz den Kopf über eher originelle Vorschläge zum Thema CSS.
Schaunotizen
- [00:00:13] JavaScript-Module – Klein, groß, mittel?
- Angestoßen von dem Aufpoppen des Vanilla-JavaScript-Repositories PlainJS (von früher schon bekannt: das in die gleiche Kerbe schlagende Microjs) diskutieren wir ein paar Frontend-JavaScript-Grundsatzfragen. Peter springt wie immer dem designierten Prügelknaben jQuery bei, verweist auf den weniger bloatigen 3.0-Build ohne OldIE-Support und verweist darauf, dass es für Normalsterbliche annhährend unmöglich ist, etwas wie jQuerys
text()
-Methode nachzubauen (denn innerText ist super-kompliziert). Hans hingegen führt sein CSS Modal an Beleg dafür an, dass es nicht immer jQuery sein muss. Unabhängig von jQuery wollen beide nicht auf Lodash verzichten, obwohl da das bloat-Problem im Prinzip fortbesteht. Große Hoffnungen werden an diverse Methoden zur Dead Code Elmimination gerichtet (z.B. per Rollup oder Babel-Plugin). So könnten große Libraries neben kleinen Libraries (denen wir in Form von isArray und left-pad, vgl. Left-Pad-Gate unterschiedlich viel Respekt zollen) weiter bestehen und verwendet werden, obwohl auch diese ihre ganz eigenen Probleme haben. Am Ende diskutieren wir über den Weg der Zukunft: kleine Module? Große Module mit Erweiterungs-APIs? Web Components? - [00:55:53] Writing Less Damn Code
- Heydon Pickering schlägt vor, wir mögen doch bitte weniger CSS schreiben, damit unsere Codebases besser werden mögen. Wir sind da äußerst skeptisch, und sind nicht sicher, ob die Zahl der Zeilen ein so relevanter Qualitätsindikator ist. Komponentenbasiertes CSS wie BEM scheint durchaus geeignet, CSS für die heutige Zeit zu fit zu machen, führt aber naturgmäß zu mehr Code.
[01:06:33] Keine Schaunotizen
- google/closure-compiler-js
- JS-API für Googles Closure Complier, Gulp-Task inklusive.
- Start Building with Web Bluetooth and Progressive Web Apps
- Kleines Tutorial zu Web Bluetooth.