# Prima della programmazione avanzata

**URL:** <https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321>\
**Category:** IT\
**Created:** [March 8, 2009, 5:53pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321 "2009-03-08T17:53:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 8, 2009, 5:53pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/1 "2009-03-08T17:53:06Z")

</div>

Ciao a tutti.  
Ho seguito i vostri consigli. Prima di installare il mondo sul mac ho  
cominciato a provare le righe di codice presenti nel libro  
Marco C.  
Ruby  
per applicazioni web  
sul terminale e per i piccoli esempi come

class Gatto  
def miagola  
puts “ciao bello mio miaooo”  
end  
end

devo dire che va bene.  
Ora perÃ² Ã¨ giunto il capitolo “Programmazione avanzata”.  
Prima di leggere questo capitolo vorrei capire una cosa.  
Ma se volessi fare una pagina web, in cui vorrei inserire un pÃ² di  
codice in ruby e testarlo online, cosa dovrei fare?  
Grazie in anticipo! 🙂

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 8, 2009, 6:14pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/2 "2009-03-08T18:14:03Z")

</div>

Gianluca G. wrote:

> puts “ciao bello mio miaooo”  
> end  
> end
> 
> devo dire che va bene.  
> Ora però è giunto il capitolo “Programmazione avanzata”.  
> Prima di leggere questo capitolo vorrei capire una cosa.  
> Ma se volessi fare una pagina web, in cui vorrei inserire un pò di  
> codice in ruby e testarlo online, cosa dovrei fare?  
> Grazie in anticipo! 🙂

Dovresti ricorre a cio’ con vari metodi.  
Prima di tutto dovresti usare un server. In ruby i server piu’ usati  
sono mongrel webrick e il mod di ruby per apache. Poi dovresti usare un  
sistema di templating di codice in pagine web. Quelli che conosco io  
sono erb ed erubis ( ti consiglio di usare erb perchè integrato in  
ruby). Dopo di che ti devi scrivere la servlet con l’handler per il  
parsare 😛  
Potresti anche ricorrere ai framework per ruby presenti (sinatra, rails,  
merb).  
Scegli tu la via 😉  
ciao, joxer

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 9:24am UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/3 "2009-03-09T09:24:40Z")

</div>

joxer wrote:

> Gianluca G. wrote:
> 
> > puts “ciao bello mio miaooo”  
> > end  
> > end
> > 
> > devo dire che va bene.  
> > Ora perï¿½ ï¿½ giunto il capitolo “Programmazione avanzata”.  
> > Prima di leggere questo capitolo vorrei capire una cosa.  
> > Ma se volessi fare una pagina web, in cui vorrei inserire un pï¿½ di  
> > codice in ruby e testarlo online, cosa dovrei fare?  
> > Grazie in anticipo! 🙂
> 
> Dovresti ricorre a cio’ con vari metodi.  
> Prima di tutto dovresti usare un server. In ruby i server piu’ usati  
> sono mongrel webrick e il mod di ruby per apache. Poi dovresti usare un  
> sistema di templating di codice in pagine web. Quelli che conosco io  
> sono erb ed erubis ( ti consiglio di usare erb perchï¿½ integrato in  
> ruby). Dopo di che ti devi scrivere la servlet con l’handler per il  
> parsare 😛  
> Potresti anche ricorrere ai framework per ruby presenti (sinatra, rails,  
> merb).  
> Scegli tu la via 😉  
> ciao, joxer

Metodo semplice :

installa rails, fai :  
rails [nomesito]  
cd [nomesito]  
ruby script/server

Ora se da browser vai su [http://localhost:3000](http://localhost:3000) vedi il tuo sito web, per  
togliere la index predefinita la cancelli dalla cartella public, per  
aggiungere nuove pagine fai  
ruby script/generate controller [nome controller]

ora se vai su [http://localhost:3000/](http://localhost:3000/)[nome controller]  
vedi l’output del metodo index contenuto nel file app/controller/[nome  
controller]  
etc etc etc…  
di guide su questo ne trovi 100000 googlando 🙂

parola chiave “Rails”

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 2:09pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/4 "2009-03-09T14:09:52Z")

</div>

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â€¦

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 3:17pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/5 "2009-03-09T15:17:28Z")

</div>

Giuseppe C. 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â€¦

se hai ubuntu installa libapache2-mod-ruby dovrebbe fare al caso tuo…

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 3:01pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/6 "2009-03-09T15:01:28Z")

</div>

Giuseppe C. wrote:

> 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â€¦

Beh, php Ã¨ nato come linguaggio server, ruby invece Ã¨ un linguaggio  
multiscopo. Poi la stessa cosa tu la fai in php, solo che lÃ¬ hai un  
server gia’ fatto che ti aiuta. Secondo me ruby Ã¨ piu’ divertente 😃

(non so cosa sia passenger e mi documento)

ciao, joxer

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 3:26pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/7 "2009-03-09T15:26:50Z")

</div>

Giuseppe C. 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â€¦

dimenticavo nel libro che hai citato usa eruby per generare pagine web,  
quindi sempre se hai ubuntu installa il pacchetto eruby poi da terminale  
scrivi: sudo gedit /etc/apache2/apache2.conf

copia in fondo al file le istruzioni di seguito,salva riavvia apache e  
dovrebbe funzionare…

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 4:13pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/8 "2009-03-09T16:13:54Z")

</div>

On 3/8/09, Gianluca G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Ora però è giunto il capitolo “Programmazione avanzata”.  
> Prima di leggere questo capitolo vorrei capire una cosa.  
> Ma se volessi fare una pagina web, in cui vorrei inserire un pò di  
> codice in ruby e testarlo online, cosa dovrei fare?  
> Grazie in anticipo! 🙂

vai su [herokugarden.com](http://herokugarden.com) e sei attivo in 5 minuti con un server loro.

---

<div class="post-metadata">

**Author:** ![gianlucagiacalone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/5fc32e/32.png) [@gianlucagiacalone](https://www.ruby-forum.com/u/gianlucagiacalone)\
**Post date:** [March 9, 2009, 4:06pm UTC](https://www.ruby-forum.com/t/prima-della-programmazione-avanzata/162321/9 "2009-03-09T16:06:15Z")

</div>

Il giorno 9 marzo 2009 14.09, Giuseppe C.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)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!
