Actualizare lunară pentru dezvoltare web 9⁄2018: încărcare leneșă nativă și muncă imaginară
Publicat: 2022-03-10Este un concept interesant să compari JavaScript cu CO2 și totuși unul foarte valid. Alex Russel, care lucrează pentru echipa Chrome și are o mulțime de informații despre starea actuală a webului, spune că utilizarea prea mult JavaScript sau utilizarea lui exclusiv (fără îmbunătățire progresivă/degradare grațioasă) va avea același efect ca prea mult CO2 pentru ecosistem de pe planeta Pământ — ecosistemul se va prăbuși. Și așa cum avem nevoie de o anumită cantitate de CO2 pentru a trăi, avem nevoie de JavaScript pe web. Este acea linie fină care face diferența - linia dintre nu prea mult și deloc.
Consider că, cu API-urile de browser native pe care le avem în aceste zile, avem o oportunitate fantastică de a construi servicii web grozave, fără a le umfla prea mult și fără a ne baza doar pe JavaScript. Putem îmbunătăți elementele native cu Custom Elements API cu ușurință prin clasele ES6, cu atât de puțin cod încât pare ridicol să construiești totul pe cont propriu într-un cadru terță parte. Întâmplător, echipa de ingineri Github a publicat un articol despre cum au renunțat complet la jQuery și despre ce folosesc acum în schimb: JavaScript nativ și cod mic, slab, care își îmbunătățește progresiv platforma. Mai puțin cod, mentenanță mai bună și mai multă stabilitate.
Știri
- Chrome 70 este acum în versiune beta, aducând detectarea formei ca o încercare de origine care ne permite să efectuăm citirea codurilor QR, detectarea feței și recunoașterea textului în imagini. API-ul de autentificare web a primit, de asemenea, unele actualizări, iar suportul pentru politicile de
referrerpolicy
a fost adăugat la elementele<script>
. Această versiune va deprecia și elementele personalizate v0, importurile HTML și Shadow DOM v0. - În cele din urmă, cu Firefox 62, Mozilla livrează
::selection
în loc de:-moz-selection
. De asemenea, au implementatflat()
șiflatMap()
pentru matrice JavaScript, iar dezvoltatorii obțin un nou Editor Shape Path. - Chrome 69 a ieșit și ne aduce CSS Scroll Snap Points, proprietatea CSS
viewport-fit
pentru afișajele decupate, cum ar fi cel de la iPhone X, și API-ul Web Locks, care permite scripturilor care rulează într-o singură filă sau lucrătorului să obțină asincron o blocare, țineți apăsat în timp ce lucrarea este efectuată, apoi eliberați-l. Actualizarea vine și cu suport pentru gradient conic CSS,toggleAttribute()
(care este similar cu metodaclassList.toggle()
dar pentru atribute) șiflat()
șiflatMap()
pentru matrice. Din păcate, această versiune a schimbat modul în care browser-ul afișează adresa URL și se pare că oamenii îl consideră o eroare de securitate. Să vedem cum va evolua. - Cu Firefox 62 care acceptă fonturi web variabile, avem în sfârșit suport în toate browserele majore și îl putem folosi acum pe scară largă pentru a îmbunătăți performanța, a fi mai creativ cu tipografia și a reduce drastic traficul de date.
- Manuel Rego Casasnovas a scris despre modificările recente ale CSS Grid Layout în procente și înălțime nedefinită în browserul Chrome.
- Oricine nu este un expert ar fi greu să explice cum funcționează de fapt urmărirea pe internet. De aceea, Firefox își schimbă acum setările implicite și impune blocarea urmăririi în browser în mod implicit.
- PHP7.3 vine în curând cu o nouă sintaxă Heredoc și Nowdoc, virgule în urmă în apelurile de funcții,
is_countable()
,array_key_first()
,array_key_last()
și îmbunătățiri pentru parola hash Argon2.
General
- „The ‘Developer Experience’ Bait-and-Switch” de Alex Russell este o piesă grozavă care explică mediile toxice pe care le construim în prezent pentru web și de ce JavaScript poate fi comparat cu CO2 - ambele sunt necesare în porțiuni mici, dar dacă există prea mult din aceasta, va pune în pericol întregul ecosistem (web-ul). Un articol atent pe care recomand tuturor de aici să-l citească, să-l împărtășească și să-l amintească.
- Pe măsură ce Alexa, Cortana, Siri și chiar boții de chat de asistență pentru clienți devin norma, trebuie să începem să luăm în considerare nu numai cum arată conținutul nostru, ci și cum ar putea suna. Putem – și ar trebui – să folosim HTML și ARIA pentru a face conținutul nostru structurat, sensibil și, cel mai important, semnificativ.
Performanța web
- Viitorul PostgreSQL 11 are câteva îmbunătățiri interesante de performanță. Dimitri Fontaine împărtășește ce diferență pot face.
- Ben Schwarz împărtășește noi abordări ale încărcăturii native lazy pentru web, care ar putea deveni realitate în curând.
Securitate
- Nightwatch Cybersecurity a publicat o vulnerabilitate de securitate în Android care expune informații despre dispozitivul utilizatorului tuturor aplicațiilor care rulează pe acesta. Aceasta pare să includă numele rețelei WiFi, BSSID, adresele IP locale, informațiile serverului DNS și adresa MAC - în general, destul de multe informații private care le permit oamenilor să urmărească dispozitivele Android individuale. Din păcate, toate versiunile sistemului de operare Android, inclusiv fork-urile (cu excepția Android P/9, unde a fost furnizată o remediere) par să fie afectate, fără niciun plan de a remedia versiunile mai vechi.

CSS
- Chen Hui Jing explică cum să personalizați butoanele radio fără a le compromite accesibilitatea.
- Formele CSS au deja destul de multă istorie. Aduși pe web devreme de o inițiativă a echipei Adobe Web, furnizorii de browsere au eliminat din nou implementările în curând, iar acum revin încet cu specificații și implementări reiterate, îmbunătățite. Rachel Andrew împărtășește cum să implementezi formele CSS.
- Sara Soueidan a notat motivele pentru care a trecut de la definirea culorilor CSS ca HEX sau RGB la HSL și care sunt beneficiile.
- Odată cu creșterea web-ului, apar noi funcții pentru a se adapta mai bine la noile săi factori de formă și cazuri de utilizare. O caracteristică de care sunt încântat este proprietatea
color-adjust
, propusă în Modulul de culoare CSS Nivelul 4. Este o recunoaștere a faptului că web-ul va continua să apară pe dispozitivele care au afișaje mai puțin stelare.

HTML și SVG
- Stefan Judis a citit ce are de spus documentația Mozilla despre elementele de
input
și a descoperit câteva lucruri interesante care ar putea fi foarte utile pentru următorul tău proiect.
JavaScript
- Nolan Lawson compară diferitele moduri de utilizare a temporizatoarelor în JavaScript și când să folosească care.
- ky este un client HTTP mic și elegant bazat pe API-ul Fetch de browser.
- Ankur Anand a scris un articol despre costul teribil de performanță al solicitărilor CORS în aplicațiile cu o singură pagină.
- Adrian Roselli ne împărtășește cum putem construi liste de linkuri la sfârșitul unei pagini pentru stilurile de printare.
- Babel 7 a ieșit. Este mai rapid, are mai multe opțiuni și acceptă JSX Fragments și TypeScript.
- Redimensionarea automată a
<textarea>
este o modalitate foarte utilă de a îmbunătăți experiența utilizatorului pentru persoanele care scriu conținut pentru site-ul sau serviciul dvs. Am scris o postare pe blog despre cum să redimensionezi automat elementele de formular cu o clasă scurtă ECMAScript 6.
Accesibilitate
- Ethan Marcotte reflectă la ce înseamnă accesibilitatea și realizează că nu este vorba despre a face un site web compatibil cu unele tehnologii sau software de asistență, ci despre a-l face utilizabil pentru toți cei care doresc să îl acceseze, indiferent de tehnologie. Aceasta este o diferență uriașă, deoarece abordarea sa include persoane care au dificultăți în citirea unui site web, deși folosesc același browser și același laptop ca și tine. Poate că sunt în lumina puternică a soarelui, au dificultăți cu textul mic sau sunt distrași de culori strălucitoare sau elemente animate.
- Eric Bailey subliniază cât de important este testarea manuală a accesibilității.
- Scott O'Hara partajează o navigare prin breadcrumb folosind
aria-label
pentru a furniza un nume accesibil șiaria-current
pentru a indica linkul activ în prezent.
Muncă și viață
- Ryan Singer ia în calcul dificultatea de a planifica un proiect cu „muncă imaginară” și de ce este atât de important să testăm mai întâi cât de greu va fi să integrezi ceva înainte de a-l planifica pe foaia de parcurs.

A merge dincolo de…
- Îmi place conceptul de mâzgălire și, deși nu o fac în mod regulat, mă fascinează întotdeauna. Doodle Addicts este o platformă care colectează doodle-uri de la oameni din întreaga lume. O galerie frumoasă din care să te inspiri.
- Jonny Brooks-Bartlett a scris un articol interesant despre motivul pentru care atât de mulți oameni de știință de date își părăsesc locurile de muncă. S-ar putea să sune destul de interesant și ca un pariu bun în zilele noastre, dar adesea așteptările nu se potrivesc cu realitatea, iar politicile și deciziile etice sunt extrem de dificile.
- Marco Lambertini explică modul în care tehnologia ne poate ajuta să salvăm planeta, dar mai mult decât orice trebuie să învățăm să prețuim natura și resursele ei.
- O discuție interesantă a fost ridicată săptămâna aceasta de către un foarte cunoscut colaborator Open Source care a încercat să schimbe licența unuia dintre proiectele lor pentru a împiedica companiile care sprijină instituția ICE din SUA să-și folosească software-ul. Schimbarea a fost reluată rapid după ce s-a dezvăluit că nu este aplicabilă din punct de vedere legal. Totuși, întregul subiect (care apare mult mai des în ultima vreme) arată că tot mai mulți oameni se gândesc la impactul muncii lor. Ei nu vor să fie folosit pentru rău, ci pentru bine. Și în timp ce ideea unei surse deschise, nerestricționate este de dorit, este doar dacă oamenii o folosesc pentru a susține drepturile omului și pentru a îmbunătăți viețile. Sunt curios de soluții noi care ar putea asigura acest lucru; poate vom vedea în curând mai mulți termeni de serviciu pentru proiectele open-source (care ar fi atunci obligatorii din punct de vedere legal, dar ar putea împiedica proiectele open-source gratuite să le folosească).