Nu mer än någonsin börjar utvecklare och designers se möjligheten att använda WordPress som ett sätt att bygga webbapplikationer.
Därmed menar jag att samhället börjar se att WordPress kan användas för mer än bloggar och mer än bara content management: Istället kan den användas för att driva databasbaserade program som körs inom ramen för webbläsaren.
Och varför inte, eller hur? När du tar ett steg tillbaka och tittar på alla de saker som WordPress erbjuder, har du ett ganska starkt fall för hur kraftfull WordPress verkligen är.
Exempelvis skickas WordPress med:
Faktum är att Matt Mullenweg har citerats för att säga:
När du tänker på det, är vi snälla att bygga ett weboperativsystem.
Men det betyder inte att WordPress är rätt passform för allt. Hur många ramar, stiftelser, bibliotek, verktyg och så vidare har vi för att hjälpa oss att bygga webbapplikationer?
I den här serien ska vi titta på exakt vad WordPress erbjuder när det gäller att bygga webbapplikationer, skillnaden i en applikationsram och en grund, de funktioner som låter sig bygga fullstap applikationer med WordPress, som liksom hur WordPress är inte en silverkula för att skriva programvara för webben.
En av de vanligaste missnomerna som jag hör tillämpade på WordPress är hur det är a ramverk för webbapplikationer. I själva definitionen av "ramverk" och av själva definitionen av vad WordPress är, är det inte en ram - det är en grund.
Som Wikipedia definierar det, är en programvara ram:
I datorprogrammering är en mjukvarurama en abstraktion där mjukvara som tillhandahåller generisk funktionalitet kan ändras selektivt med ytterligare användarskriven kod, vilket ger applikationsspecifik mjukvara. En programvara ram är en universell, återanvändbar mjukvaruplattform för att utveckla applikationer, produkter och lösningar. Programvaruramar inkluderar stödprogram, kompilatorer, kodbibliotek, verktygssatser och API-gränssnitt för applikationsprogrammering som samlar alla olika komponenter för att möjliggöra utveckling av ett projekt eller en lösning.
För att uttrycka det enkelt består en ram av en rad konventioner - till exempel var filer ska gå - liksom bibliotek och verktyg - som ett databas abstraktionslager - som gör att vi enkelt kan börja arbeta med en applikation.
Med ett ramverk kan du fokusera på en specifik problemdomän som är unik för lösningen som du försöker bygga. Låt oss till exempel säga att du kommer att bygga en viss enkel typ av konto programvara som är ansvarig för att spåra insättningar, uttag och hålla reda på tillgängliga (eller inte så tillgängliga pengar).
I det här scenariot har du en databas som är unik för detta problem, ett databasabstraktionslager som gör det enkelt för dig att läsa och skriva data till det definierade schemat och en uppsättning konventioner för organisering av presentationenskoden (det vill säga , vad är ansvaret för att visa data till användaren och med vilken användaren interagerar) och för organisering av programkoden som sitter mellan presentationskoden och databaskoden som inkapslar någon affärslogik som är unik för problemet.
Du ser, ett ramverk ger det sätt på vilket en applikation kan byggas från grunden. Det hjälper till att underlätta skapandet av en applikation från databasschemat fram till fronten.
Sanningen är, det låter mycket som vad WordPress erbjuder, inte det?
Men saken är, WordPress tillhandahåller en fördefinierad databas, en fördefinierad uppsättning programkod (och därmed API), liksom sätt att göra data med hjälp av mallfiler.
Enkelt uttryckt är WordPress ett program som tillhandahåller en uppsättning API och konventioner som vi kan använda för att bygga applikationer ovanpå. Det tillhandahåller redan ett schema, kärndatalogik, en del affärslogik och presentationsstrategier ute i rutan.
Med en ram kan du faktiskt bygga en ansökan, en stiftelse låter dig förlänga en ansökan.
Och det är vad vi äntligen gör med WordPress: Vi utnyttjar den fördefinierade databasen, tillgängliga API och mallsystemet för att visa data för att bygga lösningar med hjälp av ett program som redan är definierat.
Kort sagt kan programvara byggas på ramar, mjukvaran kan förlänga grunden.
Lite förvirrad?
Som vi gjorde i det sista avsnittet tog vi en titt på hur du skulle gå för att bygga en mycket enkel redogörelse för programvara. Minns att det krävdes att vi definierar ett databasschema, skriv kod för läsning och skrivning till databasen, skriv kod för hantering av affärslogiken, bygga mallar för att återge data och interagera med användaren och sedan placera filerna varhelst de är skyldiga att passar in i ramverkens konventioner.
Med WordPress är det helt möjligt att använda det befintliga databassystemet för att hantera allt detta. Du kan använda API för att sanera och validera data, du kan använda mallar för att göra informationen, och du kan använda krokar för att implementera anpassad funktionalitet för att interagera med användaren.
Så ja, även om samma typ av programvara kan byggas på en ram eller en grund, finns det skillnader mellan ramar och stiftelser och jag tycker att det är väldigt viktigt att förstå skillnaden i båda innan du dyker längre in i serien.
Enkelt uttryckt är ramverk inte tillämpningar, grunden är applikationer.
Bara för att en webbapplikation kan byggas med WordPress gör det inte till en ram. Det är en grund. Det är en ansökan till sig som kan utvidgas till ytterligare applikationer.
Saker som Rails, Laravel, CakePHP, Zend och CodeIgnitor är ramverk eftersom när du laddar ner, installerar och ställer upp dem, kan de inte faktiskt do allt tills du ger dem tillräckligt med kod för att göra det.
Stiftelser är inte så. De kan redan göra saker om du själv har skrivit en kodkod.
Som nämnts, kommer vi genom denna serie att titta på grunden som WordPress tillhandahåller för att skriva webbapplikationer.
Självklart där är ingen silverkula när det gäller att skriva en webbapplikation. Syftet med serien är inte att övertyga någon om varför WordPress ska användas över någon annan ram eller grund. Istället är syftet bara att visa vad du kan gör med WordPress och varför det Maj vara ett genomförbart alternativ för ditt nästa projekt.
Även om det inte kommer finnas mycket tekniskt material - till exempel kod - där kommer finns gott om exempel på vilka API: er som WordPress har tillgängligt, hur de kan användas och vad de kan användas för när det gäller att skriva en ansökan.
Med början i nästa artikel kommer vi att se vad det innebär att flytta vår konceptuella modell för att tänka på att bygga webbapplikationer från mönster och ramar till något som WordPress.