Ruby on Rails introduksjon
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.
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.