Het dode spoor van Wordpress

Door StephanVierkant op vrijdag 4 december 2015 14:58 - Reacties (19)
Categorie: php, Views: 6.771

Ik ben begonnen met programmeren zoals veel programmeurs. Eerst een standaard HTML-template (met animated gifjes, Flash hover buttons, <marquee>, etc.) aanpassen in FrontPage, overstappen naar DreamWeaver en PHP 4 op een site Tripod (van Lycos Inc.). Later stapte ik over naar een shared hosting provider, waar ik het extra dataverkeer dat mijn phpBB-forum trok betaalde per gigabyte. In guldens. Naast het hobbymatige gepuzzel kwamen steeds meer kennissen met de vraag of ik ook een site voor hen wilde maken. Samen met enkele vrienden deden we dat met veel plezier en zo werden mijn kroegbezoeken gefinancierd.

Onder programmeurs werd PHP echter niet als volwaardig gezien. Het blog ‘PHP: a fractal of bad design’ is een klassieker die elke programmeur zou moeten lezen. Inmiddels is er veel veranderd. Veel van de genoemde punten zijn inmiddels opgelost of niet meer relevant. Met de komst van PHP versie 7 worden nog meer zaken verbeterd.

Met de komst van WordPress 3.0 ontwikkelde de blogsoftware zich steeds meer als CMS. Zaken zoals de ‘custom post types’ zorgden voor veel flexibiliteit en de hoeveelheid thema’s, plugins en tutorials groeide razendsnel. Ik stapte af van een eigen gebouwd CMS en de vele statische websites werden steeds dynamischer.

Gemaakt door en voor luie programmeurs

WordPress is langzaam gegroeid van weblog-software naar een CMS met focus op nieuwe functionaliteiten en vlakke leercurve. Dat heeft veel nieuwe functies en veel nieuwe ontwikkelaars gebracht, maar heeft er ook voor gezorgd dat WordPress technisch behoorlijk rammelt. Een (heel) kleine bloemlezing:
  • Er wordt gebruik gemaakt van Global variables. Dit wordt breed gezien als een bad practise: zo maakt het de uitkomst van functies erg onberekenbaar. Voor mij als programmeur is dat echt verschrikkelijk.
  • Ook functienaamgeving is ondoorgrondelijk. Zo heb je ‘the_title()’, dat niets anders doet dan ‘echo get_the_title()’. In combinatie met de global variables die door The Loop worden gebruikt, maakt dit de code slecht leesbaar. Of een functie iets echo’t of returnt is compleet willekeurig. En waarom is er überhaupt een functie nodig? Wat is er mis met ‘$post->title’ of ‘$post->getTitle()’?
  • De afhandeling van fouten is nauwelijks mogelijk door de onbegrijpelijke implementatie van WP_Error. Wat is er mis met Exceptions? Eigenlijk is er geen fouthandeling in WordPress: dit moet je zelf inbouwen door functies af te vangen als ze ‘false’ returnen. Het zal niet verbazen dat dit vaak mis gaat: WordPress is gemaakt voor luie programmeurs (die de fouten dus niet goed afvangen) en omdat je bij ‘false’ niet weet of je verzoek mislukt is of het gewoon geen resultaten heeft gevonden.
  • Last but not least: de grote hoeveelheid plugins en thema’s is een sterkte en een zwakte tegelijkertijd. Het aanbod is gigantisch, maar de lage leercurve heeft ook luie programmeurs aangetrokken. De meeste plugins zijn slecht onderhouden en de kwaliteit ervan is soms schandalig laag. De levendige handel in thema’s is een walhalla voor hackers.

PHP als ecosysteem: composer en namespaces

PHP heeft zich de afgelopen jaren flink ontwikkeld. Niet alleen door beetje bij beetje de eerder genoemde ‘designfouten’ te verbeteren, maar de grootste ontwikkeling kwam misschien wel van buitenaf: Composer. Sinds PHP 5.3 namespaces ondersteunt is het uitwisselen van componenten eenvoudiger en de ‘Dependency Manager for PHP’ heeft er voor gezorgd dat programmeurs bibliotheken eenvoudig kunnen binnenhalen. Hiermee is PHP uitgegroeid van scripttaal naar ecosysteem.

Ontwikkelaars hebben dit massaal omarmd. Iedereen snapt dat ‘het wiel opnieuw uitvinden’ geen goed idee is en veel grote softwarepakketten gebruiken composer. Zo worden de componenten uit Symfony in veel grote projecten gebruikt. Met Drupal 8 hebben de ontwikkelaars naar eigen zeggen afscheid genomen van het ‘Not Invented Here’ syndroom.

Helaas staat WordPress op dit vlak compleet stil. WordPress ondersteunt PHP 5.2 nog steeds, terwijl deze versie al lang verouderd is. Er komen al bijna 5 jaar geen security fixes meer voor uit en het gebruik ervan wordt door iedereen sterk ontraden. Dat is ongeveer de Middeleeuwen in ICT-tijd. Deze onnavolgbare focus op het verleden remt de vooruitgang van WordPress.

De toekomst van WordPress

De plugins van WordPress zijn alleen te gebruiken binnen WordPress, terwijl de wereld om WordPress heen steeds meer bezig is met uitwisselbaarheid tussen systemen. Systemen die vroeger concurrenten leken, dragen nu samen bij aan de verbetering van het ecosysteem. Het is maar de vraag of WordPress kan concurreren tegen de rest van de PHP-wereld. Het lijkt er niet op dat WordPress de keuze om composer te gebruiken (op korte termijn) gaat maken. Mijn voorspelling (en ook hoop) is dat steeds meer ontwikkelaars WordPress de rug zullen toekeren en kiezen voor andere pakketten, waarbij templates en ‘business logic’ meer worden gescheiden van de gekozen software. Nu een klantspecifieke plugin ontwikkelen is immers kiezen voor een ‘vendor lock-in’. Daarbij komt dat alle krachtige nieuwe technieken (sass, twig, etc.) lastig zijn te implementeren in WordPress. Een CMS zonder enige vorm van scheiden tussen Model, View en Controller is anno 2015 niet meer serieus te nemen.

Ik ben nogal teleurgesteld in de ontwikkeling van WordPress en mede-oprichter Matt Mullenweg zegt het zelf ook: “We realized that the tech wasn’t going to take us to the next decade.” Het team ontwikkelde een nieuwe interface voor Wordpress.com en bracht deze open source uit. Maar pas na de lancering en bovendien alleen de client side code: de backend draait d.m.v. de plugin Jetpack op de server van Wordpress, waarmee een belangrijk deel van WordPress dus niet meer open source is. Of de backend überhaupt open source wordt, is nog maar de vraag: “Asked whether the new interface, dubbed Calypso, would become part of the main open source WordPress project, Mullenweg says he hopes so, but that will depend on what the community wants. There could be some technical challenges involved in integrating the new interface because Calypso isn’t just a visual redesign but a complete technical overhaul.”

De eigenaar van WordPress lijkt ook het geloof in de ontwikkeling van WordPress opgegeven te hebben. “It’s up to the community” is mijn inziens een eufemisme voor ‘zoek het allemaal lekker zelf uit’. Het doet me denken aan wat Google nu met Android doet: steeds meer onderdelen worden uit AOSP gehaald en verdwijnen (closed source) in de Play Store.

Mijn conclusie: Het open source CMS WordPress is op sterven na dood. Gezien het marktaandeel zal het een zeer langzame dood sterven, maar lijkt mij momenteel onvermijdelijk. De eigenaar legt de focus op de (closed source) Wordpress.com, de focus op het verleden (PHP 5.2) remt de ontwikkeling, terwijl de wereld om WordPress heen juist een enorme sprong voorwaarts maakt. Ik ben benieuwd of de ontwikkelaars nog een verrassing uit hun hoge hoed toveren of dat het begin van het einde is ingezet.

Volgende: Samsung, geef informatie over mijn televisie-update! 30-11 Samsung, geef informatie over mijn televisie-update!
Volgende: Telfort, test je communicatie! 06-'15 Telfort, test je communicatie!

Reacties


Door Tweakers user deathgrunt, vrijdag 4 december 2015 15:25

Ik gebruik WordPress omdat 99.99% van alle klanten dat vraagt / eist (als ze voorkeur hebben voor een CMS, is het 100% WordPress).

Maar daarnaast ben ik overstapt op Kirby - http://getkirby.com/

De licentie is relatief duur (+/- 80 euro per site) maar je hebt wel volledige controle, het is extreem snel en je kan er mee bouwen wat je wil (feitelijk is het een framework waarboven op je je eigen CMS bouwt).

[Reactie gewijzigd op vrijdag 4 december 2015 15:26]


Door Tweakers user Snippo, vrijdag 4 december 2015 16:20

Wat zijn de alternatieven om eenvoudig een complete website in elkaar te zetten (inclusief thema's en plugins) en bij te houden?

Door Tweakers user onok, vrijdag 4 december 2015 16:51

Ik had het niet beter kunnen omschrijven. De komst van namespaces en composer heeft PHP inderdaad echt vooruit geholpen, en PHP7 belooft echt de laatste rariteiten van de taal glad te strijken (en nog niet te spreken over de beloofde performancewinst).

Ik wist eigenlijk niet dat Wordpress er zo slecht aan toe was. Bij ons op het werk wordt het nauwelijks gebruikt, en zijn we kwa framworks overgestapt van Yii naar Symfony. Beste keus ever.

[Reactie gewijzigd op vrijdag 4 december 2015 16:52]


Door Tweakers user xleeuwx, vrijdag 4 december 2015 16:59

Snippo schreef op vrijdag 04 december 2015 @ 16:20:
Wat zijn de alternatieven om eenvoudig een complete website in elkaar te zetten (inclusief thema's en plugins) en bij te houden?
Concrete 5
Drupal
OctoberCMS (mijn voorkeur)

Door Tweakers user Snippo, vrijdag 4 december 2015 17:29

Bedankt, ik zal er bij de volgende grote site update eens naar kijken.
Een jaar of 5 geleden heb ik alles omgezet naar Wordpress, en dat werkt (voor mij) al 100x beter dan de oude knullige HTML site. Je hoeft alleen de content erop te zetten met de juiste theme en verder hoef ik me niet echt druk te maken. Zo ziet de site er met weinig moeite toch modern uit.

Door Tweakers user StephanVierkant, vrijdag 4 december 2015 18:13

deathgrunt schreef op vrijdag 04 december 2015 @ 15:25:
Ik gebruik WordPress omdat 99.99% van alle klanten dat vraagt / eist (als ze voorkeur hebben voor een CMS, is het 100% WordPress).

Maar daarnaast ben ik overstapt op Kirby - http://getkirby.com/

De licentie is relatief duur (+/- 80 euro per site) maar je hebt wel volledige controle, het is extreem snel en je kan er mee bouwen wat je wil (feitelijk is het een framework waarboven op je je eigen CMS bouwt).
Dat herken ik, maar ik vraag me steeds vaker af of het de goede keuze is. Klanten kiezen voor WordPress omdat ze er mee bekend zijn en/of omdat het betrouwbaar is (lees: een groot systeem valt niet zomaar om). Dat WordPress technisch rammelt en (mijns inziens althans) in de huidige vorm geen toekomstperspectief heeft, weet de klant waarschijnlijk niet. Dat kun je je klant niet kwalijk nemen: jij bent immers de expert.

Toen ik vele jaren geleden koos voor WordPress, was dat de beste keuze. Goede gedocumenteerd, brede community en deed goed werk. Nu liggen de kaarten er anders bij en moet ik een nieuwe keuze maken op basis van grotendeels dezelfde uitgangspunten. Wat mij betreft is 'open source' en de acceptatie van PHP-standaarden (namespaces, composer, etc.) een keiharde eis.
onok schreef op vrijdag 04 december 2015 @ 16:51:
Ik had het niet beter kunnen omschrijven.
Dank!

Door Tweakers user deathgrunt, vrijdag 4 december 2015 18:53

Wordpress is absoluut niet het beste ( technisch ) maar wel het beste ( marketing technisch en commercieel ).

Een klant (gemiddeld +/- 50 mensen in dienst, dus niet super grote bedrijven) wil van developer / server / host / etc... kunnen switchen zonder complexe overdracht.

Elke developer kent Wordpress, elke developer kent PHP en elke developer kent jQuery en elke developer kent mySQL.

En laten deze 'technieken' nu net het allerslechtste zijn op hun gebied (inmiddels; in het begin waren ze ongeëvenaard).

Door te werken met standaarden is het voor een klant goedkoper om te investeren, dan wanneer ze voor een exotisch, vaag, onbekend systeem kiezen dat 1000x beter is - maar door gebrek aan support / overdracht en migratie-tools veel duurder (helaas).

Linux is ook 'beter' dan Windows, Betamax is 'beter' dan VHS, en legio systemen zijn beter dan Wordpress - maar het is de klant die kiest, ik adviseer - en uiteindelijk is het kostenplaatje toch wel van doorslaggevend belang (al heb ik dit jaar 'al' vier sites omgezet naar Kirby...).

Door Tweakers user MtC, vrijdag 4 december 2015 19:36

Misschien omdat het oorspronkelijk door een Vlaming ontwikkeld is, maar hier is Drupal big. Als je een béétje bedrijf hebt, is je site Drupal-based.

Door Tweakers user deathgrunt, vrijdag 4 december 2015 19:47

Wereldwijd is Wordpress het allergrootst; meer dan 30% van alle sites ter wereld (!) draaien inmiddels op Wordpress - en het stijgt met het jaar...

"Zelfs" gasten als The Rolling Stones, de NRC en Bernie Sanders draaien Wordpress... het succes is gewoon elke maand groter voor dit systeem.

http://www.nrc.nl/
https://secure.berniesanders.com/
http://www.rollingstones.com/

Overigens begin ik mezelf te herhalen;

deathgrunt in 'nieuws: WordPress dicht 'kritiek' xss-lek'

Door Tweakers user StephanVierkant, vrijdag 4 december 2015 19:56

deathgrunt schreef op vrijdag 04 december 2015 @ 18:53:
Wordpress is absoluut niet het beste ( technisch ) maar wel het beste ( marketing technisch en commercieel ).

Een klant (gemiddeld +/- 50 mensen in dienst, dus niet super grote bedrijven) wil van developer / server / host / etc... kunnen switchen zonder complexe overdracht.

Elke developer kent Wordpress, elke developer kent PHP en elke developer kent jQuery en elke developer kent mySQL.

En laten deze 'technieken' nu net het allerslechtste zijn op hun gebied (inmiddels; in het begin waren ze ongeëvenaard).

Door te werken met standaarden is het voor een klant goedkoper om te investeren, dan wanneer ze voor een exotisch, vaag, onbekend systeem kiezen dat 1000x beter is - maar door gebrek aan support / overdracht en migratie-tools veel duurder (helaas).

Linux is ook 'beter' dan Windows, Betamax is 'beter' dan VHS, en legio systemen zijn beter dan Wordpress - maar het is de klant die kiest, ik adviseer - en uiteindelijk is het kostenplaatje toch wel van doorslaggevend belang (al heb ik dit jaar 'al' vier sites omgezet naar Kirby...).
Ik snap niet helemaal wat je punt is. WordPress heeft een gigantisch marktaandeel en je zou dus kunnen zeggen dat het een de facto standaard is.

Wordpress houdt zich echter niet aan de standaarden van PHP, terwijl de rest van de wereld dat inmiddels wel steeds meer doet. WP loopt hopeloos achter en dat gaat op den duur problemen opleveren. Op termijn lijkt mij de keuze voor een systeem dat zich wel aan standaarden houdt verstandiger.

Er is niets mis met een onbekend 'exotisch' systeem dat goed gedocumenteerd is en zich aan standaarden houdt. Met een populair systeem dat standaarden negeert en technisch rammelt wel.

[Reactie gewijzigd op vrijdag 4 december 2015 20:00]


Door Tweakers user elhopo, zaterdag 5 december 2015 17:25

xleeuwx schreef op vrijdag 04 december 2015 @ 16:59:
[...]


Concrete 5
Drupal
OctoberCMS (mijn voorkeur)
Als aanvulling nog Joomla, dan heb je de grootste wel gehad...

Door Tweakers user Mmore, zondag 6 december 2015 00:46

PHP7 heeft echt leuke veranderingen. Net als jij bent ik ook ooit begonnen met gewoon zelf klooien en dingen bouwen, en samen met PHP ben ik mee ontwikkeld. Tegenwoordig kan je PHP zelf niet meer slecht noemen, hoogstens de manier waarop veel PHP programmeurs nog steeds denken.

Ben de laatste tijd veel bezig met Laravel. Echt een top framework imo met veel best practises en eenduidige manier van werken die consistent is.

Wat betreft WordPress: na zoveel iteraties (met backwards compatibiliteit) is het niet vreemd dat de code inmiddels een beetje een zooitje is, om het maar even zachtjes te zeggen. Dat wil echter niet zeggen dat er ook daadwerkelijk iets mis mee is: het werkt prima, doet wat het moet doen en zal voor de meeste eindgebruikers precies zijn wat zij zoeken. Misschien een goed idee voor WordPress om vanaf 0 te beginnen met een nieuwe release, en een stuk strikter te zijn in de opbouw/eenduidigheid van de code.

[Reactie gewijzigd op zondag 6 december 2015 00:48]


Door Tweakers user sdk1985, zondag 6 december 2015 02:03

Mijn conclusie: Het open source CMS WordPress is op sterven na dood. Gezien het marktaandeel zal het een zeer langzame dood sterven, maar lijkt mij momenteel onvermijdelijk
Zo zie je hoe hard je uit de bocht kan vliegen van aanname naar conclusie. Zie de observatie van de realiteit: Van alle nieuwe websites is 25.3% WordPress. Van alle nieuwe CMS gebaseerde websites is zelfs 58.7% Wordpress. Bron: http://w3techs.com/techno...ew/content_management/all. Nummer 2 Joomla moet het doen met respectievelijk 2.8% en 6.5%.

Het CMS dat aan het sterven is, is Joomla. Zelf ben ik momenteel bezig mijn laatste Joomla website over te zetten naar WordPress. Aanbod van Plugins is bij Joomla te beperkt, support of forum valt tegen en de gebruiksvriendelijkheid laat veel te wensen over. Er waren nog een aantal punten waarom ik mij gedwongen voelde Joomla te blijven gebruiken, waaronder titels per subpagina en bijbehorende navigatie en sorteren van posts op iets anders dan date/descending. Maar beide heb ik ondertussen via custom functions in WordPress werkende.

[Reactie gewijzigd op zondag 6 december 2015 02:07]


Door Tweakers user Xessive, zondag 6 december 2015 10:10

Ik heb deze week mijn eerste WP site in de lucht gebracht. Het werkt wel makkelijk en is redelijk intuitief. Ben echter nog wel op zoek naar iets anders wat iets meer up 2 date is.

Er zijn een aantal andere cms-en genoemd waaronder OctoberCMS. Deze kende ik nog niet. Hier ga ik komende week eens mee stoeien.

Door Tweakers user StephanVierkant, zondag 6 december 2015 13:01

Mmore schreef op zondag 06 december 2015 @ 00:46:
Wat betreft WordPress: na zoveel iteraties (met backwards compatibiliteit) is het niet vreemd dat de code inmiddels een beetje een zooitje is, om het maar even zachtjes te zeggen. Dat wil echter niet zeggen dat er ook daadwerkelijk iets mis mee is: het werkt prima, doet wat het moet doen en zal voor de meeste eindgebruikers precies zijn wat zij zoeken. Misschien een goed idee voor WordPress om vanaf 0 te beginnen met een nieuwe release, en een stuk strikter te zijn in de opbouw/eenduidigheid van de code.
Het is inderdaad niet vreemd dat je code base na verloop van tijd wat 'legacy' code heeft. Dat vereist refactoring en dat is bij WordPress niet of nauwelijks gebeurd. Bovendien is het erg lastig als ze zelfs PHP 5.2 willen blijven ondersteunen. Dát is onderdeel van het probleem.

Drupal is ook helemaal opnieuw begonnen met haar codebase, met compatibiliteit van de content. Ze hebben het NIH-syndroom van zich afgeschud en hebben moderne technieken omarmd. WordPress zou dat voorbeeld moeten volgen om (op lange termijn) te kunnen overleven.
sdk1985 schreef op zondag 06 december 2015 @ 02:03:
[...]

Zo zie je hoe hard je uit de bocht kan vliegen van aanname naar conclusie. Zie de observatie van de realiteit: Van alle nieuwe websites is 25.3% WordPress. Van alle nieuwe CMS gebaseerde websites is zelfs 58.7% Wordpress. Bron: http://w3techs.com/techno...ew/content_management/all. Nummer 2 Joomla moet het doen met respectievelijk 2.8% en 6.5%.
Dat het marktaandeel nog steeds gigantisch is, doet niets af aan het feit dat het technisch aan alle kanten rammelt. Dat wordt zelfs door het bedrijf achter WordPress zelf toegegeven!

Door Tweakers user xFeverr, zondag 6 december 2015 14:50

sdk1985 schreef op zondag 06 december 2015 @ 02:03:
[...]
Het CMS dat aan het sterven is, is Joomla. Zelf ben ik momenteel bezig mijn laatste Joomla website over te zetten naar WordPress. Aanbod van Plugins is bij Joomla te beperkt, support of forum valt tegen en de gebruiksvriendelijkheid laat veel te wensen over.
Het is inderdaad gemaakt voor de luie "programmeur". Sowieso kan ik een "programmeur" die slechte, out-to-date, inconsistente rommel software probeert te verdedigen niet serieus nemen. Het enige pluspunt aan wordpress zijn de hoeveelheid (vaak zeer slecht geschreven!) plugins. En dan komen we weer op de luie "programmeur".

Nee... Ik maak het wel gewoon allemaal zelf. Met een MVC-frameworkje er bij is dat niet eens zo heel veel moeite.

Door Tweakers user Waarnemer, maandag 7 december 2015 12:25

@SDK... als je niet uit de voeten kunt met 7000+ extensions.. wat ik zie bij de 40000+ plugins van WP is gewoon heeeeel veeeeel hetzelfde.
Nog even los van dat het eigenlijk aantoont dat WP out of the box gewoon niet zo heel veel kan..
Een CMS als Joomla kan out of the box al gewoon meer en het overgrote merendeel van waar in WP al plugins voor nodig zijn, kun je in Joomla al door je template overrides.

- Dat klanten om Wordpress vragen is niet noodzakelijk omdat ze Wordpress willen.
Het is om een apirientje vragen.. kan ze geen r##t schelen of het daadwerkelijk Aspirine (Merknaam) is, mag ook gewoon een tabletje van de Kruidvat zijn. Je moet als webbouwer gewoon es doorvragen.
- Wordpress is een bedreiging voor designers en developers. Iedere zolderkamerheld kan een site bouwen. De klandizie denkt (en weet) dat WP gratis en makkelijk is en betaald dus ook maar weinig. Hoeft ook niet want die zolderkamerhelden concurreren met extreem lage prjizen. De weg die WP ingeslagen heeft zorgt alleen voor de portemonnee van Matt Mullenweg
- Als developer moet je heel goed kijken naar de addertjes onder het gras bij WP. Matt Mullenweg heeft een iets afwijkende kijk op GNU/GPL en vergelijkbaar.
- Door het veels te hoge zolderkamergehalte achter de gemiddelde WP site (wereldweid) is het met de security ook bijzonder slecht gesteld. Ligt weliswaar niet direct aan WP, maar wel indirect met hun claim dat iedereen het kan. En dat laatste is dus niet zo. Dat weet het hackersgilde dus ook. Hostingproviders nemen dan ook een keur aan maatregelen waar je als user dan ook mee geconfonteerd wordt (anti brute force maatregelen is er één van)..
Het grootste gevaar: al die 'abandoned' WP sites, die bij teleurstelling achtergelaten zijn maar nog wel online!

Wil je echt geld verdienen met het bouwen en onderhouden van sites, dan kies je NIET voor Wordpress.
Wil je je klanten echt een serieus CMS bieden met zicht op toekomst dan kies je NIET voor Wordpress.

Moet het persé open source zijn, dan zijn Drupal en Joomla een betere keuze en Joomla de makkelijkere van de twee. Wil je een site met specifieke functionaliteit toegespits op je klant dan is Drupal wellicht je beste keus.

Door Evert Albers, maandag 4 januari 2016 13:37

Ik gebruik op dit moment voornamelijk http://Bolt.cm voor mijn websites, soms gebruik ik WordPress (inderdaad: omdat sommige klanten het per se willen), maar ik onderschrijf de inhoud van het artikel volkomen.

Overigens is voor veel kleine sites met niet-vaak-veranderende content een CMS overkill. Je kunt nog steeds werken met HTML of met static site generators als Jekyll.

Door Pharmk507, dinsdag 31 mei 2016 00:17

Very nice site!

Reageren is niet meer mogelijk