Despre variabilele din css și abstracții în programarea web

Variabilele vin în CSS. Deja astăzi există realizări concrete, astfel încât acestea să nu poată fi oprite acum. În Firefox, au fost introduse în versiunea 29, iar Chrome poate fi utilizat fără nici prefixe în versiunile 29 și mai vechi, dacă aveți setările de pavilion activat Activați funcțiile experimentale ale platformei web (în limba rusă „Activați funcțiile experimentale ale platformei web“ - cca Perevi. ) ..







Voi spune imediat că puteți contesta cât de mult vă place dacă este bine sau rău, dar nimic nu poate fi schimbat. Cu toate acestea, deoarece încă vreau să discut acest subiect, voi continua.

preistorie

Recent am făcut o prezentare pe tema abstractizărilor în procesele de calcul. Dacă priviți înapoi în timp, puteți vedea câteva puncte de cotitură atunci când am tradus abstracțiile la un nou nivel. De la "unități și zerouri" din codul mașinii la asamblat, apoi la compilatoare și abstracțiile lor, datorită cărora avem limbi precum C ++.

Timpul trece și dorim / așteptăm / trebuie să facem ca platforma web să facă mai mult. Funcțiile noi sunt adăugate întotdeauna în browsere, dar nu au fost eliminate niciodată de acolo. Vă admirăm aceste oportunități și încercăm să le folosim pe deplin. Acest lucru face ca crearea de aplicații web să fie mai complexă. Dar nu ne place complexitatea, pentru că ne dau inconveniente în munca noastră și ne reduc eficacitatea.

Acest lucru se petrece mult timp, deci acum facem un nou pas pe scara de abstractizare. Abstractizarea este un inamic natural al complexității, așa că îl folosim pentru a simplifica scrierea codului.

Cea mai necesară abstractizare pentru noi pe web a fost simplificarea lucrului cu HTML. Ar fi incredibil de proastă să lucrați pe un site web, fiecare pagină de pe care va fi stocat ca un document HTML complet, începând cu și se încheie . care ar trebui să fie editate direct. Acum nu mai face nimeni. Documentele HTML finale constau din șabloane și fragmente de conținut.

Ultima limbă web care avea nevoie de abstracții este CSS. și au intrat în ea sub forma unor preprocesoare. CCC are prea multe repetări și aproape că nu oferă instrumente pentru abstractizări. Și preprocesorii dau ceea ce avem nevoie atât de mult, iar acest lucru ne ajută serios.







popularitate

De ce este o limbă precum CSS. atât de popular? Pentru că este foarte simplu. Selectori și perechi cheie-valoare. Și asta e tot. Da, există o mulțime de tot felul de capcane și subtilități. Da, pentru a deveni un specialist adevărat, va dura mult timp. Dar, practic, acest limbaj este foarte simplu. Veți avea nevoie de zece secunde pentru a arăta un străin un bloc de cod și a explica cum funcționează. Va fi suficient să înțelegeți totul.

Sunt convins că secretul succesului CSS este că sintaxa sa este ușor de înțeles, de a învăța și de a învăța pe alții. Da, există ceva de învinuit, dar cred că în momentul inițial al dezvoltării CSS s-au luat deciziile corecte.

Complicarea limbii

Ca și alte limbi, CSS a evoluat de-a lungul timpului. Ca și întreaga platformă web, aceasta are caracteristici noi. Jeremy Keith a subliniat că, odată cu apariția unor chei de chei @ în CSS, sa produs o schimbare majoră. Pentru prima dată, a devenit posibil să scrieți CSS într-un mod care să nu aibă sens și să nu funcționeze până când nu apare un alt bloc CSS.

După cum spune Jeremy:

Deci, variabilele CSS (sau proprietățile arbitrare) nu reprezintă prima crack în peretele principiilor pe care se bazează CSS. Dacă utilizați cealaltă metaforă, pe o cale alunecoasă, sa ridicat cu apariția @frame-cheie (și, eventual, @ font-face).

Garantează că fragmentul CSS are în mod necesar vreun sens, acum nu.

CSS (limba în sine) merge mai departe pe calea de a deveni complet programabil. Dacă variabilele sunt convenabile, la fel și ciclul, nu-i așa? Vă puteți imagina o versiune viitoare a CSS. în care există atât de multe trăsături puternice ale limbajului de programare încât nu mai este percepută ca fiind acea limbă simplă, ușor de înțeles și de înțeles din care provine. Deci este lipsită de simplitate, datorită căruia a fost atât de ușor pentru începător să se apropie de el.

Stratul de abstractizare

Datorită preprocesorilor, cum ar fi Sass. Amândoi avem oi și lupi sunt plini.

Nu toate abstractizările sunt la fel de utile

Lăsați-mă în spiritul bloggerului încrucișat, răspundeți din nou lui Jeremy.

... nu fiecare abstracție este bună.

El compară Sass și Haml și spune că Sass este bun, iar Haml e rău. În acest caz sunt de acord cu el, în cea mai mare parte. Am lucrat puțin cu Haml și n-am simțit niciodată vreun avantaj deosebit de a lucra cu el. Lucrez cu Sass în fiecare zi. și impresiile sale sunt complet opuse. Există două puncte aici.

Chris spune că abstracția este, prin definiție, "bună".

Aici contextul este important - "după un anumit timp". Când vine momentul, în care vom face următorul pas în sus pe scara abstractizării, există întotdeauna mai multe limbi care susțin între ele despre cine va lua un loc în istorie. Dezvoltatorii încearcă să bată reciproc (așa cum vom vedea acum în preprocesorul CSS de piață), și-a lungul timpului a relevat un „castigator“, care face parte din „cota de piață“ de bază, în cazul în care acest termen este aplicabil.

Câștigătorul este "bun", pentru că și-a confirmat superioritatea în practică. Părinții (probabil) nu au fost abstracte atât de bune.

Sass (sau cineva care va deveni în cele din urmă un câștigător) este abstractizarea primară pentru CSS.







Trimiteți-le prietenilor: