Il mondo dello sviluppo web è in costante mutamento. Ogni anno escono nuove tecnologie e per noi sviluppatori web è dura restare aggiornati su tutto, soprattutto su quali funzionalità sono supportate dai browser e quali sono sicure da usare in produzione.
Prima di Baseline
Fino a non molto tempo fa si parlava ancora di supporto per Internet Explorer e si valutava il supporto di funzionalità CSS e Javascript in base alle versioni dei browser. Questo causava non pochi problemi legati ai tanti browser presenti ed allo stato differente in cui si trovavano.
Il sito CanIUse è sempre stato un punto di riferimento per capire quale funzionalità fosse supportata, così da adeguare il proprio codice.
Inutile dire che questo approccio ha sempre causato confusione, maggior lentezza nello sviluppo, nel testing e sicuramente qualche bug.
Baseline
Per risolvere questo problema i team di sviluppo di Chrome, Firefox, Safari ed Edge si sono ritrovati per collaborare e creare una base di partenza (baseline), che tutti gli sviluppatori web possono utilizzare per capire quali funzionalità sono supportate in modo trasversale su tutti i browser.
I browser verranno quindi tenuti aggiornati simultaneamente, così come le documentazioni di riferimento. Ad esempio sul sito di Developer Mozilla alla pagina delle grid CSS potete notare una dicitura in alto con:
- logo di Baseline
- stato di supporto
- supporto sui rispettivi browser più importanti
Questo permetterà a tutti i web developer di essere sempre aggiornati sullo stato dell’arte ed implementazione di ogni singola funzionalità sui diversi browser. Si tratta di un enorme passo avanti, anche se agli inizi, che farà la differenza su come intendiamo il supporto sui browser e l’adozione delle nuove tecnologie in produzione.
Alcune features già disponibili
Elemento Dialog
Il nuovo elemento semantico <dialog>
ci permette di creare facilmente popup e modali. Create un elemento dialog con ID e chiamate il metodo showModal()
per aprirlo. Al resto ci pensa il browser.
Proprietà CSS Trasform Individuali
É possibile separare le proprietà di trasform in tre diverse regole CSS.
Nuove unità di misura viewport
Le nuove unità di misura svh
ed lvh
danno un maggiore controllo sul design del layout lato mobile.
Copia di un oggetto in Javascript
É stata aggiunta la funzione structuredClone
per creare facilmente una copia di un oggetto, anzichè il più complesso giro utilizzando JSON.stringify
e JSON.parse
.