Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 39 reacties
Bron: eWeek

De ontwikkelaars van het webgeoriŽnteerde ontwikkelframework 'Ruby on Rails' (RoR) hebben afgelopen dinsdag officieel versie 1.0 van de software beschikbaar gesteld. De eerste release van het ontwikkelplatform werd 15 maanden geleden aan de wereld gepresenteerd. Sindsdien heeft Ruby on Rails flink aan populariteit gewonnen bij webontwikkelaars, mede door zijn innovatieve opzet en het streven om een programmeur zo min mogelijk werk dubbel te laten doen.

Ruby on Rails logoRuby on Rails is 'geoptimaliseerd voor programmer happiness en optimale productiviteit', zo is te lezen op de site van het project. Het framework is bedoeld voor het ontwikkelen van webapplicaties en maakt hiervoor gebruik van de scripttaal Ruby. Standaard voorziet 'Rails' in ondersteuning voor diverse relationele databasepakketten, zoals MySQL, PostgreSQL, Oracle, SQL Server, DB2 en SQLite. Ruby on Rails maakt gebruik van het zogenaamde Model-View-Controller (MVC)-pattern en probeert in te haken op de nieuwste hypes op het gebied van webapplicatie-ontwikkeling zoals bijvoorbeeld door ingebouwde ondersteuning voor AJAX (Asynchronous JavaScript and XML) te leveren.

Tegelijk met de release van versie 1.0 is het project ook overgestapt op een nieuw ontwikkelde website, die uiteraard ook is ontwikkeld in Ruby on Rails. Het ontwikkelteam van Ruby on Rails, dat wordt gesponsord door het bedrijf 37signals waar ook de oprichter van RoR David Heinemeier Hansson werkt, hoopt in februari komend jaar versie 1.1 van het framework uit te brengen.

Hoewel de meeste mensen de scripttaal Ruby weinig zal zeggen, bestaat deze scripttaal toch al meer dan 12 jaar. Ruby is in 1993 door de Japanner Yukihiro Matsumoto bedacht en geÔmplementeerd. De scripttaal is volledig objectgeorienteerd en niet specifiek bedoeld voor webapplicaties, zoals bijvoorbeeld bij PHP wel het geval is. De taal heeft dan ook meer verwantschap met Perl, Python en Smalltalk. Ruby on Rails maakt Ruby 'gereed' voor het web en heeft voor een flinke populariteitsgroei gezorgd van de scripttaal Ruby. Doordat RoR vrij snel concrete resultaten oplevert en tamelijk makkelijk te leren is, wint het framework snel aan populariteit onder ontwikkelaars en vist het in dezelfde vijver als het al langer beschikbare PHP. Hoewel er inmiddels de nodige commerciŽle producten worden aangeboden die zijn gebaseerd op RoR, blijft het de vraag of het platform op termijn net zo populair zal worden als bijvoorbeeld PHP. Deze laatste webscripttaal heeft inmiddels enkele grote bedrijven achter zich waaronder Oracle en IBM.

Moderatie-faq Wijzig weergave

Reacties (39)

Ik gebruik het al enkele maanden zeer intensief, en het wordt steeds beter! :)

De eerste applicatie die je ermee maakt voelt alsof er een gigantische last van je schouders valt. Ten minste, zo heb ik het ervaren na jaren aanmodderen met PHP. De dingen die ik met PHP wilde bereiken, maar vreselijk moeilijk gestructureerd te ontwikkelen zijn, zijn in Ruby een fluitje van een cent. Het voelde voor mij in ieder geval meteen bij de eerste ervaringen aan als een hulpmiddel, niet als een obstakel. Webapplicaties ontwikkelen is met Rails vreselijk leuk geworden :)

Het is ook mooi om te zien hoe de community explosief groeit de laatste tijd. Ik kan alle programmeurs en andere geÔnteresseerden aanraden om Ruby eens een kans te geven :)

* 786562 ludo
Ruby On Rails is een web-app framework voor Ruby. Je kan RoR niet vergelijken met PHP, PHP staat op het niveau van Ruby.
De vraag is, is er een PHP framework die gelijkwaardig is aan RoR.

Ik vindt Ruby en, vooral, RoR maar niks. RoR is bijvoorbeeld niet fijn als je een WAP site wil maken. En al helemaal niet als als je een WAP+XHTML site wil maken (afhankelijk van de browser). De templating engine van RoR is te intrusive.
Sommige dingen in RoR zijn wel handig en daar zijn vaak ook PHP varianten voor. Zoals bijvoorbeeld Smarty als templating engine. De meeste van de RoR voorbeelden zijn Blog\CMS sites, voor PHP zou je dan bijvoorbeeld Drupal kunnen gebruiken als framework (niet dat Drupal een relaxte framework is hoor).
Ik weet ook wel wat RoR is en wat PHP is :Y)
Ik vindt Ruby en, vooral, RoR maar niks. RoR is bijvoorbeeld niet fijn als je een WAP site wil maken. En al helemaal niet als als je een WAP+XHTML site wil maken (afhankelijk van de browser). De templating engine van RoR is te intrusive.
Je zit niet vast aan de standaard template engine? Je kunt zo een template engine ontwikkelen waarmee je WAP sites kunt ontwikkelen. Dat is juist een van de mooie punten: je kunt elk onderdeel vervangen. Okee, veel alternatieven zijn er nog niet, maar het zelf ontwikkelen hiervan is veel minder een pain-in-the-ass dan wanneer je het in PHP zou doen.
Zeggen dat RoR niks is omdat je er geen WAP site mee kunt maken vind ik een erg slap argument. RoR is inderdaad niet (out-of-the-box) heel erg geschikt om WAP-sites mee te ontwikkelen (al is het ook absoluut niet onmogelijk).
Maar waar het wel geschikt voor is, is het ontwikkelen van webapplicaties die via een 'gewone' browser gebruikt worden.
Sommige dingen in RoR zijn wel handig en daar zijn vaak ook PHP varianten voor. Zoals bijvoorbeeld Smarty als templating engine. De meeste van de RoR voorbeelden zijn Blog\CMS sites, voor PHP zou je dan bijvoorbeeld Drupal kunnen gebruiken als framework (niet dat Drupal een relaxte framework is hoor).
Volgens mij begrijp jij nog niet exact wat een framework is (en wat het niet is). Drupal is het in ieder geval niet ;)
Werp eens een blik op de volgende pagina voor voorbeelden van applicaties die in Rails ontwikkeld worden: http://wiki.rubyonrails.com/rails/pages/RealWorldUsage. Hier staat een (bij lange na niet compleet) overzicht van applicaties ontwikkelt met behulp van Rails. Het percentage dat met CMS/blog dingen te maken heeft is klein.
Een paar mooie voorbeelden van Rails:
http://fluxiom.com: bekijk dat demonstratiefilmpje eens :)
http://www.backpackit.com/
http://odeo.com: podcasting directory

En zo kan ik nog wel even doorgaan :Y) Juist in de Rails community zie je op dit moment overal frisse ideeŽn uit de grond springen.
Er zijn PHP frameworks die een kopie zijn van RoR (www.phpontrax.com) of redelijk wat invloeden hebben van RoR (www.cakephp). Ben zelf bezig met Cake, bevalt tot nu toe best goed eigenlijk. Moet nog steeds een keer gaan spelen met RoR zelf, gaan we doen zodra ik wat tijd over heb :)
WAP? Waarom zou je WAP sites maken, behalve voor een paar gespecialiseerde toepassingen? Elke zichzelf respecterende smartphone heeft zo onderhand een volwassen HTML browser en kan dus middels een gewone, van plaatjes en onzin ontdane en op maat gemaakte, webpagina alles doen wat je laptop ook kan.
Om dŠŠr nou een heel framework op af te fikken... sorry hoor, maar dat klinkt meer als zoeken naar een excuus om te klagen.
nja, als php-fan zie ik die filmpjes nu ook, en snap eigenlijk niet wat er nou boeiend als programmeur-zijnde aan is, het maakt de programmeurs lui al die voorgedefinieerde routines

dit klinkt erg fanby achtig, maar dit is gewoon een nog hogere programmeertaal dan php, tuurlijk is dat leuk, maar je verliest er ook zeker vrijheid mee. Neem als voorbeeld die blog die in dat filmpie wordt gemaakt. een paar regels zijn er maar nodig. wel goud als je genoegen neemt met standaard tekst enz. (ok kan je naderhand met css heus wel veranderen, maar dit gaat niet op voor alles wat RoR allemaal voor je uitkauwt)

in php zou dit net zo makkelijk kunnen, met een goed overgeŽrfde klasse die veel methodes(,routines) bevat.
alleen zit bij RoR deze routines ingebakken

maar k moet zeker zeggen dat het er wel leuk uitzag
Neem als voorbeeld die blog die in dat filmpie wordt gemaakt. een paar regels zijn er maar nodig. wel goud als je genoegen neemt met standaard tekst enz. (ok kan je naderhand met css heus wel veranderen, maar dit gaat niet op voor alles wat RoR allemaal voor je uitkauwt)
Rails kauwt niks voor. Het geeft alleen een startpunt zodat je snel aan de gang kunt met werken, maar alles dat Rails in dat filmpje genereert is aan te passen (en niet alleen met CSS).
Nou kom ik weer met dit voorbeeld dat ik een aantal posts hoger ook al liet zien: http://fluxiom.com. Check dat filmpje daar eens: dat is dus ook Rails ;)

In Ruby (en met Rails) heb je absoluut niet minder vrijheid dan met PHP.
Hey DLGandalf.

Door een framework als RoR af te doen als een hoop voorgekauwde methodes doe je veel af aan de essentie van een webframework.

het ontwikkelen van applicaties op het web was de afgelopen 20jaar vaak het samenvoegen van script en het 100e keer opnieuw uitvinden van het web wiel.

met RoR voor Ruby
Django voor Python en zelfs voor PHP met symfony, is het tijd perk van web 2.0 aan gebroken(ik weet ook wel dat het een buzz word is maar als je er eenmaal mee wekrt man!) je wilt nooit meer terug naar normaal php.

het zijn dus geen voorgekauwde methodes maar meer een soort manier van denken waar deze frameworks je toe dwingen ik zal een aantal kenmerken op noemen van bijvoorbeeld symfony.

AJAX enabled.
Abstractie van Data laag(geen sql meer maar echte objecten).
Scheiding van data,logica en presentatie.
Intergratie van Unit test en regressies test methodes.
Ondersteuning van I18N internationalisatie.
zelf te definiere routing(geen index.php?blaah... maar /log/2005/10/11).

dit soort frameworks brengt applicatie development naar het web!!!
Or we can look at philosophy. The design of Rails was driven by a couple of key concepts: DRY and convention over configuration. DRY stands for Don't Repeat Yourself, every piece of knowledge in a system should be expressed in just one place. Rails uses the power of Ruby to bring that to life. You'll find very little duplication in a Rails application; you say what you need to say in one place - a place often suggested by the conventions of the MVC archite - and then move on.

Convention over configuration is crucial, too. It means that Rails has sensible defaults for just about every aspect of knitting together your application. Follow the conventions and you can write a Rails application using less code than a typical Java web application uses in XML configuration. If you need to override the conventions, Rails makes that easy, too.
- Agile Web Development with Rails -- Dave Thomas & David Heinemeier Hansson
Vrijheid beperkend? Als ik programma's maak, dan vind ik het niet zo leuk om steeds en steeds weer hetzelfde te doen. Neem een taal als C++. Je kan pointers enzo lopen rondslingeren, maar waarom zou je dat als applicatie programmeur willen? Maakt het alleen maar lastig. RoR blijft even vrij, maar laat gewoon de computer dingen doen waar hij goed in is, en de mens de rest.
Wij zijn voor onze informatica opleiding ook bezig met een onderzoek naar RoR. Hierdoor zijn we erachter gekomen hoezeer dit framework de productiviteit bevorderd en netjes programmeren bevorderd in vergelijking met PHP. Ik overweeg ook mijn afstudeerstageproject in RoR te doen.

Hoewel het in de nieuwpost niet genoemd wordt, is het voor de mensen die niet bekend zijn met RoR misschien interessant om te weten dat RoR het ORM design pattern implementeerd.

Met (engelse) singularis/pluralis regels kunnen records in de database worden aangesproken. post.title geeft dan automatisch de juiste waarde terug van de huidige record uit de 'posts' tabel, veld title. Dit werkt ongeloofelijk handig en bespaard ook bijzonder veel tijd ten opzichte van het zelf queries schrijven in bijvoorbeeld PHP.
Waar staat ORM design pattern voor. Voor zover ik kan achterhalen is dat niet een van de Gang of Four, of wel?
Object / Relational Model

Plat gezegd: het mappen van een database rij naar een object, met de kolommen als objecteigenschappen en functies die de rij bewerken.
Peter, als je je afstudeeropdracht wil doen in RoR of Django, dan ben je bij ons op het juiste adres. ;)
Zeker die filmpjes zijn naar mijn mening indrukwekkend: http://www.rubyonrails.org/screencasts

Ruby On Rails lijkt een erg krachtige API voor webontwikkeling, waarin in zeer korte tijd webapplicaties gemaakt kunnen worden. In het eerste filmpje heb ik me verbaasd hoe makkelijk/snel een database gemaakt wordt.

Uiteindelijk zullen er ook beperkingen aan de API zitten, maar in de ontwikkelwereld lijkt men lovend te zijn.
Gretver. Ik zit "Why's poignant guide to Ruby" door te snuffelen, en ik krijg ineens zin om weer te gaan ontwikkelen. Dat heb ik al 10 jaar niet meer gedaan...

:-)
En die staat dus hier :)
Ruby is best wel interessant als tegenhanger van Java Entity Beans en Hibernate.

Edit: ik bedoel dus idd Rails
Rails is best interessant als tegenhanger van die dingen die je noemt.

Ruby is best interessant als tegenhanger van bijna elke hogere programmeertaal. Het is inmiddels mijn favoriete taal geworden en doe ook al m'n studie-opdrachten in.
Rails is toch meer een complete webframework. Met Java entity beans en Hibernate alleen heb je nog geen complete web-applicatie, maar aan de andere kant kun je deze ook voor niet-web toepassingen gebruiken.
hoe veilig is het? het heeft nog niet zo'n grote track-record.
in PHP worden dagelijks 'bugs' gefilterd, hoe zit dat bij Ruby?
Omdat PHP zo'n rommeltje is ??
De scripttaal is volledig objectgeorienteerd en niet specifiek bedoeld voor webapplicaties, zoals bijvoorbeeld bij PHP wel het geval is.
Jammer dat dat nog steeds de algemene gedachte is.
PHP is namelijk ook op de commandline bijzonder krachtig, en functioneerd ook prima zonder webserver.

Verder vind ik dat RoR ook weinig aan, en zi eook niet echt wat he tnog met programmeren te maken heeft. Ik vind he tjuist fijn om dicht op het gebeuren te zitten, en helemaal zelf in de hand te hebben wat er gebeurd en nog beter, wat er neit gebeurd. Maar dat is persoonlijk.

//Edit
Als ik zo het filmpje kijk van 'Woops a blog in 15 minutes' krijg ik toch het gevoel dat je alleen maar dingen kunt maken iwelke van te voren al zijn gedefineerd. Je plakt een hoop librarys bij elkaar welke samen een blog vormen.
Dat kan ik ook in kladblok met de PHP-library waar ik al mijn functies en classes in bewaar :? Is het enige verschil dat hier een GUI omheen zit of mis ik het grootste voordeel ergens?
Komen volgens mij niet erg veel orginele producten uit?
Wij ontwikkelen op dit moment nog alles in PHP, dus we zijn daar wel enigszins bekend mee. Toch gaan we RoR testen, omdat de voordelen legio kunnen zijn. Standaard AJAX support, een waarschijnlijke productiviteitsboost, ontwikkelen wordt nog plezieriger.. en zo zijn er nog een flink aantal mogelijke voordelen te noemen. Als je het niet geprobeerd hebt kun je er naar mijn inziens niet over oordelen. Het filmpje is een demo waarin ze "scaffolding" gebruiken om te laten zien dat ze in 15 minuten een blog kunnen maken (Rapid Prototyping). Wat ze niet laten zien is dat alle code die gegenereerd wordt ook nog weer volledig aan te passen is en bij de meeste applicaties zal dit ook gebeuren (sterker nog in het RoR boek gaan ze er in feite van uit dat alle scaffold code vervangen wordt).

Kortom er zijn handige default settings maar alles kan veranderd worden. Ideaal voor een snel prototype en vervolgens een applicatie die precies doet wat jij wil!
Vuurvlieg kijk dan eens naar symfony.
dat is alles wat je wilt en het is in PHP.

www.symfony-project.com

ik gebruik het nu ook voor mijn afstudeer opdracht
Verder vind ik dat RoR ook weinig aan, en zi eook niet echt wat he tnog met programmeren te maken heeft. Ik vind he tjuist fijn om dicht op het gebeuren te zitten, en helemaal zelf in de hand te hebben wat er gebeurd en nog beter, wat er neit gebeurd. Maar dat is persoonlijk.
Jammer dat dat dus ook nog de algemene gedachte over Rails is ;) Want dat is dus ook absoluut niet zo. Persoonlijk heb ik met Rails juist het gevoel dat ik dichter op het gebeuren zit dan met PHP ;)

Het is jammer dat die filmpjes veel mensen het idee geven dat dit het ontwikkelen van een applicatie in Rails voorstelt. Maar als je eenmaal een beetje met Rails gewerkt hebt zul je de methode die in dat filmpje gebruikt wordt (scaffolden) eigenlijk niet meer gebruiken. Misschien even omdat je snel iets wilt demonstreren/werkend wilt hebben. Maar van daaruit ben je volledig vrij.
Rails is ook absoluut niet te zien als een hoop bij elkaar geplakte libraries. Er zit ook helemaal geen GUI om Rails heen, die mag je nog lekker zelf maken ;)
Ik vind dit toch wel redelijk kortzichtig. Met php zit je inderdaad "dicht op het gebeuren". Maar als je daar echt van houdt is het misschien verstandiger om assembly te gaan programmeren, dan hoef je ook niet meer de hele tijd van die voorgedefinieerde functies als if en else te gebruiken.

Verder is het niet zo dat je alleen voorgedefinieerde dingen kan maken, maar dat zijn eigenlijk alleen dingen waar je pas achter komt als je een paar keer iets hebt gebouwd in RoR.

RoR heeft misschien nog wel meer met programmeren maken dan php: doordat er bepaalde dingen uit handen (kunnen) worden genomen, kan je je veel beter concentreren op de business-logic.

Aan alle mensen die denken dat ze helemaal niet meer low-level dingen kunnen doen wil ik de wijze raad meegeven om het eerst eens te proberen :).
Komen volgens mij niet erg veel orginele producten uit?
Is dit als een grap bedoeld of meen je dat serieus? Als je naar het niveau van de gemiddelde (php/flash)-developer kijkt (ja, ik ben zelf ook php-devver) zou je ook niet zeggen dat er werkende code uitkomt, maar toch zijn er vette dingen gemaakt.
hoe is dit in vergelijking met asp.net. Dit is toch ook een redelijk uitgebreid framework die in mijn ogen toch veel werk vergemakkelijkt. Plus de superieure ontwikkelomgeving visual studio 2005 :). Een taal kan goed zijn maar programmeer omgeven doet toch ook al veel vind ik. Iedereen kan nu zeggen kladblok kladblok. Alleen al code completion vind ik super makkelijk wat de productiviteit echt wel omhoog doet gaan. Zijn er ook zulke dingen voor rails?
Het klinkt wel leuk. PHP nooit willen aan beginnen omdat het er me beetje (sorry voor sommige php'ers) "moeilijk wanneer het makkelijk kan" uit zag.
Ik ben als ontwikkelaar in ASP.net overgestapt naar RoR. Juist het uitgebreide framework in vs.net compliceert ontwikkelen. Er zijn goede cross platform IDE's voor RoR beschikbaar, ook met (beginnende, ik geef toe nog niet zoals vs.net) code completion. De productiviteitsgroei die je met dit open source framework bereikt is ongeevenaard.
bedankt voor deze uitleg :)
Misschien eens naar kijken als ik tijd heb. Ziet er me wel goed uit maar ik wou eens ervaring horen van iemand zoals jij die asp.net kent en er nu van over gestapt is.
De truc van Ruby on Rails is dat de ontwikkelomgeving minder cruciaal is dan met .net of java omdat er minder geconfigureerd moet worden en je ook gewoon minder code nodig hebt.
Ik geloof dat je alleen met notepad en RoR al sneller een web applicatie neer kunnen zetten dan met een java-ide of visual studio.
Dit wil niet zeggen dat ik geen IDE gebruik voor RoR (eclipse met plugins: http://www.napcs.com/howto/railsonwindows.html). Werkt toch nog productiviteits verhogend.
RadRails is ook een op eclipse gebaseerde ide, maar ik wacht nog op ingebouwde unittest functionaliteit.

Code completion zal in dynamic scripting languages altijd minder goed zijn omdat van te voren niet altijd te bepalen is met watvoor type object je te maken hebt.
Ben RoR sinds een paar maanden aan het gebruiken en het is een ontzettend leuke taal om in te programeren .

Nu deed/doe ik nog steeds veel met PHP en hierbij zijn er ook meerdere Frameworks die zeggen dat ze hetzelfde doen maar ik ben er maar 1 tegen gekomen die ook inderdaad zo snel als RoR en dat is ATK
Heeft nog niet zo een grote communitie maar krijgt steeds meer herkenning uit de PHP wereld
ROR draait toch ook op Apache voor zover ik weet? En is het niet het CGI gedeelte dat zo "slecht" is voor je server?
wat ik nog niet duidelijk kan vinden, is een goed template engine bij RoR.

Zelf ben ik PHP'er en maak intensief gebruik van XTemplate (soort Smarty maar dan niet zo uitgebreid). Dus content van logica scheiden. Ik heb geen zin om weer code door de layout te zetten.

Voor de rest vind ik RoR wel dope, nog niet getest maar veel gelezen erover. En wat ik al vermoedde, RoR is meer een replacement voor Perl dan voor PHP. Maar als ik een goed template engine vind voor RoR, dan zal ik het zeker een keer als een PHP vervanger zien.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True