I contributori di WordPress cercano un percorso da seguire per l'API REST di WP

Pubblicato: 2016-02-09
credito fotografico: Valeriy Poltorak
credito fotografico: Valeriy Poltorak

Durante il fine settimana, la discussione è continuata sulla direzione dell'API REST di WP, poiché sia ​​Matt Mullenweg che Ryan McCue si sono rivolti ai loro blog WordPress per chiarire le affermazioni della riunione di stato della scorsa settimana. Le divergenze di opinione stanno guidando un acceso dibattito su ciò che costituisce un traguardo per la prontezza dell'API per il core.

In un post intitolato "Chicken and Egg", Mullenweg ha affrontato la recente discussione sull'API REST di WP condividendo un aneddoto da un libro che copre la storia dell'era hip-hop della metà degli anni '90.

Adoro l'idea che Questlove si renda conto che alla canzone mancava qualcosa, e che tornasse allo stand per continuare a lavorarci sopra finché non ebbe risonanza con il suo pubblico di destinazione. Una canzone che non regge da sola non sarebbe migliore se inserita in un album. (Oppure Samsung avrebbe le app più popolari su Android.) I fan ascoltano la cura e la qualità di ogni traccia e diventano super fan.

Mullenweg lo collega a considerazioni durante la creazione di prodotti per il web:

C'è questa tensione in tutto ciò che produciamo. Dov'è la linea da percorrere tra 1.0 è il prodotto più solitario e minimo praticabile? O si tratta di un prodotto amabile minimo? Stiamo costruendo un'auto senza aria condizionata o un'auto senza ruote?

"Pivot" è diventato superato, ma è molto peggio presumere che la distribuzione risolverà qualcosa di fondamentale per il tuo prodotto che non funziona.

Mullenweg ha menzionato la stessa analogia con l'auto durante l'incontro della scorsa settimana. In risposta a un commentatore che ha chiesto maggiori chiarimenti su come l'analogia si applica all'API REST, Mullenweg ha affermato quanto segue:

Se vuoi usare una buona euristica in generale: c'erano decenni di automobili, milioni di veicoli e conducenti, prima che avessero l'aria condizionata. La proposta di valore fondamentale di un'auto è il trasporto, l'aria condizionata ti aiuta solo ad arrivarci più comodamente. Non avevi bisogno di una macchina per prendere l'aria condizionata, potevi averla a casa tua. L'aria condizionata potrebbe farti scegliere un'auto piuttosto che un'altra, ma probabilmente non cammineresti o andresti a cavallo se l'auto non avesse l'aria condizionata, avresti semplicemente abbassato i finestrini.

Questo pone la domanda, che cosa costituisce le ruote? I contributori a questa discussione sono divisi sul fatto che gli endpoint esistenti siano pronti o meno per essere uniti nel core. I membri del team WP REST API, molti dei quali stanno già utilizzando con successo l'API in produzione, ritengono che gli endpoint siano pronti ora. Lo stato attuale dell'API offre la possibilità di ottenere contenuti dentro e fuori WordPress, aprendolo per una comunicazione più semplice con altre piattaforme, che molti ritengono sia il caso d'uso principale.

Mullenweg e altri che si sono uniti alla discussione la scorsa settimana sono favorevoli a fornire qualcosa di più completo, un'API REST che supporti tutto ciò che è disponibile in wp-admin. Ciò include molte funzionalità di gestione del sito di WordPress e allontanerebbe l'API di diverse versioni dalla prontezza di base.

In un commento al nostro rapporto iniziale, Drew Jaynes ha sostenuto quella che crede essere una via di mezzo che fornisce un solido punto di partenza. Ciò comporterebbe la risoluzione dei pezzi mancanti negli endpoint esistenti prima di unirli (articoli come post protetti da password, salvataggi automatici e anteprime dei post e meta).

"Come ho detto io e altri del campo dei contributori/commissari nella chat, ci può essere una via di mezzo", ha detto. "Rimane da vedere se finirà per assomigliare ai quattro endpoint principali, ai quattro endpoint principali con un certo sapore, parità XML-RPC o qualche misura di parità wp-admin", ha affermato.

In un post intitolato "Miglioramento progressivo con l'API REST di WordPress", Ryan McCue ha delineato un approccio iterativo completo che spingerebbe per la distribuzione ora e implementerebbe più endpoint nelle versioni future:

Il miglioramento progressivo è la nostra soluzione chiave a un paio di problemi correlati: compatibilità con le funzionalità e versioni future di WordPress e una solida gestione dei tipi di dati in WordPress. Il miglioramento progressivo sblocca anche il progetto API REST e assicura che non sia necessario attendere che l'API REST abbia la parità con tutte le funzionalità dell'amministratore di WordPress.

Il post di McCue approfondisce ulteriormente le funzionalità di rilevamento delle funzionalità dell'API REST, che consentono agli sviluppatori di rilevare facilmente il supporto per le funzionalità e crearle in modo compatibile con le versioni successive in attesa del supporto principale.

La distribuzione è la risposta?

Durante l'incontro della scorsa settimana McCue ha affermato che continuare lo sviluppo del progetto come plug-in di funzionalità farà più male che bene. Se l'API REST non può essere spedita senza offrire supporto per tutto in wp-admin, il team sarebbe costretto a continuare a ripetere l'iterazione su di essa come plug-in di funzionalità risolvendo contemporaneamente i blocchi stradali difficili nel core di WordPress. Con solo quattro importanti contributori che operano a tempo parziale sul progetto, questo requisito potrebbe bloccare l'API REST di WP indefinitamente.

"Riteniamo che l'approccio di miglioramento progressivo sia l'approccio migliore per lo sviluppo continuo delle API", ha affermato McCue. "Il miglioramento progressivo è un paradigma che il progetto API REST deve adottare, se si tratta di un'API a cui vogliamo aggiungere (senza interrompere la compatibilità con le versioni precedenti) nei prossimi 10 anni."

Mullenweg, che ha guidato un approccio iterativo allo sviluppo nel corso della storia di WordPress, è cauto nell'aggrapparsi alla distribuzione come unica via da seguire.

Maggiore è l'utilizzo di WordPress, più rumorosi saranno i suoi passi. L'iterazione dell'API REST nel core, con la distribuzione a milioni di siti, può influire sul Web in modi che i contributori non possono ancora prevedere. Come si suol dire, pesante è la testa che porta la corona. Le increspature si estendono oltre i siti WordPress alle piattaforme esterne che utilizzeranno anche l'API.

I contributori stanno ancora discutendo le sfumature dello sviluppo iterativo nel core rispetto alla fornitura di un'API più completa. Nel frattempo, l'adozione è ostacolata dall'incertezza che circonda il progetto e dal fatto che porta ancora una dipendenza dal plug-in. Non è ancora chiaro se i contributori di WordPress scaveranno e spingeranno per l'inclusione degli endpoint contro la raccomandazione di Mullenweg o se sceglieranno di dedicare più tempo a lucidare gli endpoint esistenti. Se il team dell'API REST di WP è tenuto a garantire che l'API possa supportare una sostituzione di wp-admin, potrebbe non atterrare nel core fino alla fine di quest'anno o più tardi.