Fabrique kiest voor Django als het software framework voor de webapplicaties die we ontwikkelen. Django is een open source framework dat gebruik maakt van de taal Python. Verderop wat uitleg over de voordelen van dit framework, maar eerst een korte geschiedenis.
Een korte geschiedenis
In het verleden hebben we webapplicaties gebouwd op basis van een scala aan platforms en programmeertalen, soms alleen en soms samen met anderen. In het begin was dat veelal Microsoft Active Server Pages (ASP) en programmeerde we in VBScript. Voor specifieke projecten bouwden we in Java, Java Server Pages (JSP) en PHP. Rond de eeuwwisseling namen we het besluit om projecten die we zelf uitvoerden in alleen nog in PHP te programmeren. Dat gaf veel voordelen onder andere omdat al onze serverside ontwikkelaars in dezelfde taal programmeerden. PHP was volwassener geworden en leek steeds meer object georiënteerd (zoals Java en C#, de taal die in Microsoft .Net wordt gebruikt). PHP bleef echter een beetje achter en de taal op zich is geen framework, waarmee hergebruik gestimuleerd wordt en gericht op het maken van software (versus het schrijven van code).
De keuze voor Django
Het afgelopen jaar hebben we diverse frameworks en platforms geëvalueerd, waaronder naast Django ook Microsoft .Net, Drupal en Joomla. We kwamen tot de conclusie dat een open source framework, waarin we veel vrijheid hebben in structuur, logica en presentatie onze voorkeur heeft. We kwamen tot de conclusie dat Drupal en Joomla teveel een contentmanagementsysteem (CMS) zijn en dat zochten we niet. Voor eenvoudige sites of juist voor sites met complexe content zoeken we samenwerking met partners als GX, Insyde of Hinttech waarmee we diverse websites hebben geïmplementeerd. Voor de sites die we zelf realiseren (complexe interacties of integraties met API’s) zochten we een meer open oplossing. Daarvoor bleven Microsoft .Net en Django over. Het voordeel van .Net is de ontwikkelomgeving die het programmeren ondersteund. Het nadeel is dat .Net niet open source is. Django is dat wel en heeft daarmee een grote groep ontwikkelaars achter zich, die de software zelf verbeteren en modules (projecten) ontwikkelen. Bijkomende factor is dat we een aantal .Net projecten uitvoeren samen met Q42 en voor het eigen platform en andere insteek willen kiezen. De keuze viel daarmee op Django.
Wat is Django?
“The web framework for perfectionists with deadlines”, zo omschrijft Django zichzelf. Een framework dus en geen contentmanagementsysteem. Een framework waarmee je een CMS kunt bouwen, maar waarmee je ook veel complexere applicaties en interacties kunt realiseren. Django kent een goede scheiding tussen data, logica en presentatie. Het beheergedeelte (admin) wordt automatisch gegenereerd op basis van het datamodel en kan vervolgens volledig getuned worden. Het template-systeem (presentatie) is eenvoudig te implementeren, ook door mensen zonder kennis van Python. Het framework kent een groot aantal bijdragen uit de community waarmee standaards als OpenId eenvoudig geïmplementeerd kunnen worden. Django is opgezet volgens het DRY (don’t repeat yourself) principe, waardoor we sneller en effectiever kunnen ontwikkelen en onderdelen beter kunnen hergebruiken. De programmeertaal Python waarop Django is gebaseerd is van Nederlandse bodem en wordt onder andere door Google gebruikt.
Waar hebben we Django al ingezet
In de afgelopen tijd hebben we Django ingezet voor de volgende websites:
- Museum Boijmans van Beuningen, ArtTube
- Bedrijfs Cultureel Abonnement
- Paul de Leeuw
- Wacom Bamboo, Wacom Bamboo minis
Doet Fabrique dan alles alleen maar in Django?
Nee, we realiseren in samenwerking met onze partners ook projecten met bijvoorbeeld GX Webmanager ism GX (Elsevier, Jonge Gezinnen oa zwanger.nl), Tridion ism Hinttech (Tweede Kamer) en .Net ism Q42 (D-reizen). Fabrique kiest niet op voorhand voor een bepaalde technologie. De keuze hiervoor is steeds afhankelijk van eisen en doelstellingen in een project.

