Kiki — mijn website framework
Het framework
voor mijn website heet Kiki. Het is ongetwijfeld niet
zo geweldig als Laravel of Symfony, maar doet wel precies wat ik nodig heb
en vooral: niet meer dan dat. Dit maakt Kiki snel en — als je het mij
vraagt — erg overzichtelijk.
Specificaties
- ontworpen voor LEMP/LAMP-omgevingen (Linux, Nginx/Apache, MariaDB/MySQL en PHP)
- ontworpen met veiligheid en privacy in gedachten
- volledig HTML5 met CSS
- volledig functioneel zonder Javascript
- Javascript technieken zoals jQuery, Ajax en JSON bieden toegevoegde waarde, maar zijn optioneel
- eigen router/controller
- eigen template engine
- pagina- en blog/artikelsysteem
- automatische thumbnail generatie en caching
- Single Sign-On accountregistratie en login via Google
- PCNTL daemon voor achtergrond taken
- aanpasbaar waar nodig, maar consistent in de basis:
- alle classes en templates zijn uit te breiden of overschrijfbaar via een eigen lokale namespace
- semi-automatische database upgrade van kerntabellen bij nieuwe versies
- ontworpen om meerdere sites vanaf dezelfde codebase te draaien en simultaan te upgraden
- vertalingen van teksten (i18n) via gettext, inclusief template teksen
Download
- https://github.com/robkaper/kiki — online repository en downloads
Het is geen expliciet doel om Kiki geschikt te maken voor algemeen gebruik. Grote en populaire frameworks of CMS systemen hebben soms wel een miljoen regels code, Kiki zit op ongeveer tienduizend. Kiki biedt dan ook geen ultieme totaaloplossing maar eerder een basisstructuur voor verdere (persoonlijke) ontwikkeling.
Documentatie
De broncode van Kiki is matig tot redelijk gedocumenteerd. Echte eindgebruikers raad ik (nog) niet aan om Kiki te installeren zonder beschikbaarheid van een junior beheerder of ontwikkelaar. Het is niet de bedoeling om de nieuwe Wordpress te worden, enige basiskennis van systembeheer is een vereiste.
Geschiedenis
Waarom een eigen framework?
is een vraag die ik met enige regelmaat
krijg. Dat is historisch zo gegroeid: toen ik in 1995 mijn eerste HTML-
pagina online zette wáren er simpelweg geen frameworks. (En geen PHP,
Javascript, CSS... geen Google, Stackoverflow, Github... we waren al lang
blij dat browsers plaatjes konden tonen).
Zodoende had iedere ontwikkelaar een eigen bonte verzameling aan handige
functies voor basale zaken zoals het tonen van een menustructuur of het
maken van een database verbinding. In 1999 ben ik PHP intensief gaan
gebruiken en ging ik meerdere websites beheren. Om te voorkomen dat deze
allemaal een eigen kopie van mijn code gebruikten, werd de verzameling
basiscode een losstaand project, waarvoor een eigen naam nodig was.
Omdat Rob's CMS
wel erg saai zou zijn was enige
inspiratie gewenst.
Bankhangend voor de toen nog kolossale breedbeeldbuis kwam die inspiratie
uiteindelijk van een vrolijk rondhuppelend meisje uit de film Drop Dead Gorgeous (1999).
Ik had een starcrush
op Kirsten Dunst. Kiki.
Die naam gebruik ik dus al een tijdje. De huidige versie van het Kiki
framework bestaat echter pas
sinds eind 2010, toen ik al mijn
bestaande code en concepten heb herschreven naar moderne(re) maatstaven.
Die ontwikkeling heeft ook enige tijd stilgestaan, maar voor een nieuw
project ben ik Kiki sinds eind 2023 weer intensief gaan gebruiken en
zodoende onderhouden.