Diskuze: Prečo prehliadače nečítajú priamo LESS/SASS?
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Protože LESS/SASS jsou jen preprocessory, které ti přidávají syntaktické cukrátka pro usnadnění vývoje, které v CSS nejsou. Např. proměnné, mixin, atd...
CSS je nějakým způsobem vyvíjené, a jedná se defacto pouze o sadu stylovacích pravidel, která si prohlížeč načte a interpretuje. Prohlížeče jsou stavěné na interpretování těchto pravidel a vykreslení dotčených elementů.
Nejsou stavěné na kompilaci preprocessorů, kterých nevíc může existovat nepřeberné množství, zatímco CSS je nějakým způsobem centralizované. V podstatě "si každý může naprogramovat svůj preprocessor", protože se opravdu jedná jen o způsob, jak si ulehčit práci s obyč CSS.
A k té kompilaci - prováděla by se pokaždé, když by uživatel načetl novou stránku. Vzhledem k tomu, že je možné dosáhnout v preprocessorech jisté rekurentnosti - styl, ten obsahuje proměnnou na jiný styl, ten zase atd., není možné snadno říci, že by kompilace probíhala dostatečně rychle. A šlo by tímpádem o tak zbytečné plýtvání výkonem.
U obyč CSS je rychlost jasná - prohlížeč má svá defaultní pravidla pro všechny tagy, co zná - načte CSS - tím pouze pro danou instanci "přepíše" vybraná pravidla (tzn. ta, která dané CSSko obsahuje) - vykreslí elementy na základě pravidel.
Jo, a chtěl jsem dát like komentáři výše, ale bohužel mi postižený ITNetwork přidělil -2 zkušenosti. Sorry, Mirku, napsal jsi výborný komentář, ale mohu ti to jen takto říci.
Jasne, takto som nad tym nerozmyšlal. Ja len zato, že dnes už je LESS/SASS
kvazi default, málokto robí raw CSS a preto by to podľa mňa mohli
prehliadače "zožrať" aj priamo, jasne, trebalo by im prekodiť engines.
Čo sa týka rýchlosti, podľa mňa to problém nebude, veď premenné máš aj
v iných jazykoch a zvládajú to rýchlo riešiť ako server, tak aj browser.
Ked maš javascriptove appky (kadejake vue, a angulary a reakty a node a
backbone a nwm čo všetko, tak je tam plno premenných a prehliadače zvladaju
to riešiť )
V konečnom dôsledku sa aj tak všetko prejavuje tak, že či má byť na
tranzistore číslo 35434543844745 báza otvorená, alebo zatvorená
Nevim. Zeptej se Firefoxu
Co pisou kluci, nejsou duvody. JS se take nacte jako soubor jen jednou a dal se
kesuje. Takze neni problem nacist pseudoCSS, kesovat a kesovat si i z nej
generovany CSS.
Nejvic se mi ted zamlouva kesovani js pomoci checkintegrity
https://developer.mozilla.org/…ce_Integrity
<script src="https://example.com/example-framework.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
crossorigin="anonymous"></script>
On si pri prvnim ulozeni js ulozi hash. A pokud v jakemkoliv kodu na
jakekoliv strance je stejna url a stejny hash, ani se nepokousi nacitat obsah.
Kdezto u normalniho kesovani to cas od casu maze a navic kesuje zvlast pro
stranky.
Cili, to je naprosto idealni pro takove veci jako stejne verze jquery a pod.
PS. Ja zminoval uz pred 10 lety nekolik zpusobu na jakpsatwebu. A tehdy mi to
moderatori smetly jako nesmysl. Ze je to sice pekne, ale do css3 to neprojde
Muj nazor je ze by to v budoucnu mohlo byt uzitecne ale zatim to je nepotrebne jako prvni duvod ze to jeste tak velka cast nepouziva aby se vyvojari usmyslili ze takovou velkou zmenu udelaji a za dalsi by to udelalo problemy pro uzivatele ktery nemaji nejnovejsi verze prohlizecu, muzou si nainstalovat sice nejnovejsi verzi, ale kdo by to chtel delat ze.
To áno... možno raz...
Zas na druhej strane je pravda, že kadekto môže použiť vlastný
kompilátor, alebo písať raw CSS, ja ho napr. raw píšem do wordpressu.
Ja v kompilaci css, kde se jedna o proste text-replace, nevidim zadne
zpomaleni. Proto zminuji ten js, ktery se tez kompiluje predem.
Ja obvykle potrebuji menit jen barevnou paletu, pripadne vymenit loga pro 5
ruznych oddeleni ve firme. Tak, kdyz budu mit definovane nejake variables, tak
mi to staci. Neco na zpusob:
@vars {
x {#f00;}
y {#0f0;}
red {color:#f00;}
}
.nav ul li a {color:@x;}
Ale to v podstate ma vyreseny bootstrap spesl classy pro barvy. text-warning,
text-error, text-success a takove podobne. Cili, proste barevnym a menicim
prvkum pridat class a problem je solved
Jenom malinko doplním:
:root {
--x: #f00;
--y: #0f0;
}
.red {
color: #f00;
}
.nav ul li a {
color: var(--x);
}
Tohle by byla obdoba v čistém CSS.
A prohlížečová podpora už není tak špatná - https://caniuse.com/#…
Fakt už dačo take existuje? To som ani nevedel.
Stretol som sa ale aj s tým, že bolo style.php a týpek si tam definoval farby normalne ako PHP premenne a na zaver printol veľky skrumaž CSSka do súboru style.css
Jo, už to chvíli existuje (https://developer.mozilla.org/…m_properties), ale ta
podpora se zlepšila až tak v posledních dvou letech...
Nicméně, jak sám píšeš, hodnoty se dají do CSS dostat všemožnými
způsoby.
Zobrazeno 12 zpráv z 12.