Schaamteloos scaffolden met Hobo
Geplaatst door Danny Lagrouw zo, 14 jan 2007 14:59:00 GMT
Dat je met scaffolding sneller dan de bliksem een simpele CRUD-applicatie kunt genereren, dat weten we nu wel zo langzamerhand. Het is meestal het eerste dat een nieuwe Rails-gebruiker uitprobeert. En natuurlijk vind je als “echte” Rails-gebruiker scaffolding maar niks, en gebruik je het nooooit. Tot je een keer gevraagd wordt om Rails te demonstreren. Dan maak je dankbaar gebruik van scaffolding om de kracht van Rails te laten zien. De oooh’s en aaah’s zijn niet van de lucht—mits je het slim doet! Stap snel over op het volgende onderwerp en geef je publiek niet de kans om te lang over scaffolding na te denken. Anders kom je snel in een spervuur van lastige vragen terecht:
“Als je zelf iets wilt veranderen is het zeker niet meer zo gemakkelijk?”
“Dit kun je zeker niet in productieapplicaties gebruiken?”
“Die gegenereerde code ziet er best ingewikkeld uit!”
“Dit werkt zeker niet met mijn ingewikkelde legacy-database?”
Enzovoort. Weet wat je doet als je scaffolding gebruikt—en ook als je het demonstreert.
Toch geloof ik wel in scaffolding. Ja, voor prototyping natuurlijk, dat ligt voor de hand. Maar ik zie zeker ook gebruiksmogelijkheden in de uiteindelijke applicatie. Misschien niet voor een hippe, flashy website, maar wel voor de achterliggende beheerschermen.
En dan zijn er natuurlijk ook weer mensen die vinden dat het mooier kan. We hadden al ajax_scaffold, een ge-Ajaxde versie van scaffold. We zagen Streamlined voorbijkomen. En nu kwam ik, op mijn (nog niet voltooide) zoektocht naar custom HTML tags in Rails views, Hobo tegen.
Hobo, een Rails plugin, biedt inderdaad de mogelijkheid om custom HTML tags te definieren in Rails. Dat betekent dat je in je view zelfbedachte tags kunt gebruiken, zoals:
<def tag="time"><%= Time.now %></def>
<p>The time is <time/></p>
De tag-definities kunnen gelukkig ook in een apart bestand ondergebracht worden.
Custom tags is echter maar een onderdeel van wat Hobo te bieden heeft. Door een aantal extensies op ActiveRecord, themes support en slim gebruik van custom tags wil bedenker Tom Locke het ontwikkelen van Rails applicaties nog sneller en gemakkelijker maken. En ook hij biedt met Hobo de mogelijkheid om in luttele minuten een volledig werkende applicatie in elkaar te genereren, compleet met authenticatie, autorisatie en natuurlijk een indrukwekkende screencast. Ik vraag me nog wel af hoe makkelijk het is als je zelf iets wilt veranderen aan de gegenereerde code. En of je dit wel in productieapplicaties kunt gebruiken. En of dit wel met mijn ingewikkelde legacy-database werkt. Enzovoort…
De voorbeeldapplicatie die in de Hobo screencast gegenereerd wordt.
Ik vind Scafollding harstikke handig en toch heb ik het gevoel dat het allemaal prima is en dat ik alles kan aanpassen…
Inderdaad een heel interessant project. Voor zover ik er over gelezen heb is het nog niet production-ready. Er moest in ieder geval nog veel werk gebeuren aan de tests. Ik vermoed dat het aanpassen van de gegenereerde code makkelijk wordt gemaakt door het gebruik van DRYML.. Zelf ben ik momenteel in de ban van Mephisto als uitvalbasis voor nieuwe projecten, dus hobo laat ik nog even aan de kant liggen. Ben wel zeer geïnteresseerd dus hou ons op de hoogte als je hier meer over weet!