Ruby on Rails introduksjon

Thu 31 December 2009

Hva er Ruby on Rails?

Ruby er et programmeringspråk som har eksistert siden 1995. Det kan sammenlignes med andre språk som Perl, Smalltalk, Eiffel, Ada, og Lisp. Rails er et rammeverk kjører i Ruby, og er utviklet for nettapplikasjoner. Ruby støtter flere programmeringsparadigmer som funksjonell, objekt orientert, imperativ og reflektiv programmering. Rails på sin side er et nyere språk (2001) som er spesielt tilpasset agil utvikling i et RAD miljø.

Ruby on Rails er altså et webrammeverk skrevet i Ruby. RoR er opensource og består av ferdigskrevet biblioteker og datastrukturer for hurtig og fleksibelt gjenbruk.

Konsepter

RoR anbefaler tre konsepter for rask og oversiktlig utvikling, og det er disse tre prinsippene som gjør Rails til et veldig morsomt rammeverk å utvikle i. Noen av de kan være kjente for de som har programmert litt før, men såvidt meg bekjent er det kun Rails som implementerer disse fra grunnen.

DRY (Dont repeat yourself)

Dette punktet handler om at en bit kode skal være på et sted, og kun der til enhver tid. Med andre ord skal en unngå å duplisere kode.

Conventions & Sensible Defaults

Rails er utviklet med webapplikasjoner i tankene. Det er derfor gjort mange forutsetninger som gjør det hele mer logisk, og en slipper å bruke tid på oppgaver som ofte er rutinemessige. Et eksempel er at dersom du har en tabell som heter studenter, vil et utvalg på -en- fra denne være, student(eng:student), mens et utvalg på flere vil hete studenter (eng:pl:students). Et annet eksempel er at alle javascript filer ligger i /javascript katalogen, og alle css filer i /css. For de som ønsker kan man endre disse defaultsene, men det er anbefalt å ha de dersom en ikke har noen god grunn til å endre de.

MVC (Model View Controller)

Model: Kan sammenlignes med objekter. Det er modellen som kommuniserer med databasen. Når en modell endres kan den oppdatere tilhørende views. En modell kan ha flere views.

View: Dette er presentasjonslaget. Her blir det som skal vises (modeller) rendret til skjermen, det vil si sendt tilbake til nettleseren i form av HTML kode. Flere views kan være knyttet til samme modell.

Controller: Reagerer på hendelser og prosesserer data. Sender disse videre til modeller og/eller views. Controller kan endre både på modeller og views.

500px-ModelViewControllerDiagram.svg

Eks: [Sett inn]

MVC er med på å redusere kompleksiteten til applikasjonen vår, samt at den blir mer fleksibel og gjør det lettere å gjenbruke kode.

Noen grafiske rammeverk som bruker MVC: Cocoa, QT og Swing.

Noen web rammeverk som bruker MVC: Struts, Spring, Drupa, Joomla, Django og Rails.

Tagged as : ruby rails

Comments

Tagged as : ruby rails