RAD race (nog) niet gewonnen

Geplaatst door Remco van 't Veer ma, 27 feb 2006 01:26:00 GMT

Maar zeker ook niet verloren. Donderdag en vrijdag jl. hebben Michiel en ik als het Finalist RubyOnRails-team mee gedaan aan de RAD Race. We hebben het opgenomen tegen Oracle, Java en 4GL specialisten en hebben het voor een stel Java ontwikkelaars die in hun vrije tijd met Ruby spelen lang niet slecht gedaan.

De opdracht bestond uit het bouwen van een applicatie voor een evenementen organisator. Hier moeten evenementen bij gehouden worden, sprekers toegevoegd worden, klanten moeten zich via een website kunnen registreren voor een editie van zo’n evenement en hiervoor kunnen betalen. Alle functionaliteit was opgedeeld in 18 modules; inloggen, klantbeheer, werknemerbeheer, evenementbeheer, betaling via webservice etc. Bij de opdracht zat een CD-ROM met het database-creatiescript en data.

Per module waren er 20 to 120 punten te scoren. Aan het eind van de tweede dag heeft een jury per module bepaald in hoeverre aan de opdracht voldaan is. Er wordt nog een dagdeel met elk team gesproken over de implementatie en daarna wordt op het Database Systems 2006 de winnaar bekend gemaakt.

Het was de eerste keer dat Michiel en ik samenwerkten en de eerste keer dat we in een team aan een RubyOnRails-applicatie werkten. We waren uitgerust met twee PowerBooks, Intelli-J en TextMate, MySQL, Firefox, een hele lading Rails plugin’s, naslagwerken (Pickaxe 2, Agile Web Development with Rails, Rails Recipes, Enterprice Integration with Ruby), Subversion en natuurlijk Ruby (versie 1.8.4) en Rails (versie 1.0).

Ontwikkelen met Subversion en ActiveRecord Migrations verliep nog soepeler dan verwacht. Ik had migrations al vaker gebruikt om m’n blog te upgraden maar dat het zo prettig zou werken in teamverband overtrof m’n verwachtingen. De eisen waren natuurlijk ook erg hoog, gezien de tijdsdruk. Daarbij deed de flexibiliteit van Ruby me weer stralen toen ik NilClass uitbreidde met een empty? methode welke true levert, een knuffel voor Matz!

Er waren natuurlijk ook kuilen in de weg, naast de enorme omvang van de opdracht. Omdat er domweg te weinig tijd was voor volledig dekkende unit test, zijn we flink gebeten door een syntax fout (zie Michiel’s eerdere post). Tijdens de jurering heeft Michiel het “ruby -c” idee opgedaan en dat was aardig geweest om al eerder als rake task gehad te hebben. In de voorbereiding waren we al tegen het gemis van associaties aangelopen in scaffold en heb ik een belongs_to_autocomplete inelkaar gezet welke dankbaar dienst heeft gedaan tijdens de race. Verwacht deze en een extra rake task als plugin binnenkort.

Tijdens de race hebben we zelfs nog features van RubyOnRails gebruikt die we tot dan toe alleen van horen zeggen hadden. Single table inheritance kwam bijvoorbeeld goed van pas, en we hadden ook nog nooit iets met mail gedaan. En verder had onze applicatie features die niet veel teams ons nadoen, zoals LivePreview van het bewerken van biografieen van sprekers, of autocomplete/zoekvelden.

Toch hebben we niet gewonnen.. Ruby en Rails zijn (helaas nog) niet ons dagelijks werk in tegenstelling tot de technologieen die onze tegenstanders gebruikten. En een IDE die meteen onze fouten detecteert (zoals bijvoorbeeld Eclipse dat kan voor Java) zou ook geen overbodige luxe zijn. We zijn wel trots op onze deelname en op het resultaat van twee dagen veel te hard werken!

Geplaatst in , ,  | 1 reactie

Reacties

  1. Robert zei ongeveer 23 uur later:

    Hmm dat is zeker jammer. Ik zou toch zeggen dat RoR met o.a. elementen zoals AJAX de voorkeur heeft voor dit soort dingen, maar ik heb alle projecten niet gezien natuurlijk.

    Tja die IDE he. Gelukkig werkte jullie nog met Textmate en niet met RadRails ;)

(Laat url/e-mail achter »)

   Voorvertoning