Rails 3 giver bedre ydelse og modularitet
Ruby on Rails 3 er på vej i første beta-udgave. Det nu fuldbyrdede ægteskab mellem de konkurrerende frameworks Ruby on Rails og Merb gør det nemmere at modularisere koden.
Af
Tania Andersen,
mandag 08. feb 2010 kl. 14:37
EMNER:
Ruby
Webapplikationer
Tredje udgave af webframeworket Ruby on Rails, der har danske David Heinemeier Hansson som bagmand, er på vej i form af første beta.
Rails har nu forenet sig med et andet framework fra Ruby, Merb, som lægger vægt på modularitet. Det har givet afkast i Rails 3, mener dansk udvikler:
»I Rails 3 er det blevet nemmere at vælge, hvilket framework man vil bruge til at snakke med databasen, hvilket framework man vil bruge til at håndtere selve siderne og så videre,« fortæller den danske freelance-udvikler Casper Fabricius.
Det betyder konkret, at man kan udskifte Rails Javascript-bibliotek, der går under navnet Prototype, med det for tiden meget populære Jquery.
En anden vigtig nyhed er ydelsen, som nu er forbedret ved at benytte en nyere udgave af Ruby-platformen nedenunder. Mange benytter stadig den ældre version 1.8.6, men Rails 3 kræver den bedre ydende 1.8.7, forklarer Casper Fabricius.
Nye Active Records
I Rails 3 er databaselaget Active Record ændret. Syntaksen er omskabt, så man skriver koden på en mere fleksibel måde.
»Det gør, at koden gerne skulle blive mere letlæselig og nemmere at genbruge i applikationen.«
Lige nu er der ubegrænset bagudkompatibilitet, men i Rails 3.1 vil udviklerne få en advarsel, hvis de benytter den gamle model, og i version 3.2 virker den ikke længere.
Rails har også i et stykke tid kunne køre sikkert i et fler-trådet miljø, og det betyder, at den tidligere populære Rails-server Mongrel nu er på vej ud til fordel for Passenger, der er en udvidelse til Apache, som kan byde på udrulning på samme måde som i PHP, hvor konfigurationen blot består i at placere filerne i en mappe.
Selv om Rails-hypen har toppet efter Casper Fabricius' mening, kan han godt se en fornyet vitalitet i miljøet.
»Ikke bare med Rails 3, men også på grund af de alternative Ruby-distributioner JRuby og IronRuby.«
Det er udgaver af Ruby, som kører på henholdvis Java og .Net-platformen.
»Det begynder at gøre det rigtigt interessant for større virksomheder, som er dedikeret til f.eks. Microsofts teknologi - at de kan bruge Rails i stedet for ASP.Net men stadigvæk bruge alt det, de nu har i for vejen i .Net.«
Casper Fabricius har selv for nyligt anvendt Jruby i et projekt. Her var det udslagsgivende, at der findes et PDF-kodebibliotek til Java, som ikke findes tilsvarende i den originale Ruby. Samtidig yder Jruby bedre.
»Ruby er jo et af de mest langsomme sprog der findes, og det kører hurtigere under Java.«
Man kan spørge sig selv om det så ikke ville være en ide at kaste den officielle C-udgave af Ruby over bord, men det skyldes forskelle i den måde, de alternative Ruby-implementationer konfigureres, mener Casper Fabricius.
Hvad har threads med Passenger at gøre? Passenger kører flere, individuelle workers vha. fork, og benytter slet ikke threads.
Hvad har threads med Passenger at gøre? Passenger kører flere, individuelle workers vha. fork, og benytter slet ikke threads.
.. lyder rigtig godt..
Men selv artiklen er simpelthen for dårlig. Den skaber ingen respekt for hverken David eller Rails. Det fortjener de ellers efter min mening.
.. lyder rigtig godt..
Men selv artiklen er simpelthen for dårlig. Den skaber ingen respekt for hverken David eller Rails. Det fortjener de ellers efter min mening.
Der er en række mærkelige ting der blivet hevet frem (muligheden for at vælge jQuery er fx langt mindre interessant end muligheden for at vælge ORM,) men skal en artikel om Rails nødvendigvis skabe respekt om DHH? Det er jo ikke ligefrem fordi de trashtalker ham?
Der er en række mærkelige ting der blivet hevet frem (muligheden for at vælge jQuery er fx langt mindre interessant end muligheden for at vælge ORM,) men skal en artikel om Rails nødvendigvis skabe respekt om DHH? Det er jo ikke ligefrem fordi de trashtalker ham?
næ, jeg var blot skuffet over artiklen. Helt simpelt.
næ, jeg var blot skuffet over artiklen. Helt simpelt.