6 Giugno 2023

Automattic rilascia wp-now: un ambiente di sviluppo locale alimentato da WordPress Playground

Wp Now è l’innovativo Ambiente di Sviluppo WordPress locale compatibile su tutte le Piattaforme per lanciare un ambiente WordPress in pochissimi secondi.

Per uno sviluppatore, è spesso frustrante dover costantemente gestire configurazioni, installare diverse librerie e occuparsi di licenze commerciali. Ciò che gli sviluppatori amano è scrivere codice, creare cose e lanciare prodotti che aiutano le persone. Infatti, per loro il codice è poesia.

wp-now è un nuovo ambiente di sviluppo senza configurazione a cui Automattic ha recentemente contribuito per il WordPress Playground. Sebbene si trovi attualmente nella sua fase alfa, wp-now rappresenta già il metodo più rapido e semplice per avviare un sito WordPress locale.

Automattic vuole aiutare gli sviluppatori a concentrarsi su ciò che è più importante, cioè trasformare la caffeina in linee di codice e lanciare prodotti in tempi rapidi.

wp-now può essere installato direttamente da npm. Funziona su tutte le piattaforme (Mac, Linux e Windows). Anche se non supporta ancora i domini personalizzati o SSL, Automattic lo ha in programma. I contributori di wp-now stanno anche considerando la possibilità di rilevare automaticamente quando un file viene modificato e di aggiornare automaticamente il browser, di importare un database da un altro sito WordPress e di aggiungere una funzione di deploy per l’hosting SSH/SFTP, tra le altre funzionalità.

In WordPress.com, contribuire a progetti come WordPress Playground è in linea con la missione dell’azienda di fornire la migliore piattaforma di hosting gestito per WordPress. Nel corso dell’ultimo anno, l’esperienza degli sviluppatori su WordPress.com è stata arricchita con strumenti come WP-CLI, accesso SSH e siti di staging.


Uno degli aspetti in cui wp-now risulta ottimizzato è lo sviluppo dei temi Block. Immaginiamo uno sviluppatore alle prese con un nuovo e impegnativo progetto: la creazione di un tema block per un’università di prestigio.

Lo sviluppatore è stanco di ripetere continuamente gli stessi passaggi: scaricare l’ultima versione di WordPress, impostare un nuovo sito e tenere traccia dei propri dati di accesso. Si ricorda di un post sul blog che annunciava uno strumento innovativo da esplorare: “Avvia un ambiente locale in pochi secondi con wp-now”. Così decide di provare, dato che l’unico requisito è npm e potrebbe finalmente smettere di usare Docker.

Dopo aver avviato wp-now, in pochi secondi si apre automaticamente nel suo browser un nuovo sito web con il tema scelto. Non ha bisogno di installare il tema o inserire le sue credenziali, è già loggato come amministratore.

Dopo un po’ di sviluppo, decide di testare il suo tema utilizzando l’ultimo candidato alla release di WordPress:

wp-now start --wp=6.3-RC1

Il suo sito sembra ottimo sul suo computer, ma il cliente ha chiesto di iniziare a utilizzare PHP 8.2 mentre WordPress è ancora alla versione 6.1. Ma non c’è problema per wp-now:

wp-now start --php=8.2 --wp=6.1.3

Alla fine di una giornata di lavoro produttiva, torna a casa con un senso di soddisfazione. Si rende conto che questo nuovo strumento è eccellente per lo sviluppo dei suoi prodotti e decide di condividerlo con i suoi colleghi. Può aiutarli con i loro temi e plugin. Come bonus, rende anche facile contribuire a WordPress.

Più veloce rispetto a Docker

Sotto il cofano, wp-now utilizza WordPress Playground, che esegue PHP tramite WebAssembly. La performance è importante, quindi Automattic ha misurato come wp-now si confronta con l’ambiente di sviluppo locale basato su Docker, wp-env.

In generale, wp-now è molte volte più veloce per iniziare e altrettanto veloce per lavorare:

Task wp-now wp-env
Download dependencies 10s 5m
Start Docker 0s 12s
Start environment 1.03s 2.35s
Load site home page 0.3s 0.17s
Load admin dashboard 0.34s 0.17s

Anche se le richieste alle pagine che hanno testato impiegano circa il doppio del tempo nell’ambiente wp-now, le differenze assolute erano nell’ordine di 100-400ms, che non dovrebbero influenzare molto il lavoro di sviluppo quotidiano.

wp-now-load-time-1

Powered By WordPress Playground

wp-now è fondamentalmente un’applicazione NodeJS che include un server PHP incorporato, alimentato da WordPress Playground.

Quando un utente utilizza wp-now da una directory, wp-now crea un’istanza di php-wasm, scarica la versione selezionata di WordPress e monta le directory necessarie in un sistema di file virtuale (VFS). Successivamente, iniziano un server NodeJS express che ascolta e instrada tutte le richieste al php-wasm. Di conseguenza, wp-now è in grado di effettuare facilmente l’accesso automatico a WordPress, attivare plugin e temi e configurare automaticamente il sito WordPress dell’utente.

wp-now si basa sul plugin SQLite Database Integration per la sua base di dati, ma può anche connettersi a un database MySQL esistente. Tutti i file specifici del progetto vengono conservati nella directory home dell’utente, all’interno della cartella ~/.wp-now. Le directory vengono create seguendo questo schema: ~/.wp-now/wp-content/${nomeCartellaProgetto}-${hashPercorso}.

In termini più semplici, wp-now è un potente strumento che consente agli sviluppatori di lavorare in un ambiente locale senza dover affrontare i problemi associati alla configurazione manuale di un sito WordPress. Questa applicazione NodeJS gestisce i dettagli tecnici e fornisce un’esperienza utente fluida, consentendo agli sviluppatori di concentrarsi sulla creazione del contenuto e sulla progettazione del sito. Con il supporto sia per SQLite che per MySQL, wp-now offre flessibilità in termini di gestione dei dati, il tutto mentre mantiene i file del progetto ordinati e facilmente accessibili.

Aperto ai Contributi

I contributi provenienti dalla comunità sono inestimabili nel migliorare wp-now e WordPress Playground. Gli sviluppatori e gli utenti possono aiutare e contribuire condividendo le loro idee, esprimendo le loro opinioni su quali funzionalità sono più utili per loro, segnalando problemi o persino creando pull request per il repository GitHub di WordPress Playground Tools. La squadra di wp-now è guidata dai feedback degli utenti: invitano tutti a fare domande e condividere le proprie idee.

Ecco alcune idee future che la squadra sta considerando:

  • Creare un tema/plugin modello con la funzione wp-now create.
  • Rilevamento automatico quando un file viene modificato e aggiornamento automatico del browser.
  • Utilizzare wp-now playground per avviare un sito WordPress senza alcun file.
  • Importare il database da un altro sito WordPress, che sia sul computer dell’utente o ospitato esternamente.
  • Aggiungere la funzione di deploy per aiutare gli sviluppatori a distribuire su qualsiasi hosting SSH/SFTP.
  • Supportare domini personalizzati.

Se gli utenti desiderano costruire wp-now dal suo codice sorgente, possono seguire i passaggi per la contribuzione. Inoltre, è possibile unirsi alla conversazione nel canale #meta-playground su Making WordPress Slack.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Facebook, Inc. detiene i diritti su Facebook®; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Questo sito non è affiliato, sponsorizzato, o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello Europeo da MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italia.

Torna in alto