[ruby-it] Prima della programmazione avanzata
Matteo Collina
matteo.collina a gmail.com
Lun 9 Mar 2009 16:05:38 CET
Il giorno 9 marzo 2009 14.09, Giuseppe Caruso
<giuseppe a bonsai-studio.net>ha scritto:
> Ma non esiste "qualcosa" che faccia il parser della pagina come adesso
> accade per Php? Forse Passenger?
> Io trovo che proprio questi "limiti" interferiscano con la capillare
> diffusione di Ruby. È un peccato…
In realtà è anche il suo pregio. PHP è nato proprio come dici tu, con un
parser "integrato" nel server web. Questo porta ad una rapidità di sviluppo
eccezionale per i neofiti, chiamano un file .php ed è fatta.
Purtroppo questo approccio porta molti problemi nel momento in cui si
vogliano fare applicazioni più complesse, realizzando applicazioni web
difficilmente manutenibili nel medio-lungo periodo. Infatti fare una
applicazione PHP complessa "fatta bene" da zero è veramente difficile.
Una soluzione simile per Ruby non si è mai sviluppata perché ci è arrivato
prima PHP, un linguaggio che nelle sue prime versioni era nettamente più
semplice e performante di Ruby. In Ruby molti anni dopo è nato un framework
molto innovativo chiamato "RubyOnRails".
Il modello su cui si basa RubyOnRails è un'altro rispetto al PHP, infatti
non è più il "parser" a guidare la generazione della pagina ma il controllo
viene trasferito integralmente alla tua applicazione. In altri termini
mentre in PHP ogni singolo file è un possibile punto di attivazione del
"parser", in RubyOnRails il punto di accesso è unico ed effettua un suo
routing interno.
Questo approccio ha permesso di dare una struttura fissa ad un'applicazione
web, permettendo di realizzare applicazioni complesse e facilmente
manuntenibili in tempo assolutamente inferiore. Rails fa la maggior parte
del lavoro per te.
Questa semplicità non viene gratis: il deployment di un'applicazione rails è
un'operazione più complessa di una basata su PHP. Inoltre anche i requisiti
di sistema (consumo di RAM e CPU) sono maggiori.
Ovviamente non sono un esperto né di PHP né di Rails quindi se sbaglio
qualcosa correggetemi pure!
More information about the Ml
mailing list