Tag Django

De oorspong van Django

Onze websites ontwikkelen we met Django, een framework (raamwerk) waarbinnen snel en doeltreffend websites gemaakt worden. Wat maakt Django zo goed? Dat heeft vooral te maken met de historie.

Deadlines en noodzaak

Django is ontwikkeld bij de online Lawrence Journal-World krant in 2003-2004. Twee web-ontwikkelaars, Simon Willison en Adrian Holovaty, waren zeer ervaren in het vak, maar hekelden de toenmalige tools die beschikbaar waren. Bovendien waren ze gebonden aan de onwijze tijdsdruk van de journalistieke wereld.

Uit noodzaak zijn ze oplossingen gaan ontwikkelen die hun werk makkelijker maakten. Hun ervaring en eerdere pogingingen maakten het verschil - ze wisten heel goed wat ze wilden maken. Goed uitgedachte code en duidelijke scheidingen van ieders verantwoordelijkheid. Geen PHP meer, maar Python werd de ontwikkeltaal. Met dit CMS was het volgende mogelijk: de eerste programmeur bouwde snel datamoddelen, vervolgens kon de redacteur al gegevens invullen - terwijl de andere ontwikkelaar nog bezig was met de presentatie (templates/css) op de website en eventuele backend! Complete applicaties werden soms in dagen of zelfs uren gerealiseerd! Het bleek een gouden combinatie.

Open Source

Midden 2005 werd Django gebruikt op de meeste sites van The World Company. Mede door de populariteit van Ruby on Rails werd besloten om het framework voor iedereen beschikbaar te stellen als Open Source. Dat het team ontzettend geprofiteerd had van de beschikbare Open Source code droeg hier ook aan bij.

Tegenwoordig wordt Django gebruikt op toonaangevende sites, zoals Disqus, Instagram, The Guardian, Mozilla, National Geographic, Pinterest, the Onion en de NASA. Jaarlijks komen ontwikkelaars bij elkaar op de DjangoCon om hun ervaringen te delen, en van elkaar te leren.

Webshops op snelheid

In ons werkveld heb je kant en klare pakketten, en je hebtbouwpakketten. Soms kun je een webshop makkelijk maken met een klant-en-klaar product, maar voor complexere e-commerce vraagstukken wordt dat alleen maar lastig. Dan is zo'n kant-en-klaar oplossing een blok aan het been.

Daarom maken we graag gebruik van Oscar. Een relatief nieuw software pakket met een aantal voordelen:

  • Het werkt veel sneller dan Magento!
  • Alles is aan te passen aan je wensen
  • Productvariaties en andere uitbreidingen zijn in te passen.
  • Goed te koppelen aan de systemen van leveranciers.

Dit is nu toegepast in de websites van WakaWaka, Solar for Syria en Solar for Philippines.
Daarmee werd het mogelijk om aan de eisen te voldoen, o.a.:

  • Meertaligheid
  • Meerdere valuta
  • Producten op meerdere websites tonen.
  • Orders van alle websites centraal verwerken.
  • Orders automatisch doorsturen naar distributeurs.
  • Verzendkosten op regio en gewicht.
  • Selectie van distributeur op regio.

Ofwel, aanrader om iets mee te doen!

Meertaligheid alom

Meertaligheid in een website. Een lastig punt. Tenminste, als je CMS dat nog niet ondersteund. Hier liepen we vorig jaar ook tegenaan. We hadden het al op de planning staan en vroegen onze klanten er ook om.

Een kort onderzoek leerde dat in de Django wereld al diverse pogingen gedaan zijn om meertaligheid te realiseren. Op de DjangoCon Europe 2011 in Amsterdam zei een spreker (Jonas Obrist) ook heel mooi: ik heb X ontwikkeld, maar dat moet je niet meer gebruiken. Vervolgens heb ik met Y een volgende poging gedaan, maar dat moet je niet gebruiken. Ik ben nu met poging 3 bezig om een vertalingen op een fatsoenlijke manier te bouwen, en hopelijk wordt dat wat. Het tekende de complexiteit.

Helaas bleek in 2013 dat ook deze poging (nu genaamd django-hvad) niet toepasbaar was in bestaande systemen. Dat heeft ons er toe gezet om zelf met de ervaringen van onze voorgangers iets nieuws te realiseren. Heel simpel beginnen, en vooral geen complexe technieken gebruiken die integratie konden dwarsbomen. Dit bleek een succes!

Het zou alleen bedoeld zijn voor ons CMS, maar het bleek veel breder inzetbaar te zijn. Inmiddels is dit uitgegroeid tot een eigen Open Source project, django-parler, en wordt dat op diverse plekken gebruikt.

Zo ook voor onze klanten:

En hun reactie? Ze zijn enthousiast! "1 CMS waarin je een overzicht hebt alle talen. Dat heeft Cola-Cola niet eens", aldus Tjebbe Tjebbes van WakaWaka. "Ik heb toen onderzoek gedaan, en zij hebben per land een andere website, en een ander systeem". Als we willen, kunnen we zo een site voor een nieuwe taal realiseren!

DjangoCon EU 2013

Deze week wordt op DjangoCon Europe 2013 in Warschau gehouden. Er zijn 3 dagen met presentaties gehouden, en daarna 2 dagen samen werken aan het verbeteren van ons geliefde web framework. DjangoCon heeft dit jaar een bijzondere locatie waarop de conferentie plaatsvond:

 

We hebben zelf een korte presentatie gegeven van django-fluent CMS; het CMS wat we gebruiken voor projecten en ook op deze site gebruikt is.

Hier zijn de slides:

Vanaf vandaag is de documentatie van het CMS ook beschikbaar op django-fluent.org!

Django sprint in Utrecht

Er was een Django sprint in Utrecht. Hier waren we ook bij! Wat gebeurt er op zo'n sprint? Techneuten gaan samenwerken om allerlei vervelende bugs op te lossen in het framework waar ze allemaal graag mee werken: Django.

En wat levert dat op? Dat de nieuwe versie van Django het makkelijker maakt om websites te bouwen. Het was een leuke dag, en een mooie manier om kennis te maken met andere programmeurs! Volgende keer weer?

PyCharm presentatie op de Django meeting

Afgelopen woensdag heb ik een korte presentatie gehouden bij de DjangoMeetingNL. Bij de Django meeting kunnen ontwikkelaars en professionals van gedachten wisselen, en kennis uitwisselen.

In de presentatie zijn kort de voordelen van een IDE, zoals PyCharm aangestipt. Het help je met betere code schrijven, sneller fouten vinden, en je leert sneller code van andere modules doorgronden. Het is een wat controversioneel onderwerp met VIM en Emacs gebruikers in de zaal, maar over het algemeen leek de presentatie goed te worden ontvangen!