Dopo quello che sembrava uno shoo-in per WordPress 5.9, a API del carattere web proposto è stato messo in attesa. La funzione standardizzerà il modo in cui gli sviluppatori di temi e plug-in caricano i caratteri e getterà le basi per future funzionalità rivolte agli utenti.
Jono Alderson aperto un ticket per la funzione nel febbraio 2019. Negli ultimi mesi, la proposta ha preso velocità. Il pull richiesta aveva oltre 200 messaggi in-ticket, 93 commit e l’approvazione del codice da due committer principali. L’API sembrava pronta. Tuttavia, negli ultimi giorni si è fermato.
Andrew Ozz, uno sviluppatore principale di WordPress, essenzialmente fermato la possibilità della nuova API atterraggio in 5.9. Ha dichiarato che non pensava che la proposta fosse pronta per WordPress.
“Semplicemente come codice sembra buono”, ha scritto nel biglietto. “È davvero ben documentato (grazie [Tonya Mark]!). Tuttavia, non riesco ancora a vedere come questo renderebbe WordPress migliore a breve e lungo termine. Stavamo chiacchierando con [Andrei Draganescu] e ha suggerito che idealmente questo avrebbe dovuto essere un plug-in di funzionalità, e sono d’accordo. Quindi sarebbe stato possibile testarlo davvero in produzione, verificare (o rifiutare) i presupposti che sono stati fatti durante la creazione e trasformarlo in un’aggiunta davvero degna di WordPress. Sfortunatamente è troppo tardi per questo ora per 5.9.”
Uno dei problemi con i plug-in delle funzionalità di test per le API è che non vengono spesso adottati, come altri hanno notato nel ticket. Nella maggior parte dei casi, gli sviluppatori non si affidano a loro nella produzione. E l’utente finale medio non installerebbe qualcosa di specifico per gli sviluppatori.
“Suggerire di farlo come plug-in di funzionalità è un modo elegante per ritardare qualcosa per alcuni anni”, disse Ari Stathopoulos, uno degli sviluppatori dietro l’API. Tuttavia, ha sottolineato che l’API REST è un’eccezione che ha funzionato abbastanza bene da essere trasferita su WordPress.
La proposta principale di WordPress sarà probabilmente inserito nel plugin Gutenberg per ulteriori esplorazioni. Questa sarebbe una sorta di compromesso tra l’avvio come plug-in di funzionalità separato e l’accesso a WordPress 5.9.
L’API dei caratteri web non è direttamente correlata al sistema a blocchi. Sia i temi tradizionali che quelli a blocchi, così come i plug-in, potrebbero utilizzare la funzionalità oggi. Tuttavia, diverse proposte di Gutenberg si basano sull’esistenza dell’API, come consentire agli autori di temi di definire i caratteri Web tramite il loro theme.json
File.
Ozz ha elencato diverse domande sulla proposta e diversi sviluppatori hanno risposto a ciascuna. Tuttavia, il suo argomento principale era imperniato sulla praticità del motivo per cui tutto nell’API era necessario, affermando che le risposte precedenti erano state “in linea di principio” e sembravano basate su ipotesi.
Al livello più elementare, l’API dei caratteri Web consentirebbe agli sviluppatori di registrare e caricare caratteri ospitati localmente o quelli di Google Fonts. Gli sviluppatori possono anche aggiungere provider personalizzati al di fuori dei due valori predefiniti. La prima iterazione dell’API proposta riguardava più la creazione di una base su cui costruire nelle future versioni di WordPress.
L’attrattiva della funzione non è semplicemente caricare i caratteri. Tecnicamente, gli autori di temi potrebbero farlo con una singola riga di codice, se lo volessero. Quattro righe di codice se volevano seguire gli attuali standard di base di WordPress, almeno sul front-end.
Stathopoulos ha snocciolato un elenco di miglioramenti che tale API porterebbe a WordPress e alle sue estensioni.
- I temi potrebbero definire i caratteri tramite i loro
theme.json
File. - Anteprime dei caratteri nel selettore della famiglia di caratteri nell’editor.
- Visualizzazione di pesi e stili dei caratteri validi per una famiglia di caratteri.
- Prestazioni front-end migliorate.
- Localizzazione lato server per migliori prestazioni e privacy.
Questo era un piccolo esempio degli argomenti a favore dell’inclusione dell’API nel core di WordPress.
“Ci sono molti miglioramenti in Gutenberg che sono nel limbo, in attesa di un’API per i font web”, ha scritto Stathopolous nel ticket. “Non avere un’API per i caratteri Web è un blocco a questo punto. Non è un bene da avere nella nostra lista dei desideri, è un requisito per andare avanti”.
Attualmente, nessuno standard si riferisce specificamente ai caratteri web in WordPress. Gli autori del tema sfruttano le funzioni esistenti per accodare un foglio di stile di terze parti o uno personalizzato con @font-face
regole. Questa è stata generalmente una pratica accettata nella comunità degli autori di temi nel corso degli anni.
Tuttavia, molti lo hanno accettato a malincuore. Diversi hanno creato script personalizzati per alleviare i punti deboli. Molti altri copiano semplicemente il metodo utilizzato dall’ultimo tema WordPress predefinito.
Uno degli obiettivi è fare in modo che gli sviluppatori non debbano preoccuparsi di fare tutto il lavoro extra coinvolto nel caricamento dei caratteri web. Non dovrebbe essere necessario un tema per capire come caricarli sia nell’editor che nel front-end, gestire il precaricamento o tenere conto della localizzazione. Poiché i temi invecchiano e le API di terze parti come Google Fonts cambiano, non sarebbe necessario aggiornare i temi se WordPress se ne prendesse cura sotto il cofano.
Il problema di come caricare al meglio i caratteri web si moltiplica quando si aggiungono plug-in al mix. In generale, i temi fanno tutto il lavoro pesante quando si tratta di design. Tuttavia, alcuni plugin saltano in quel lato del mondo di WordPress per aggiungere opzioni di stile extra. Non c’è modo di risolvere i conflitti quando si caricano più copie dello stesso font. Né ci sono modi infallibili per disabilitare i caratteri di un tema e sostituirli tramite il plugin.
Uno di questi autori di plug-in mi ha inviato un’e-mail per farmi sapere le notizie che avevo già saputo. L’API dei caratteri Web sembrava non atterrare più in WordPress 5.9. Lo sviluppatore si stava preparando per lanciare un nuovo sito Web e servizio oltre alla nuova funzionalità. Avevano persino una mascotte. Per ora, potrebbe solo aspettare.
La scadenza del blocco delle funzionalità era di due giorni fa. Pertanto, è improbabile che l’API dei caratteri Web venga aggiunta di nuovo alla pietra miliare di WordPress 5.9. Forse gli sviluppatori lo vedranno quando arriverà la 6.0. Forse spingerlo al plugin Gutenberg gli dà più vita, consentendo ai contributori di andare avanti con nuove funzionalità che si basano su di esso.