Az Angular (2-es verziotol, most 14 korul tartanak) pl. ugy mukodik, hogy megirod typescriptben a kodot, es leforditja (transpile) 1 db. js file-ra a veget. Persze 3rd party dolgokat bekothetsz, de alapvetoen ennyi. CSS-el ugyanez (hasznalhatsz scss-t, ugyanabba belefordul). Debughoz keszit hozza egy map file-t is, amibol kiderul mi melyik file-bol jott. Defaulban a dist/esbuild konyvtar main.js, main.css, main.js.map file-jai. Ezeket sima statikus file-kent ki tudod szolgalni, minden mast megold single page application-kent. Az indexhez ilyesmi nem kell.
A http az OSI modell szerint az egesz teteje. Webes fejlesztesben meg az alja, arra epitesz fel mindent. A C amikor megjelent, egy magas szintu nyelv volt, most meg "hordozhato assembly". A JS magas szintu, de egy rakas masik nyelv epit arra, hogy JS kodot allit elo magabol, epitve a JS meglevo (nem)tudasara (transpile korabbi JS szabvany miatt vagy mert neha jol jon a tipushelyesseg, de mar 15 eve is volt java->js fordito).
Lehetne bytecode, csak a bongeszok azt nem tamogatjak, a JS-t meg igen. Ahhoz kellene egy masik szabvany. Leginkabb ki kellene dobni az egesz webet, es leulni 0-rol megtervezni. Viszont az a jelenlegi szabvanyok es mar meglevo kod miatt nem olyan egyszeru. Ja, es az lenne az igazan bloat, ha a jelenlegi szart meg az ujat egyszerre kellene tamogatni.
Az eredeti temahoz meg: ott a .kkrieger, nagyon kiraly, hogy beletettek cipokanallal az egesz jatekot ilyen minimalis helyre. Viszont az eredmeny sokkal eroforraspazarlobb, mint egy hasonlo tudasu jatek, egyszeruen azert, mert a tarhelyre optimalizaltak, es nem a futasidore (amire egyebkent szoktak). RAM-ba kicsomagol mindent, es nem torodik az eroforrasok hatekony kihasznalasaval.
Egy C forditot is meg lehet irni hasonlora, csak epp a hattertar ezen a szinten kb. mindegy, az eloallitott kod futasi sebessege, a forditas sebessege, a kod atlathatosaga (fejlesztes, debug miatt), a funkcionalitas, tamogatott platformok/architekturak meg hasonlo aprosagok sokkal tobbet szamitanak.