8 redenen om met Ruby on Rails te werken.
Chris Obdam ma 31 jul 06
Productiviteit
Rails biedt een Out-of-the-box architectuur waarin de juiste beslissingen al voor je genomen zijn. Je kan je focussen op de problemen niet op de triviale zaken. Het Model View Controller model op zijn best. De Rails generators geven je een voorsprong door automatisch elk benodigde file voor je aan te maken, inclusief testarchitectuur. Een view wordt automatisch al gekoppeld aan een controller, no worries gewoon direct coden. Rails zet de structuur voor je uit, zonder dat je je flexibiliteit verliest.
ORM
Mensen met een PHP verleden hebben het ongetwijfeld zelf allemaal al een keer gemaakt. Een ‘object relationship mapper’. Wanneer je wat in de DB wilde opslaan kon je het zelf weer schrijven. Tuurlijk, programmeur als je bent had je daar zelf een classe voor geschreven, maar deed die altijd wat jij wilde? Rails bied standaard ORM. Blijf binnen de constraints en je slaapt als een os. Validatie, transacties, caching liggen allemaal op je wachten vanaf het eerste begin. Eenvoudig op te zetten in je Model files, attributen bepaal je gewoon door een kolom aan je tabelstructuur toe te voegen. Wanneer je gebruik maakt van Migrations heb je zelfs versiebeheer op DB niveau.
Jij en Rails, helemaal op een lijn
Iedereen kent de frustratie van het programmeren: In je hoofd heb je het al helemaal uitgedacht. En het is zo simpel! Dacht je. Tot je het in de ontwikkelomgeving
wilde maken, daar bleek dat de techniek jouw denkwijze niet toestond. Rails i.c.m. Ruby kunnen jouw geniale denkwijze aan. Alles wat je bedenkt maak je direct in Rails, zonder concessies. Vaak in één regel code. Daar droom je van hè? (Wist het wel..)
Templating
De ActionView module van Rails is bijzonder krachtig, je maakt niet alleen heel eenvoudig een nette HTML page maar net zo makkelijk een dump je je data in XML, een e-mail, tekst of welk formaat je ook wilt.
Ruby, een juweeltje
Werken met Ruby is een zegen, een feest! Ruby is een full featured object-georiënteerde scripting taal. Veel programmeurs moeten wennen aan de flexibele opzet, maar eenmaal bekend wil je niet meer terug. Ruby vertrouwt de programmeur en laat hem de handen vrij. Dat is wennen voor een programmeur die .NET gewend is. Classes run-time uitbreiden. Modules, mix-ins. Ruby is bijzonder bij de tijd.
Web 2.0 made easy
Belangrijke recente toevoeging is RJS. Javascript op een nieuw niveau. RJS brengt AJAX op een eenvoudige manier naar de programmeur, volledig geïntegreerd in Rails.
RJS schrijf je in Ruby en wordt automatisch omgezet naar Javascript, zonder dat je een regel Javascript hoeft te schrijven. Voeg daaraan toe dat visuele Javascript effecten standaard aanwezig zijn in RJS en je hebt een hippe web 2.0 applicatie in no-time.
Implementatie eenvoud
Wanneer Rails in combinatie met Subversion wordt gebruikt wordt je leven er nog een stap eenvoudiger op (kan het nog gekker?). Capastrino bied een implementatie omgeving om je vingers bij af te likken. In de configfiles stel je in waar de applicatie gedeployed moet worden, waar staat je applicatieserver, waar je DB-server. Voer ‘rake deploy’ uit en via SSH wordt je gehele applicatie op de juiste machines geinstalleerd, je DB gemigreerd, je servers gerestart (reaper) en alles staat klaar voor gebruik. Oeps, foutje gemaakt? ‘rake rollback’! (Hoor je mij hier lachen van plezier?)
Gemakkelijk te leren
Ieder begin is moeilijk. Het besluit nemen om er naar te kijken is vaak al een drempel. Laat ik je geruststellen. Het is echt heel eenvoudig. Iedereen met een beetje programmeur ervaring in object georiënteerd programmeren kan zo aan de slag. Resources genoeg. Weblogs te over! (Zie hier) Een tip: verdiept je in Ruby! Wordt het nog leuker!
Vooroordelen:
Rails is lastig in productie te nemen
Toegeven, het was lastig om Rails te draaiend te krijgen op je productieserver. Gelukkig is er nu Mongrel. Zelf ook net mee gestart maar wederom een vooruitgang. Gebruik je webserver enkel als proxy en laat Mongrel het werk doen, ben je in no-time up and running. Installeer ‘gem’, gem install rails —include dependencies, gem install mongrel. Config’en. Klaar. Ook weer uit de wereld.
Rails is te simplistisch voor mij als geniale programmeur
Helaas moet ik je uit de droom helpen. Je bent al jaren de helft van je tijd het wiel opnieuw aan het uitvinden. Gebruik gewoon de juiste tools en focus op de echte problemen. In Rails kan je snel aan de slag en biedt je dan een omgeving waar veel voor je geregeld is. Niet getreurd, alles kan aangepast worden. Rails is bijzonder flexibel. Alleen ook hier weer een tip: probeer je te verdiepen in de architectuur voor je eigenwijs de boel over de hoop gooit :-)
Rails is alleen voor web-apps
Helemaal waar. Probeer met Rails geen desktop app te maken. Rails is volledig gericht op webbased applicaties.
Gepost in hor | 7 reacties
Welcome to Holland On Rails
This weblog is the official Ruby techblog from the guys at Holder, a Ruby development company. Holder is also the company behind the RubyAndRails Europe Conference in Amsterdam.Recente Jobs
Bekijk alle jobs »»
Gereedschapskist
Onmisbare tools vooriedere developer!
- Ruby On Rails
Framework voor de web 2.0 developer. Eindelijk vooruitgang! - TextMate
Editor for true pro's
Typ, tab, top :-)
Nee, niet voor Win. - Made On A Mac
En nou is het over met die saaie grijze Windows bak van je!
Auteurs op deze site
Chris Obdam
'Less is more' evangelist, past dit ook dagelijks toe op zijn tandenborstel.Chiel Wester
Snelheidswonder op Ruby wielen. Leuk om mee te pair-programmen ;-)
Lars Truijens wo 02 aug 06 17:18
Laat ik na deze lofzang toch wat mogelijke nadelen opnoemen:
Je bent beperkt door de mogelijkheden van het framework. Natuurlijk kan je het framework vast uitbereiden naar je eigen wensen, maar wat is het voordeel dan nog?
Bovendien hangt het er soms vanaf of die flexibiliteit in de taal Ruby die hier genoemd wordt wel altijd een voordeel is. Soms kan de flexilibiteit verwarrend werken of makkelijk fouten in de hand werken.
En zoals al een aantal keer genoemd door Chris zelf gelden een aantal voordelen alleen als je aan bepaalde voorwaarden voldoet.
Sander wo 02 aug 06 08:10
Neem eens een kijkje bij Site5.com. Rails draait daar prima en het is betaalbaar. En ze zijn zeer servicegericht bezig!
Chris Obdam ma 31 jul 06 16:04
Gelukkig heb ik geen ervaring met shared hosting bij derden. Wij beheren onze eigen servers. Mocht iemand nog Rails hosting zoeken kan dat bij ons. Voor 20 euro in de maand Rails hosting. Niet de goedkoopste maar wel zonder problemen :-)
Willem ma 31 jul 06 15:46
Heerlijk al die voordelen op een rij (en helmaal mee eens).
Ik heb echter ook schrik van het hostingprobleem (“Shared hosting + Rails == Suck; Avoid if you can; las ik ergens).
Heeft iemand positieve verhalen over shared hosting van ROR (ik ben dat van plan bij dreamhost of textdrive)?
Rutger ma 31 jul 06 15:32
Ik denk toch ook aan beschikbaarheid. Bij de hostingpartijen. Niet alles kan/wordt in eigen beheer gehost.
Chris Obdam ma 31 jul 06 15:09
Laat me eens nadenken. Nadelen. Hmm. Nee. Vooroordelen ja. Nadelen nee! :-)
Wellicht weet iemand anders een nadeel?
Rutger ma 31 jul 06 14:50
Zijn er dan HELEMAAL geen nadelen?
Plaats je reactie