Aggiornamento mensile dello sviluppo Web 9⁄2018: caricamento lento nativo e lavoro immaginario

Pubblicato: 2022-03-10
Riassunto veloce ↬ Il web si sta evolvendo a un ritmo così veloce che può essere difficile rimanere al passo con le cose. Per darvi una panoramica di quello che è successo nel mondo degli sviluppatori web nelle ultime settimane, Anselm ha compilato ancora una volta il suo aggiornamento mensile.

È un concetto interessante confrontare JavaScript con CO2 e tuttavia molto valido. Alex Russel, che lavora per il team di Chrome e ha molte informazioni sullo stato attuale del Web, afferma che l'utilizzo di troppo JavaScript o l'utilizzo esclusivo (senza miglioramento progressivo/degrado grazioso) avrà lo stesso effetto di troppa CO2 per il ecosistema sul pianeta Terra: l'ecosistema cadrà a pezzi. E proprio come abbiamo bisogno di una certa quantità di CO2 per vivere, abbiamo bisogno di JavaScript sul web. È quella linea sottile che fa la differenza: la linea tra il non troppo e il niente affatto.

Sento che con le API native del browser che abbiamo in questi giorni abbiamo una fantastica opportunità di creare ottimi servizi web senza gonfiarli troppo e senza fare affidamento solo su JavaScript. Possiamo migliorare facilmente gli elementi nativi con l'API degli elementi personalizzati tramite le classi ES6, con così poco codice che sembra ridicolo creare tutto ciò da soli in un framework di terze parti. Per coincidenza, il team di ingegneri di Github ha pubblicato un articolo su come hanno abbandonato completamente jQuery e cosa usano ora invece: JavaScript nativo e codice piccolo e snello che sta progressivamente migliorando la loro piattaforma. Meno codice, migliore manutenibilità e più stabilità.

Notizia

  • Chrome 70 è ora in versione beta, portando il rilevamento della forma come prova dell'origine che ci consente di eseguire la lettura del codice QR, il rilevamento del volto e il riconoscimento del testo nelle immagini. Anche l'API di autenticazione Web ha ricevuto alcuni aggiornamenti ed è stato aggiunto il supporto referrerpolicy agli elementi <script> . Questa versione deprecherà anche Custom Elements v0, HTML Imports e Shadow DOM v0.
  • Infine, con Firefox 62, Mozilla fornisce ::selection invece di :-moz-selection . Hanno anche implementato flat() e flatMap() per array JavaScript e gli sviluppatori ottengono un nuovo Shape Path Editor.
  • Chrome 69 è uscito e ci offre CSS Scroll Snap Points, la proprietà CSS viewport-fit alla visualizzazione per display ritagliati come quello di iPhone X e l'API Web Locks che consente agli script in esecuzione in una scheda o lavoratore di acquisire in modo asincrono un blocco, tenere premuto durante l'esecuzione del lavoro, quindi rilasciarlo. L'aggiornamento include anche il supporto del gradiente conico CSS, toggleAttribute() (che è simile al metodo classList.toggle() ma per gli attributi) e flat() e flatMap() per gli array. Sfortunatamente, questa versione ha cambiato il modo in cui il browser visualizza l'URL e sembra che le persone lo considerino un bug di sicurezza. Vediamo come si evolverà.
  • Con Firefox 62 che supporta i caratteri web variabili, abbiamo finalmente il supporto in tutti i principali browser e ora possiamo usarlo ampiamente per migliorare le prestazioni, essere più creativi con la tipografia e ridurre drasticamente il traffico di dati.
  • Manuel Rego Casasnovas ha scritto delle recenti modifiche al layout della griglia CSS in percentuali e altezza indefinita nel browser Chrome.
  • Chiunque non sia un esperto avrebbe difficoltà a spiegare come funziona effettivamente il monitoraggio su Internet. Ecco perché Firefox ora modifica le impostazioni predefinite e impone il blocco del monitoraggio nel browser per impostazione predefinita.
  • PHP7.3 arriverà presto con la nuova sintassi Heredoc e Nowdoc, virgole finali nelle chiamate di funzione, is_countable() , array_key_first() , array_key_last() e miglioramenti dell'hash delle password Argon2.
Altro dopo il salto! Continua a leggere sotto ↓

Generale

  • "The 'Developer Experience' Bait-and-Switch" di Alex Russell è un ottimo pezzo che spiega gli ambienti tossici che attualmente costruiamo per il Web e perché JavaScript può essere paragonato alla CO2: entrambi sono necessari in piccole porzioni, ma se c'è troppo metterà a rischio l'intero ecosistema (il web). Un articolo premuroso che consiglio a tutti qui di leggere, condividere e ricordare.
  • Poiché Alexa, Cortana, Siri e persino i chatbot dell'assistenza clienti diventano la norma, dobbiamo iniziare a considerare non solo l'aspetto dei nostri contenuti, ma anche come potrebbero suonare. Possiamo (e dovremmo) usare HTML e ARIA per rendere i nostri contenuti strutturati, sensati e, soprattutto, significativi.

Prestazioni Web

  • Il prossimo PostgreSQL 11 ha alcuni interessanti miglioramenti delle prestazioni. Dimitri Fontaine condivide la differenza che possono fare.
  • Ben Schwarz condivide nuovi approcci al carico pigro nativo per il Web che potrebbero presto diventare realtà.

Sicurezza

  • Nightwatch Cybersecurity ha pubblicato una vulnerabilità di sicurezza in Android che espone le informazioni sul dispositivo dell'utente a tutte le applicazioni in esecuzione su di esso. Questo sembra includere il nome della rete WiFi, il BSSID, gli indirizzi IP locali, le informazioni sul server DNS e l'indirizzo MAC, tutto sommato un sacco di informazioni private che consentono alle persone di tracciare i singoli dispositivi Android. Sfortunatamente, tutte le versioni del sistema operativo Android, inclusi i fork (tranne Android P/9 in cui è stata fornita una correzione) sembrano essere interessate senza alcun piano per correggere le versioni precedenti.

CSS

  • Chen Hui Jing spiega come personalizzare i pulsanti di opzione senza comprometterne l'accessibilità.
  • Le forme CSS hanno già un po' di storia. Portati sul Web in anticipo da un'iniziativa del team Web di Adobe, i fornitori di browser hanno rimosso presto le implementazioni e ora stanno lentamente tornando con specifiche e implementazioni migliorate e ripetute. Rachel Andrew condivide come implementare le forme CSS.
  • Sara Soueidan ha scritto i motivi per cui è passata dalla definizione dei colori CSS come HEX o RGB a HSL e quali sono i vantaggi.
  • Con la crescita del Web arrivano nuove funzionalità per adattarsi meglio ai suoi nuovi fattori di forma e casi d'uso. Una caratteristica di cui sono entusiasta è la proprietà color-adjust , proposta nel CSS Color Module Level 4. È un riconoscimento che il Web continuerà a essere visualizzato su dispositivi con display non stellari.
Armonie di colore
Creare armonie di colore diventa un gioco da ragazzi con HSL. (Credito immagine)

HTML e SVG

  • Stefan Judis ha letto ciò che la documentazione di Mozilla ha da dire sugli elementi di input e ha scoperto un paio di cose interessanti che potrebbero essere molto utili per il tuo prossimo progetto.

JavaScript

  • Nolan Lawson confronta i diversi modi di utilizzare i timer in JavaScript e quando utilizzarli.
  • ky è un client HTTP minuscolo ed elegante basato sull'API Fetch del browser.
  • Ankur Anand ha scritto un articolo sul terribile costo delle prestazioni delle richieste CORS nelle applicazioni a pagina singola.
  • Adrian Roselli spiega come possiamo creare elenchi di collegamenti alla fine di una pagina per gli stili di stampa.
  • Babel 7 è uscito. È più veloce, ha più opzioni e supporta frammenti JSX e TypeScript.
  • Il ridimensionamento automatico di <textarea> s è un modo molto utile per migliorare l'esperienza utente per le persone che scrivono contenuti per il tuo sito o servizio. Ho scritto un post sul blog su come ridimensionare automaticamente gli elementi del modulo con una breve classe ECMAScript 6.

Accessibilità

  • Ethan Marcotte riflette su cosa significa accessibilità e si rende conto che non si tratta di rendere un sito web compatibile con alcune tecnologie assistive o software, ma di renderlo utilizzabile per tutti coloro che vogliono accedervi, indipendentemente dalla tecnologia. Questa è un'enorme differenza perché il suo approccio include persone che hanno difficoltà a leggere un sito Web anche se utilizzano lo stesso browser e lo stesso laptop di te. Forse sono alla luce del sole, hanno difficoltà con il testo di piccole dimensioni o vengono distratti da colori vivaci o elementi animati.
  • Eric Bailey sottolinea quanto sia importante testare manualmente l'accessibilità.
  • Scott O'Hara condivide una navigazione breadcrumb utilizzando aria-label per fornire un nome accessibile e aria-current per indicare il collegamento attualmente attivo.

Vita lavorativa

  • Ryan Singer contempla la difficoltà di pianificare un progetto con un "lavoro immaginario" e perché è così importante testare prima quanto sarà difficile integrare qualcosa prima di pianificarlo sulla tabella di marcia.
Lavoro reale contro lavoro immaginario
Ci siamo già stati tutti prima: immaginare una soluzione nella tua testa e implementarla sono due cose completamente diverse. (Credito immagine)

Andare oltre…

  • Amo il concetto di scarabocchio e, anche se non lo faccio regolarmente, mi affascina sempre. Doodle Addicts è una piattaforma che raccoglie doodle da persone di tutto il mondo. Una bella gallery da cui prendere ispirazione.
  • Jonny Brooks-Bartlett ha scritto un articolo interessante sul motivo per cui così tanti data scientist stanno lasciando il lavoro. Il lavoro potrebbe sembrare piuttosto interessante e come una buona scommessa di questi tempi, ma spesso le aspettative non corrispondono alla realtà e le decisioni politiche ed etiche sono estremamente difficili.
  • Marco Lambertini spiega come la tecnologia può aiutarci a salvare il pianeta, ma più di ogni altra cosa dobbiamo imparare a valorizzare la natura e le sue risorse.
  • Un'interessante discussione è stata sollevata questa settimana da un noto collaboratore Open Source che ha cercato di cambiare la licenza di uno dei loro progetti per impedire alle aziende che supportano l'istituto ICE statunitense di utilizzare il loro software. La modifica è stata rapidamente ripristinata dopo che è stato rivelato che non era legalmente applicabile. Tuttavia, l'intero argomento (che ultimamente si presenta molto più spesso) mostra che sempre più persone pensano all'impatto del proprio lavoro. Non vogliono che venga usato per il male, ma per il bene. E mentre l'idea di una fonte aperta e non ristretta è desiderabile, è solo se le persone la usano per sostenere i diritti umani e per migliorare la vita. Sono curioso di nuove soluzioni che potrebbero garantire questo; forse vedremo presto più termini di servizio per progetti open source (che sarebbero quindi legalmente vincolanti ma potrebbero impedire l'utilizzo di progetti open source gratuiti).