WordPress pentru dezvoltarea aplicațiilor web o introducere

Acum mai mult ca niciodată, dezvoltatorii și designerii încep să vadă potențialul de a folosi WordPress ca o modalitate de a construi aplicații web.

Prin aceasta, vreau sa spun ca comunitatea incepe sa vada ca WordPress poate fi folosit mai mult decat blogging-ul si mai mult decat managementul continutului: In schimb, acesta poate fi folosit pentru a sustine aplicatii bazate pe baze de date care ruleaza in contextul browserului web.

Și de ce nu, nu? Când faceți un pas înapoi și uitați-vă la toate lucrurile pe care le oferă WordPress, aveți un caz destul de puternic pentru cât de puternic WordPress este cu adevărat.

De exemplu, WordPress livrează cu:

  • O bază de date cu o schemă de date flexibilă
  • Un strat de bază cu numeroase cârlige din care putem profita
  • Abilitatea de a gestiona sarcinile cu care se confruntă clientul, serverul, utilizatorul și administratorul

De fapt, Matt Mullenweg a fost citat spunând:

Când vă gândiți la asta, vom construi un sistem de operare web.

Dar asta nu înseamnă că WordPress este potrivit pentru tot. La urma urmei, câte cadre, fundații, biblioteci, instrumente și așa mai departe avem pentru a ne ajuta să construim aplicații web?

În această serie, vom analiza exact ce oferă WordPress în ceea ce privește construirea aplicațiilor web, diferența într-un cadru de aplicație și o fundație, caracteristicile care se pretează la construirea de aplicații full-stack cu WordPress, ca precum și modul în care este WordPress nu un glonț de argint pentru scrierea de software pentru web.


De cadre și fundații

Unul dintre cele mai frecvente erori pe care le-am auzit aplicat la WordPress este cum este a cadru pentru aplicații web. Prin însăși definiția "cadrului" și prin definiția a ceea ce este WordPress, nu este un cadru - este o fundație.

Ce este un cadru?

După cum o definește Wikipedia, un cadru software este următorul:

În cadrul programării pe calculator, un cadru software este o abstractizare în care software-ul care furnizează funcționalități generice poate fi schimbat selectiv prin cod suplimentar scris de utilizator, oferind astfel software-ul specific aplicației. Un cadru software este o platformă software universală, reutilizabilă pentru a dezvolta aplicații, produse și soluții. Cadrele de software includ programe de suport, compilatoare, biblioteci de coduri, seturi de instrumente și interfețe de programare a aplicațiilor (API) care reunesc toate componentele diferite pentru a permite dezvoltarea unui proiect sau a unei soluții.

Pentru a spune pur și simplu, un cadru constă într-un set de convenții - cum ar fi Unde fișierele ar trebui să meargă - precum și biblioteci și instrumente - cum ar fi un strat de bază de abstractizare - care ne permit să începem cu ușurință să lucrăm la o aplicație.

Cu un cadru, vă puteți concentra pe un domeniu specific de probleme care este unic pentru soluția pe care încercați să o construiți. De exemplu, să presupunem că veți construi un tip simplu de software de cont care este responsabil pentru urmărirea depozitelor, retragerile și urmărirea disponibilităților disponibile (sau nu).

În acest scenariu, veți avea o bază de date care este unică pentru această problemă, un strat de abstractizare a bazei de date care vă facilitează citirea și scrierea datelor în schema definită și un set de convenții pentru organizarea codului de prezentare , ce este responsabil pentru afișarea datelor către utilizator și cu care interacționează utilizatorul) și pentru organizarea codului aplicației care se află între codul de prezentare și codul bazei de date care încapsulează orice logică de afaceri unică pentru problemă.

Vedeți, un cadru oferă mijloacele prin care o aplicație poate fi construită de la început. Acesta ajută la facilitarea creării unei aplicații din schema bazei de date până la front-end.

Atunci ce este o fundație?

Adevărul este că sună mult ca ceea ce oferă WordPress, nu-i așa??

Dar lucrul este că WordPress oferă o bază de date predefinită, un set predefinit de cod de aplicație (și, prin urmare, API-uri), precum și moduri de a face datele folosind fișiere șablon.

Pur și simplu pus, WordPress este o aplicație care oferă un set de API-uri și convenții pe care le putem folosi pentru a construi aplicații pe lângă. Acesta oferă deja o schemă, o logică de date de bază, o logică de afaceri și strategii de prezentare în afara casetei.

Întrucât un cadru vă permite să construiți o aplicație, o fundație vă permite să extindeți o aplicație.

Și asta facem cu WordPress: Profităm de baza de date predefinită, API-urile disponibile și sistemul de șablon pentru afișarea datelor pentru a construi soluții folosind o aplicație deja definită.

Pe scurt, software-ul poate fi construit pe cadre, software-ul poate extinde fundațiile.

Un pic confuz?

Așa cum am făcut în ultima secțiune, am aruncat o privire asupra modului în care ar trebui să construiți o piesă de software foarte simplă. Amintiți-vă că este necesar să definim o schemă de bază de date, să scriem cod pentru citire și scriere în baza de date, să scriem cod pentru manipularea logicii de afaceri, să construim șabloane pentru redarea datelor și interacționarea cu utilizatorul și apoi plasând fișierele oriunde li se cere se potrivesc cu convențiile cadrului.

Cu WordPress, este cu totul posibil ca sistemul de baze de date existente să se ocupe de toate acestea. Puteți utiliza API pentru dezinfectarea și validarea datelor, puteți utiliza șabloane pentru a face informațiile și puteți utiliza cârlige pentru a implementa funcționalitatea personalizată pentru a interacționa cu utilizatorul.


Care este diferența??

Deci da, deși același tip de software poate fi construit pe un cadru sau o fundație, există diferențe între cadre și fundații și cred că este foarte important să înțelegem diferența în ambele înainte de scufundări mai adânc în serie.

Pur și simplu, cadrele nu sunt aplicații, fundațiile sunt aplicații.

Doar pentru că o aplicație web poate fi construită utilizând WordPress nu o face ca un cadru. Este o fundație. Este o cerere la sine în care se poate extinde aplicații ulterioare.

Lucruri precum Rails, Laravel, CakePHP, Zend și CodeIgnitor sunt cadre, deoarece atunci când le descărcați, le instalați și le configurați, acestea nu pot do până când îi dați codul suficient pentru a face acest lucru.

Fundațiile nu sunt așa. Ele pot face deja lucruri chiar dacă ați scris o linie de cod pe cont propriu.


Ce este în continuare?

Așa cum am menționat, pe parcursul acestei serii, vom analiza fundația pe care WordPress o oferă pentru scrierea de aplicații web.

Desigur, acolo este nici un glonț de argint atunci când vine vorba de scrierea unei aplicații web. Scopul seriei nu este de a convinge pe cineva de ce WordPress ar trebui să fie folosit peste orice alt cadru sau fundație. În schimb, scopul este pur și simplu de a arăta ceea ce voi poate sa face cu WordPress și de ce Mai să fie o alternativă viabilă pentru următorul proiect.

Deși nu vor fi multe materiale tehnice - cum ar fi codul - acolo voi să existe o mulțime de exemple de ceea ce API-urile WordPress au la dispoziție, cum pot fi utilizate și ce pot fi folosite atunci când este vorba de scrierea unei aplicații.

Începând cu următorul articol, vom vedea ce înseamnă să ne schimbăm modelul conceptual de gândire despre construirea de aplicații web de la modele și cadre la ceva de genul WordPress.

Cod