Meer dan ooit beginnen ontwikkelaars en ontwerpers de mogelijkheden te zien om WordPress te gebruiken als een manier om webapplicaties te bouwen.
Daarmee bedoel ik dat de community begint te zien dat WordPress kan worden gebruikt voor meer dan alleen bloggen en meer dan alleen inhoudsbeheer: in plaats daarvan kan het worden gebruikt voor databaseondersteunde applicaties die worden uitgevoerd binnen de context van de webbrowser.
En waarom niet, toch? Wanneer je een stap terug doet en alle dingen bekijkt die WordPress aanbiedt, heb je een vrij sterke argumenten voor hoe krachtig WordPress echt is.
WordPress wordt bijvoorbeeld geleverd met:
Matt Mullenweg is zelfs geciteerd als:
Als je erover nadenkt, bouwen we een webbesturingssysteem.
Maar dat betekent niet dat WordPress de juiste pasvorm voor alles is. Immers, hoeveel kaders, stichtingen, bibliotheken, hulpmiddelen enzovoort hebben we om ons te helpen bij het bouwen van webapplicaties?
In deze serie gaan we kijken wat WordPress precies biedt met betrekking tot het bouwen van webtoepassingen, het verschil in een toepassingskader en een basis, de functies die zich lenen voor het bouwen van volledige stacktoepassingen met WordPress, zoals en hoe WordPress is niet een zilveren kogel voor het schrijven van software voor het web.
Een van de meest voorkomende misnomeren die ik hoor toegepast op WordPress is hoe het is kader voor webapplicaties. Door de definitie van "kader" en door de definitie van wat WordPress is, is het geen raamwerk - het is een fundament.
Zoals Wikipedia dit definieert, is een softwareframework het volgende:
Bij computerprogrammering is een softwareframework een abstractie waarin software die generieke functionaliteit biedt, selectief kan worden gewijzigd door extra door de gebruiker geschreven code, waardoor toepassingsspecifieke software wordt geboden. Een softwareframework is een universeel, herbruikbaar softwareplatform om toepassingen, producten en oplossingen te ontwikkelen. Softwarekaders bevatten ondersteuningsprogramma's, compilers, codebibliotheken, tool sets en API's (Application Programming Interfaces) die alle verschillende componenten samenbrengen om de ontwikkeling van een project of oplossing mogelijk te maken..
Simpel gezegd bestaat een raamwerk uit een reeks conventies - zoals waar bestanden moeten gaan - evenals bibliotheken en hulpmiddelen - zoals een database-abstractielaag - waarmee we gemakkelijk aan een applicatie kunnen werken.
Met een framework kunt u zich concentreren op een specifiek probleemdomein dat uniek is voor de oplossing die u probeert te bouwen. Stel dat u bijvoorbeeld een eenvoudig type accountsoftware gaat bouwen die verantwoordelijk is voor het bijhouden van stortingen, opnames en het bijhouden van beschikbare (of niet-zo-beschikbare contanten).
In dit scenario beschikt u over een database die uniek is voor dit probleem, een database-abstractielaag waarmee u eenvoudig gegevens kunt lezen en schrijven naar het gedefinieerde schema en een reeks conventies voor de organisatie van de presentatiecode (dat is , wat is verantwoordelijk voor het weergeven van gegevens aan de gebruiker en waarmee de gebruiker communiceert) en voor de organisatie van de toepassingscode die tussen de presentatiecode en de databasecode zit die elke bedrijfslogica bevat die uniek is voor het probleem.
U ziet dat een raamwerk de middelen verschaft waarmee een toepassing vanaf de grond opgebouwd kan worden. Het helpt bij het maken van een applicatie van het databaseschema tot aan de front-end.
De waarheid is dat dat erg lijkt op wat WordPress biedt, nietwaar?
Maar het ding is, WordPress biedt een vooraf gedefinieerde database, een vooraf gedefinieerde set applicatiecode (en dus API's), evenals manieren om gegevens te renderen met behulp van sjabloonbestanden.
Eenvoudig gezegd is WordPress een applicatie die een reeks API's en conventies biedt die we kunnen gebruiken om applicaties bovenop te bouwen. Het biedt al direct een schema, kerngegevenslogica, enkele bedrijfslogica en presentatiestrategieën.
Terwijl u met een raamwerk feitelijk een applicatie kunt bouwen, kunt u met een stichting een toepassing uitbreiden.
En dat is wat we uiteindelijk doen met WordPress: we maken gebruik van de vooraf gedefinieerde database, de beschikbare API's en het sjabloonsysteem voor het weergeven van gegevens om oplossingen te bouwen met een applicatie die al is gedefinieerd.
Kort gezegd, software kan op frameworks worden gebouwd, software kan funderingen verlengen.
Een beetje in de war?
Zoals we in het vorige gedeelte hebben gedaan, hebben we bekeken hoe u een heel eenvoudige boekhoudsoftware gaat maken. Bedenk dat het vereist dat we een databaseschema definiëren, code schrijven voor lezen en schrijven naar de database, code schrijven voor het verwerken van de bedrijfslogica, sjablonen bouwen voor het renderen van gegevens en interactie met de gebruiker, en vervolgens de bestanden plaatsen waar ze nodig zijn passend bij de conventies van het raamwerk.
Met WordPress is het heel goed mogelijk om het bestaande databasesysteem te gebruiken om dit allemaal aan te pakken. U kunt API's gebruiken voor het opschonen en valideren van gegevens, u kunt sjablonen gebruiken om de informatie weer te geven en u kunt haken gebruiken om aangepaste functionaliteit te implementeren voor interactie met de gebruiker.
Dus ja, hoewel hetzelfde type software kan worden gebouwd op een framework of een foundation, zijn er verschillen tussen frameworks en foundations, en ik denk dat het erg belangrijk is om het verschil in beide te begrijpen voordat je dieper in de serie duikt.
Eenvoudig gezegd, frameworks zijn geen applicaties, foundations zijn applicaties.
Alleen omdat een webtoepassing kan worden gebouwd met behulp van WordPress maakt het geen kader. Het is een fundament. Het is een toepassing op zichzelf die kan worden uitgebreid tot verdere toepassingen.
Dingen zoals Rails, Laravel, CakePHP, Zend en CodeIgnitor zijn raamwerken, want wanneer u ze downloadt, installeert en instelt, kunnen ze niet echt do alles totdat je hen genoeg code geeft om dit te doen.
Stichtingen zijn niet zo. Ze kunnen al dingen doen, of je nu zelf een regel code hebt geschreven of niet.
Zoals gezegd, gaan we in deze serie een kijkje nemen naar de basis die WordPress biedt voor het schrijven van webtoepassingen.
Natuurlijk daar is geen wondermiddel als het gaat om het schrijven van een webapplicatie. Het doel van de serie is niet iedereen te overtuigen waarom WordPress moet worden gebruikt over een ander raamwerk of stichting. In plaats daarvan is het doel eenvoudigweg om te laten zien wat jij bent kan doen met WordPress en waarom mei een levensvatbaar alternatief zijn voor je volgende project.
Hoewel er niet veel technisch materiaal zal zijn - zoals code - daar zullen voorbeelden zijn van wat API's WordPress beschikbaar heeft, hoe ze kunnen worden gebruikt en waar ze voor kunnen worden gebruikt als het gaat om het schrijven van een applicatie.
Vanaf het volgende artikel gaan we kijken wat het betekent om ons conceptuele model van denken over het bouwen van webtoepassingen van patronen en frameworks naar iets als WordPress te verplaatsen..