Twoppl

Archive for the ‘Stage’ Category

Week 2 zit er op

  • Filed under: Stage
Wednesday
Apr 9,2008

Weer een week @ the yap offices. Een week vol interessante tidbits en nieuwe dingen om bij te leren. Maar eerst even wat ophelden. Ik heb een zwart gat in mijn geheugen. Ik zit hier al 3 weken, dus de week die ik nu beschrijf, is eigenlijk week 3, en ik ben nu net week 4 begonnen.

Dus wat is er nu eigenlijk gebeurd de laatste 2 weken? Heel veel. I for one heb mijn oogkleppen verloren. Ik heb kennisgemaakt met cakephp, wat mij het mvc patroon heeft aangeleerd ( alhoewel ik nog weerspannig ben tov alle andere cake functies ). Hiernaast heb ik ook een aangename kennismaking gehad met jquery, de write less do more javascript library.

Jquery in mijn ogen is wat javascript had moeten zijn. Jquery laat je nog altijd dezelfde fouten maken als javascript, nog altijd dezelfde logica gebruiken, maar nu met beter onderhoudbare code die bovendien vaak veel kleiner is. En de minified versie is maar 50kb, wat quasi niks is als je caching enablet op je website.

Jquery kwam eigenlijk als een verassing, een soort koppelverkoop met een van de andere dingen die ik het liefste doe, nl. php classes en jscript applets coden. Het werd het laatste toen Yoeri mij vroeg om hem een image cropper tool te schrijven. Hij wou een tooltje ala facebook waar je een fototje sleept in een kader. De logica al hebbende ( had ik al uitgedacht ), vroeg Yoeri of ik het niet in jquery kon maken. Ik zei dat ik het zou proberen, alhoewel ik het niet echt zo plezant vond. Dit omdat ik vroeger al in een bestaand jquery applet heb moeten pleueren, en dat was zwaar tegengevallen om het zo te zeggen.

Maar nu was het anders. Ik vertrok van 0, met mijn logica en eureka, het werkte zoals ik het wou, mede dankzij de geweldige documentatie van jquery. Deze documentatie evenaart naar mijn inzien die van php.net, welke ik van uitmuntende kwaliteit vind.

Ik heb uiteraard niet alleen zitten programmeren. Ik heb ook een analyse moeten doen en research moeten verrichten.

Zoals in mijn eerder genoemde post, zou ik een analyse moeten doen van het huidige Yappa framework ( cakephp ), en zien of wij dit wel naar behoren gebruiken, etc…

Mijn constatatie was dat we het framework eigenlijk alleen voor zijn mvc patroon gebruiken, de models, de validatie in de models, en nog enkele kleine tidbits. Ik moest met deze data die ik verzameld had naar een oplossing zoeken. Ik kwam langs verscheidene frameworks, van 100lines tot codeIgniter, ik heb zelfs de optie om zelf een framework te schrijven overwogen.

Dit alles heb ik mooi gebundeld in een powerpointpresentatie die ik gepresenteerd heb waarna we een brainstormsessie gehouden hebben over wat er net gepresenteerd was. Onze conclusie was dat cake het framework voor de toekomst is, en dat we gaan omvormen om meer cakefunctionaliteit te gebruiken ( huidig gebruik is om en bij de 20% ).

Mijn analyse was die van djappa, het Yappa cms dat als backend op hun websites draait. Ik heb het hele systeem overlopen met als opdracht te analyseren op fouten qua programmatie en vooral fouten qua usability. Ik noteerde mijn bevindingen in een document dat naderhand werd overlopen waarbij bij elk punt werd aangeduid of dit werd aangepast, en hoe.

De eerste week zit er op

  • Filed under: Stage
Friday
Apr 4,2008

Mijn eerste week als stagair bij Yappa zit er al op.

Mijn eerste week bestond uit het aanleren van cakephp. Cakephp is een framework dat het mvc principe hanteert en nog veel extra functionaliteit voorziet.

De reden dat ik hoefde te leren was dat de meeste applicaties van Yappa geschreven zijn in cakephp. Cakephp, alhoewel goed ontwikkeld, heeft nog altijd zijn grote nadelen. Een van de grootste nadelen is het complete gebrek van bruikbare documentatie. Bij het cakeproject hebben ze de klassieke fout gemaakt van teveel tijd aan de code te spenderen en dan de documentatie als bijzaak te zien. Dat dit briljante code oplevert staat buiten kijf, maar als niemand voorgenoemde code kan gebruiken, dan verliest de code zijn nut. Een voorbeeld ten tijde van dit schrijven hiervan is de cake blog tutorial, die nog altijd voor cake1.1 gemaakt is terwijl mensen die cake downloaden cake1.2 krijgen. Hierdoor krijgen de initiaten problemen en geven ze het al snel op omdat ze in het begin al moeilijkheden ondervinden.

Een ander probleem met cake is dat het een soort jaloezie/ ziekelijk verafgoding voor ruby on rails heeft. Cake is in principe gewoon een php on rails implemtatie. Dat de cake developpers nog zoveel functionaliteit inbouwen zoals het maken van formulieren met behulp van ingebouwde functies, laat dit nog meer doorschijnen.

Kleine applicaties zoals blogs kan je hierdoor snel maken, maar zodra je iets wil schrijven in de aard van een kleine enterprise backend, loop je al snel tegen muren.

Daarom zijn we beginnen te spreken over wat we eigenlijk wel nodig hebben. Als we vlug een rundown doen, dan valt het op dat we eigenlijk maar 20% van de cake functionaliteit gebruiken. We gebruiken de mvc implementatie, de models, validatie op models, en nog wat tidbits. Echter, eens het aankomt op het maken van forms, dan gebruiken wij uniform, voor javascript gebruiken we jquery, en de meeste classes hebben we al van vorige projecten, dus die kunnen gewoon hergebruikt worden.

Binnenkort gaan we dus kijken van wat de beste oplossing is. Gaan we ons eigen framework schrijven met drop in capabilities voor jquery, uniform, etc… Of gaan we ween barebones framework nemen als basis, en dat verdermodden voor aan onze noden te voldoen? Dit roept om research!

En eens we ons framework hebben, ga ik verder aan de uploadr applicatie, waarvoor ik wederom research moet verrichten voor het ontwerp, implementatie, etc…