Ora più che mai, sviluppatori e designer stanno iniziando a vedere il potenziale per l'utilizzo di WordPress come un modo per creare applicazioni web.
Con ciò intendo dire che la community sta iniziando a vedere che WordPress può essere utilizzato per qualcosa di più del blogging e non solo della gestione dei contenuti: può invece essere utilizzato per alimentare applicazioni supportate da database eseguite nel contesto del browser web.
E perché no, giusto? Quando fai un passo indietro e guarda tutte le cose che WordPress offre, hai un caso abbastanza forte per quanto sia davvero potente WordPress.
Ad esempio, WordPress viene fornito con:
In effetti, Matt Mullenweg è stato citato come dicendo:
Quando ci pensi, stiamo costruendo un sistema operativo web.
Ma ciò non significa che WordPress sia adatto a tutto. Dopo tutto, quanti framework, fondazioni, librerie, strumenti e così via abbiamo per aiutarci a costruire applicazioni web?
In questa serie, daremo un'occhiata a ciò che WordPress offre per quanto riguarda la creazione di applicazioni Web, la differenza in un framework applicativo e una base, le caratteristiche che si prestano a creare applicazioni full-stack con WordPress, come così come è WordPress non una pallottola d'argento per scrivere software per il web.
Uno degli errori più comuni che sento applicato a WordPress è come è struttura per applicazioni web. Con la definizione stessa di "framework" e con la definizione stessa di ciò che è WordPress, non è un framework - è una base.
Come la definisce Wikipedia, una struttura software è la seguente:
Nella programmazione per computer, una struttura software è un'astrazione in cui il software che fornisce funzionalità generiche può essere modificato selettivamente da un codice aggiuntivo scritto dall'utente, fornendo in tal modo un software specifico per l'applicazione. Una struttura software è una piattaforma software universale riutilizzabile per lo sviluppo di applicazioni, prodotti e soluzioni. I framework software includono programmi di supporto, compilatori, librerie di codici, set di strumenti e interfacce di programmazione delle applicazioni (API) che riuniscono tutti i diversi componenti per consentire lo sviluppo di un progetto o una soluzione.
Per dirla semplicemente, un framework consiste in un insieme di convenzioni - come dove i file dovrebbero andare - così come le librerie e gli strumenti - come un livello di astrazione del database - che ci permettono di iniziare facilmente a lavorare su un'applicazione.
Con un framework, puoi concentrarti su uno specifico dominio problematico che è unico per la soluzione che stai cercando di costruire. Ad esempio, supponiamo che creerai un semplice tipo di software per account che è responsabile del tracciamento di depositi, prelievi e di tenere traccia dei contanti disponibili (o non ancora disponibili).
In questo scenario, avrai un database unico per questo problema, un livello di astrazione del database che facilita la lettura e la scrittura dei dati nello schema definito e una serie di convenzioni per l'organizzazione del codice di presentazione (ovvero , che cosa è responsabile della visualizzazione dei dati all'utente e con cui l'utente interagisce) e dell'organizzazione del codice dell'applicazione che si trova tra il codice di presentazione e il codice del database che incapsula qualsiasi logica aziendale specifica del problema.
Vedete, una struttura fornisce i mezzi con cui un'applicazione può essere costruita da zero. Aiuta a facilitare la creazione di un'applicazione dallo schema del database fino al front-end.
La verità è che suona molto simile a quello che offre WordPress, no??
Ma il fatto è che WordPress fornisce un database predefinito, un set predefinito di codice dell'applicazione (e, quindi, API), nonché modi per eseguire il rendering dei dati utilizzando i file modello.
In poche parole, WordPress è un'applicazione che fornisce un insieme di API e convenzioni che possiamo usare per creare applicazioni in aggiunta. Fornisce già uno schema, una logica dei dati di base, alcune logiche di business e strategie di presentazione pronte all'uso.
Mentre un framework consente di creare effettivamente un'applicazione, una base consente di estendere un'applicazione.
Ed è quello che finiamo con WordPress: sfruttiamo il database predefinito, le API disponibili e il sistema di template per la visualizzazione dei dati per creare soluzioni utilizzando un'applicazione già definita.
In breve, il software può essere costruito su framework, il software può estendere le basi.
Un po 'confuso?
Come abbiamo fatto nell'ultima sezione, abbiamo dato un'occhiata a come si andrebbe a costruire un semplice software di contabilità. Ricordiamo che è necessario definire uno schema di database, scrivere codice per leggere e scrivere nel database, scrivere codice per gestire la logica di business, creare modelli per il rendering di dati e interagire con l'utente e quindi posizionare i file ovunque siano obbligatori adattarsi alle convenzioni del quadro.
Con WordPress, è completamente possibile utilizzare il sistema di database esistente per gestire tutto questo. È possibile utilizzare le API per disinfettare e convalidare i dati, è possibile utilizzare i modelli per eseguire il rendering delle informazioni ed è possibile utilizzare gli hook per implementare funzionalità personalizzate per l'interazione con l'utente.
Quindi sì, anche se lo stesso tipo di software può essere costruito su un framework o su una fondazione, ci sono differenze tra framework e fondamenti, e penso che sia molto importante capire la differenza in entrambi prima di immergerti più a fondo nella serie.
In poche parole, i framework non sono applicazioni, le basi sono applicazioni.
Solo perché un'applicazione web può essere costruita usando WordPress non ne fa un framework. È una base. È un'applicazione a sé stessa che può essere estesa ulteriori applicazioni.
Cose come Rails, Laravel, CakePHP, Zend e CodeIgnitor sono framework perché quando si scaricano, si installano e si impostano, non possono effettivamente fare qualsiasi cosa finché non gli dai abbastanza codice per farlo.
Le fondamenta non sono così. Possono già fare le cose indipendentemente dal fatto che tu abbia scritto una riga di codice o meno.
Come accennato, durante questa serie, daremo un'occhiata alla fondazione che WordPress fornisce per la scrittura di applicazioni web.
Certo, lì è nessuna pallottola d'argento quando si tratta di scrivere un'applicazione web. Lo scopo della serie non è convincere nessuno sul perché WordPress dovrebbe essere usato su qualsiasi altro framework o fondamento. Invece, lo scopo è semplicemente quello di mostrare ciò che tu può fare con WordPress e perché potrebbe essere un'alternativa valida per il tuo prossimo progetto.
Anche se non ci sarà molto materiale tecnico, come il codice, lì volontà essere un sacco di esempi di ciò che le API di WordPress hanno a disposizione, come possono essere utilizzate e cosa possono essere utilizzate quando si tratta di scrivere un'applicazione.
A partire dal prossimo articolo, vedremo cosa significa spostare il nostro modello concettuale di pensare a costruire applicazioni web da pattern e framework a qualcosa come WordPress.