Ruby on Rails, applicazioni Web 2.0 a tempo di record

Giovedì 26 Gennaio 2006 - 10:10

di Marco Casario

Ruby

Non so quanti di voi conoscono Ruby. O meglio : molti di voi lo conoscono, come me, da pochi mesi grazie alla diffusione di un framework scritto con questo linguaggio e che sta raccogliendo consensi tra gli sviluppatori più alla moda del momento. Sto parlando di Ruby on Rails.

Ruby è un linguaggio di scripting interpretato orientato agli oggetti creato dal giapponese Yukihiro Matsumoto intorno al 1993. Ma ben più recente è il framework Rails, scritto in Ruby, che ha vita giovane ma che sta già spopolando proponendosi come una piattaforma per lo sviluppo di applicazioni cosidette “Web 2.0″ con tempi e codice ridotti all’osso.

La fama che si è guadagnato è data inoltre dall’uso di Rails per web application reali che rappresentano casi di successo indiscusso : BaseCamp, Odeo, Typo ed altre ancora. Personalmente sviluppo con Rails praticamente dalla sua nascita (seguendo il team di risorse che lo ha svilippato) e lo ritengo un ottimo framework che sposa in maniera perfetta il pattern MVC (Model View Controller) della programmazione ad oggetti con la semplicità e l’efficacia del linguaggio Ruby.

Questo linguaggio ed il suo relativo framework mi hanno permesso di sviluppare applicazioni a costi e tempi ridottissimi e quindi ben vengano prodotti di questo tipo (ne esistono molti altri in commercio per le più disparate tecnologie, da PHP a Python).

Quello che però non condivido nel successo di Ruby o di Rails è che molti credono o peggio ancora affermano, che da sole queste tecnologie possano permettere di creare applicazioni di alto livello o di successo.

Sono convinto e non smetterò MAI di ripeterlo che dietro al successo di un’applicazione o di un software non si celi solo la scelta di una tecnologia, ma la mente e la professionalità tecnica del team di sviluppo che la realizza (legata anche alla bravura dell’area commerciale/comunicativa).

Perciò diffidate sempre da chi dichiara che una tecnologia è meglio di un’altra per sviluppare un’applicazione. Un esempio su tutti: Amazon è realizzata in gran parte in Perl e Mason per quanto riguarda il front end, mentre la parte backend è un mix di C/C++ e Java. E nessuno può negare il suo successo! La mia risposta è quindi : nasce prima lo sviluppatore e poi il suo linguaggio.

Tags:

Categoria: Ruby | Permalink

Commenti

1

La tecnologia migliore è quella che permette allo sviluppatore di produrre un prodotto tecnicamente migliore: questo però non determina il successo dell’applicazione, determina solo una riduzione dei costo di produzione e manutenzione.

Spesso la scelta della tecnologia migliore è una questione soggettiva (entro certi limiti). Certo che se devo sviluppare un software di rendering grafico, Java non è adatto per motivi prestazionali; cosi come per un programmatore esperto di Struts magari passare a Rails per una determinata applicazione non è la scelta migliore.

# - postato da Marcello - 26 Gennaio 2006 - 11:35

2

Sono contento che se ne parli qui di Ruby on rails che fornisce tutti gli strumenti per sviluppare da zero siti molto complessi, anche la libreria di prototype per applicazioni ajax.
Occorre però studiare un pò il linguaggio di ruby il che non è così immediato…

# - postato da Tonyz - 26 Gennaio 2006 - 15:23

3

E’ bello sentirne parlare anche qui.
Se cercate altre informazioni su ruby e rails vi consiglio anche Ruby-it

# - postato da assente - 26 Gennaio 2006 - 18:14

4

@Maurizio:
sono assolutamente d’accordo con te quando dici che un programmatore esperto di Struts continuerà ad usarlo e magari non passerà mai a Rails.

Ma è anche vero che noi sviluppatore tendiamo sempre a sottovalutare l’aspetto produttività. Ci sono scenari e situazioni in cui vale addirittura la pena perdere una giornata su Rails (un programmatore Java in Struts non ci mette di più) e sviluppare il progetto in questione con una tecnologia semplice/rapida/efficace e sopratutta innovativa.
Il discorso è ancora più valido quando si parla di un programmatore che non può vantare anni e anni di esperienza sull’archiettura e l’ingegnerizzazione del software o l’uso di Struts, ma che magari proviene dall’asp o dal php. Ecco che in questo caso Rails ha molto più senso di Struts in quanto la sua curva di apprendimento è ridottisima.
Ma non direi mai di passare in maniera totale da J2EE a Rails in quanto il primo è ormai uno standard molto solido e altamente testato in grandi realtà Enterprise.

Rails è invece un framework di appena sei mesi ma come tale eredita il fascino della giovinezza e delle freschezza.
Personalmente, da utente poco esperto di Struts, preferisco Rails che predilige la scrittura di codice esplicito senza perdersi nelle complesse tele dei file xml per la configurazione dei componenti.
Il mio consiglio per qualsiasi programmatore Java è di avvicinarsi a questo framework, in quanto la sua familiarità con il pattern MVC e l’ORB renderanno il passaggio davvero indolore. E poi giudicare se in alcuni casi e per certi progetti vale ancora la pensa usare Struts ;)

C’è qualcuno che ha fatto il grande salto e che vuole condividere la sua esperienza ?

# - postato da Marco Casario - 26 Gennaio 2006 - 23:16

5

era Marcello, non Maurizio ;)
Sorry !

# - postato da Marco Casario - 26 Gennaio 2006 - 23:19

6

Sto valutando la scrittura di auna applicazione in Ruby on Rails, qualcuno mi può indicare “spannometricamente parlando” quanto tempo ci si potrebbe impiegare a creare una applicazione con le seguenti caratteristiche ?

Area pubblica: utenti guest

- Lingue italiano e inglese
- Navigazione pagine istituzionali (mediante LiveTree o menu a 2/3 livelli)
- Visualizzaz news (suddivise in categorie)
- Documenti pdf (suddivisi per categoria)

Area privata:
- Lingue italiano e inglese
- Visualizzaz news private (suddivise in categorie)
- Documenti pdf privati (suddivisi per categoria)

Area amministrativa

- Lingue italiano e inglese
- Manutenzione menu navigazione pagine
- Editing pagine html wysiwyg
- Gestione upload immagini
- Gestione upload documenti (pubblici e privati suddivisi per categorie)
- Gestione news (pubbliche e private suddivisi per categorie)

# - postato da Tex - 24 Febbraio 2006 - 12:54

7

E’ una lavoro non troppo complesso … Non è facile dare una valutazione temporale senza nemmeno conoscere lo skill delle risorse che svilupperanno il progetto.
Ritengo che uno sviluppatore esperto di RubyonRails se la potrebbe cavare con un mesetto di lavoro.

# - postato da Marco Casario - 24 Febbraio 2006 - 13:09

8

Grazie Marco per la tempestività della risposta (si vede che sviluppi con RoR…)

# - postato da Tex - 24 Febbraio 2006 - 15:25

9

Per informazioni, notizie, snippets in Rails e alcuni tutorial potete consultare Rails on the Road

# - postato da Matteo Alessani - 22 Settembre 2006 - 13:47

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento