Le novità di WordPress 6.8 “Cecil”: Novità per gli sviluppatori

WordPress 6.8 porta con sé anche interessanti novità per gli sviluppatori. Questi aggiornamenti rendono più semplice la creazione e la gestione dei blocchi, migliorando le interfacce utente e aumentando le prestazioni dei siti. Ecco una panoramica delle novità e di come possono rendere più efficienti i flussi di sviluppo.

 

1. Registrazione di più tipi di blocco in WordPress 6.8

A partire da WordPress 6.8, sarà più efficiente registrare tipi di blocco, grazie alle nuova funzione wp_register_block_types_from_metadata_collection(). Questa funzione consente agli sviluppatori di registrare più tipi di blocco contemporaneamente, migliorando le prestazioni e rendendo più semplice sviluppare blocchi.

Si basa sulle API di registrazione dei tipi di blocco introdotte con WordPress 6.7 ed è particolarmente utile per i plugin che registrano diversi tipi di blocco con un’unica chiamata, permettendo di adottare un approccio più efficiente e semplice alla registrazione dei blocchi rispetto alla registrazione di ogni singolo blocco.

Il vantaggio principale è che non si deve invocare ripetutamente register_block_type() per ogni tipo di blocco che si registra con un plugin. Ora si può aggiungere un nuovo tipo di blocco a un plugin esistente semplicemente creando una cartella per quel tipo di blocco e non è necessario registrare il tipo di blocco nella base di codice PHP del plugin perché tutti i tipi di blocco vengono riconosciuti e registrati automaticamente.

Per utilizzare questa funzione, bisogna creare un manifest per tutti i tipi di blocco. Il manifest è un file PHP che contiene i metadati dei blocchi di tutti i file block.json del progetto e può essere generato utilizzando il comando build-blocks-manifest del pacchetto NPM @wordpress/scripts.

Una volta generato il manifest, è possibile registrare tutti i tipi di blocco con questa singola chiamata di funzione:

wp_register_block_types_from_metadata_collection(
	plugin_dir_path( __FILE__ ) . 'dist',
	plugin_dir_path( __FILE__ ) . 'dist/blocks-manifest.php'
);

Per un’analisi più approfondita della nuova funzione wp_register_block_types_from_metadata_collection(), si legga la nota di sviluppo e la documentazione del comando build-block-manifest.

2. Aggiornamenti ai componenti dell’interfaccia utente nella versione 6.8

WordPress 6.8 introduce diverse modifiche ai componenti dell’interfaccia utente nell’editor di blocchi, con diverse deprecazioni e aggiornamenti. Alcune novità degne di nota sono le seguenti:

  • Il componente Navigation è stato deprecato: il componente Navigation e tutti i suoi sottocomponenti sono deprecati e saranno eliminati con WordPress 7.1. Navigation sarà sostituito dal componente Navigator.
  • Il componente Navigator è stato stabilizzato: i metodi __experimentalNavigatorToParentButton e goToParent dell’hook __experimentalUseNavigator sono deprecati e sostituiti da __experimentalNavigatorBackButton e goBack.
  • Il componente RadioGroup è stato deprecato: è possibile utilizzare al suo posto RadioControl o ToggleGroupControl.

Per un elenco completo delle modifiche apportate ai componenti dell’interfaccia utente nella versione 6.8, si veda la nota di sviluppo.

3. Aggiornamenti alla Interactivity API

L’Interactivity API riceve diversi miglioramenti. Prima di WordPress 6.8, quando qualcuno interagiva con una pagina, tutte le attività correlate avvenivano contemporaneamente, il che poteva rallentare le cose se richiedevono più di 50 millisecondi. Per risolvere questo problema, WordPress 6.8 introduce dei gestori asincroni. Questo dovrebbe contribuire a migliorare l’INP (Interaction to Next Paint), un indice che misura la reattività di un sito web alle interazioni degli utenti.

Questa modifica è in fase di preparazione per WordPress 6.8 ma non è ancora stata implementata completamente. Gli sviluppatori devono seguire le nuove best practice per evitare avvisi e stare al passo con le nuove implementazioni (come l’utilizzo di metodi asincroni). Le nuove funzionalità introdotte costituiscono un passaggio intermedio verso un’Interactivity API più veloce e affidabile.

Per un approfondimento sulle nuove best practice della Interactivity API, si legga la nota di Felix Arntz.

4. Un avviso sulle prestazioni per gli sviluppatori

L’hook useSelect aiuta a recuperare e gestire i dati nell’editor di blocchi, ma se non viene utilizzato con attenzione, può rallentare un sito web.

A partire da WordPress 6.8, quando SCRIPT_DEBUG è abilitato, nella console degli sviluppatori viene visualizzato un nuovo avviso se useSelect viene invocato troppo spesso o in modo inefficiente. In particolare, l’avviso viene visualizzato se useSelect viene attivato ad ogni rendering (aggiornamento) di un componente senza un’adeguata ottimizzazione.

Il nuovo avviso dovrebbe aiutare gli sviluppatori a individuare eventuali strozzature delle prestazioni. Maggiori dettagli sono disponibili nella nota di sviluppo.

Il block inserter in WordPress 6.8
Il block inserter in WordPress 6.8

WordPress 6.8 si concentra sul perfezionamento delle funzionalità esistenti e sul miglioramento delle prestazioni. I miglioramenti principali riguardano l’usabilità dell’editor, gli aggiornamenti del design con un’interfaccia rinnovata per gli stili globali e il supporto del Libro degli stili per i temi classici. Inoltre, la nuova versione migliora le prestazioni con il caricamento speculativo tramite la Speculation Rules API e rafforza la sicurezza con l’hashing delle password bcrypt.

Ma non è tutto. Per un elenco completo dei miglioramenti e delle aggiunte in arrivo con WordPress 6.8, si legga la Field Guide di WordPress 6.8 e le altre novità per gli sviluppatori sul blog ufficiale di WordPress.

Ora tocca a voi. Avete già installato WordPress 6.8? Quali sono le vostre prime impressioni? Condividete le vostre considerazioni nella sezione dei commenti qui sotto.

Pubblicità

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *