WordPress for Web App Development En introduksjon

Nå er utviklere og designere mer enn noensinne begynt å se potensialet for å bruke WordPress som en måte å bygge webapplikasjoner på.

Dermed mener jeg at samfunnet begynner å se at WordPress kan brukes til mer enn blogging og mer enn bare innholdsadministrasjon: I stedet kan den brukes til å drive databasebaserte applikasjoner som kjører i sammenheng med nettleseren.

Og hvorfor ikke, ikke sant? Når du tar et skritt tilbake og ser på alle de tingene som WordPress tilbyr, har du et ganske sterkt tilfelle for hvor kraftig WordPress egentlig er.

For eksempel sender WordPress med:

  • En database med et fleksibelt dataskjema
  • Et kjerneprogramlag med mange kroker som vi kan dra nytte av
  • Muligheten til å håndtere kunde-side, server-side, bruker-vendt og administrator-vendt oppgaver

Faktisk er Matt Mullenweg blitt sitert som å si:

Når du tenker på det, er det snill å bygge et web-operativsystem.

Men det betyr ikke at WordPress er den rette passformen for alt. Tross alt, hvor mange rammer, grunnlag, biblioteker, verktøy og så videre, har vi for å hjelpe oss med å bygge webapplikasjoner?

I denne serien skal vi se nærmere på hva WordPress tilbyr når det gjelder å bygge webapplikasjoner, forskjellen i et søknadsramme og et fundament, funksjonene som gir seg til å bygge fullstabelige applikasjoner med WordPress, som så vel som hvordan WordPress er ikke en sølvkule for å skrive programvare til nettet.


Av rammer og stiftelser

En av de vanligste misnomerene jeg hører brukt på WordPress, er hvordan det er en rammeverk for webapplikasjoner. Ved selve definisjonen av "rammeverk" og ved selve definisjonen av hva WordPress er, er det ikke et rammeverk - det er et fundament.

Hva er et rammeverk?

Som Wikipedia definerer det, er et programvare rammeverk følgende:

I dataprogrammering er et programramme en abstraksjon der programvare som gir generisk funksjonalitet kan endres selektivt ved hjelp av tilleggsbrukerskode, og gir dermed programspesifikk programvare. En programvareramme er en universell, gjenbrukbar programvareplattform for å utvikle applikasjoner, produkter og løsninger. Programvare rammer inkluderer støtteprogrammer, kompilatorer, kodebiblioteker, verktøysett og applikasjonsprogrammeringsgrensesnitt (APIer) som samler alle de forskjellige komponentene for å muliggjøre utvikling av et prosjekt eller en løsning.

For å si det enkelt, består et rammeverk av et sett av konvensjoner - for eksempel hvor filer skal gå - så vel som biblioteker og verktøy - for eksempel et abstraksjonslag for databaser - som gjør at vi enkelt kan begynne å jobbe med et program.

Med et rammeverk kan du fokusere på et bestemt problemdomene som er unikt for løsningen du prøver å bygge. For eksempel, la oss si at du skal bygge noen enkel type kontosoftware som er ansvarlig for sporing av innskudd, uttak og overvåking av tilgjengelig (eller ikke-så tilgjengelig penger).

I dette scenariet har du en database som er unik for dette problemet, et databaseabstraksjonslag som gjør det enkelt for deg å lese og skrive data til det definerte skjemaet og et sett med konvensjoner for organisering av presentasjonskoden (det vil si , hva er ansvarlig for å vise data til brukeren og som brukeren samhandler med) og for organisering av applikasjonskoden som sitter mellom presentasjonskoden og databasekoden som inkapsulerer enhver forretningslogikk som er unik for problemet.

Du ser, et rammeverk gir de midler som en applikasjon kan bygges fra grunnen til. Det bidrar til å legge til rette for opprettelsen av et program fra databaseskjemaet til forsiden.

Så hva er et fundament?

Sannheten er at det høres mye ut som hva WordPress tilbyr, gjør det ikke?

Men saken er, WordPress gir en forhåndsdefinert database, et forhåndsdefinert sett med applikasjonskode (og dermed APIer), samt måter å gjengi data ved hjelp av malfiler.

Enkelt sagt, WordPress er et program som gir et sett med APIer og konvensjoner som vi kan bruke til å bygge applikasjoner på toppen av. Den gir allerede et skjema, kjerne data logikk, noen forretningslogikk, og presentasjon strategier out-of-the-box.

Mens et rammeverk gir deg mulighet til å faktisk bygge en applikasjon, gir et grunnlag deg muligheten til å utvide et program.

Og det er det vi ender med å gjøre med WordPress: Vi benytter oss av den forhåndsdefinerte databasen, tilgjengelige APIer og malingssystemet for å vise data for å bygge løsninger ved hjelp av et program som allerede er definert.

Kort sagt, programvare kan bygges på rammer, programvare kan forlenge fundament.

Litt forvirret?

Som vi gjorde i det siste avsnittet, tok vi en titt på hvordan du ville gå om å bygge et veldig enkelt stykke regnskapsprogramvare. Husk at det kreves at vi definerer et databaseskjema, skriv kode for å lese og skrive til databasen, skrive kode for å håndtere forretningslogikken, bygge maler for gjengivelse av data og samhandle med brukeren, og deretter plassere filene hvor de er pålagt å passer med rammekonvensjonene.

Med WordPress er det helt mulig å bruke det eksisterende databasesystemet for å håndtere alt dette. Du kan bruke APIer for å sanitere og validere data, du kan bruke maler til å gjengi informasjonen, og du kan bruke kroker til å implementere tilpasset funksjonalitet for samhandling med brukeren.


Så hva er forskjellen?

Så ja, selv om samme type programvare kan bygges på et rammeverk eller fundament, er det forskjeller mellom rammer og fundament, og jeg synes det er veldig viktig å forstå forskjellen i begge før dykking noe dypere inn i serien.

Enkelt sagt, rammer er ikke applikasjoner, grunnlag er applikasjoner.

Bare fordi et webprogram kan bygges ved hjelp av WordPress, gjør det ikke til et rammeverk. Det er et fundament. Det er et søknad til seg selv som kan utvides til videre applikasjoner.

Ting som Rails, Laravel, CakePHP, Zend og CodeIgnitor er rammebetingelser fordi når du laster ned, installerer og setter dem opp, kan de egentlig ikke gjøre noe til du gir dem nok kode til å gjøre det.

Grunnlag er ikke slik. De kan allerede gjøre ting om du selv har skrevet en linje med kode.


Hva skjer neste gang?

Som nevnt, gjennom hele denne serien, skal vi ta en titt på grunnlaget for WordPress for å skrive webapplikasjoner.

Selvfølgelig, der er ingen sølvkule når det gjelder å skrive et webprogram. Hensikten med serien er ikke å overbevise noen om hvorfor WordPress skal brukes over noe annet rammeverk eller fundament. I stedet er formålet bare å vise hva du kan gjør med WordPress og hvorfor det kan være et levedyktig alternativ for ditt neste prosjekt.

Selv om det ikke vil være mye teknisk materiale - for eksempel kode - der vil være mange eksempler på hva APIer som WordPress har tilgjengelig, hvordan de kan brukes, og hva de kan brukes til når det gjelder å skrive en applikasjon.

Fra den neste artikkelen skal vi se hva det betyr å skifte vår konseptuelle modell for å tenke på å bygge webapplikasjoner fra mønstre og rammer til noe som WordPress.