Panoramica IDE per Ruby e Rails

Per chi sviluppa in Ruby on Rails è possibile scegliere fra differenti IDE da utilizzare durante tutta la fase di sviluppo. In questo articolo vengono elencate le IDE per Ruby on Rails attualmente disponibili, cercando di individuare per ognuna i punti di forza e di debolezza. Sono stati prese in esame sia soluzioni Open Source che proprietarie.

Sommario

1. Ruby on Rails IDE: Caratteristiche comuni

Differentemente da un editor di testo un IDE di norma facilita lo sviluppo della propria applicazione rendendo automatiche o facilmente attivabili alcune operazioni di routine specifiche per un linguaggio o per un framework.
IDE per Ruby on Rails - Programmazione assistitaTutte le IDE che andremo a scoprire di seguito hanno alcune caratteristiche in comune:

Colorazione del codice – La lettura del codice scritto nel linguaggio Ruby o in Rails viene facilitato dalla colorazione del codice che mette in evidenza parole chiave e costrutti. Nel caso di Rails è importante oltre alla colorazione del codice Ruby anche la colorazione del codice ERB (il linguaggio di template per la generazione di pagine HTML compreso in Rails) che intervalla codice HTML a codice Ruby.

Generazione assistita di modelli, controller e altre componenti dell’applicazione – Rails offre una serie di script per la generazione automatica del codice; quando ad esempio di crea un nuovo modello con il comando ruby script/generate model Thing… vengono creati file di migration, del modello, delle fixtures e di unit test abbinati a quel modello. Le IDE che andiamo a prendere in considerazione rendono accessibili script di questo tipo tramite interfaccia grafica, rendendo le operazioni più agevoli se non si ha molta dimestichezza con i parametri messi a disposizione.

Esecuzione assistita di task – Ogni progetto Rails ha un numero di task che svolgono determinati compiti (creazione del database, esecuzione dei test, pulizia dei file temporanei, deploy automatizzati). Le IDE che abbiamo preso in esame permettono di avviare queste procedure automatizzate per mezzo di comodi menu a tendina da cui è possibile raggiungere il task desiderato.

Navigazione semplificata del codice – Esiste un legame molto stretto fra controller e relative viste, e fra controller, modelli e view e relativi test. Le IDE prese in considerazione danno la possibilità di navigare il codice utilizzando queste logiche così da avere un percorso agevolato nella scrittura del codice.

Integrazione SCM – Tutte le IDE prese in considerazione offrono, direttamente o tramite l’installazione di plugin dedicati, l’integrazione con gli SCM più diffusi quali SVN, GIT, Preforce. L’utilizzo degli SCM è considerato fondamentale in ogni team di sviluppo moderno e la presenza di simili strumenti è quindi una caratteristica cruciale nella scelta IDE da adottare.

Tutte le IDE per Ruby e Rails prese in esame si sono rivelate stabili e sufficientemente veloci da non compromettere la normale interazione fra lo sviluppatore e il proprio codice, anche se sicuramente non raggiungono i livelli di velocità degli editor per Ruby e Rails di testo che non hanno la pretesa di offrire un’interfaccia grafica per qualsiasi operazione si voglia fare.

2. Netbeans

Netbeans offre pieno supporto a Ruby e Rails dalla versione 6.0. Una delle particolarità più interessanti è la possibilità di scrivere codice utilizzando jRuby, l’implementazione in Java di Ruby, e di utilizzare un web server integrato nella IDE per avere l’applicazione Web in esecuzione in ambiente Java. Ottima anche la funzione di completamento automatico del codice e di individuazione degli errori, funzioni che utilizzano proprio il rapporto privilegiato che Netbeans ha con jRuby. Peri programmatori più esigenti inoltre è possibile attivare il debugger sia su script Ruby che su progetti Rails.

NetBeans è una piattforma estendibile, ed è possibile aggiunge funzionalità installando plugin. Il supporto per Ruby e Rails è fornito come plugin che può essere installato su richiesta anche su una installazione di NetBeans esistente, e d’altro canto è possibile aggiungere nuove funzionalità alla propria installazione di NetBeans per Ruby.

Leggi articolo su Netbeans 6 e Rails oppure Scarica NetBeans dal sito ufficiale.

3. Aptana / RadRails

RadRails è stata la prima IDE apparsa sul mercato esplicitamente dedicarta a Rails, ed è stata poi incorporata nel progetto Aptana che comprende IDE per HTML/CSS, Python, PHP, JavaScript, puntando ad essere una IDE completa per lo sviluppo Web. Si tratta di una estensione di Eclipse, molto diffusa fra gli sviluppatori Java.

Aptana offre tutte le funzionalità base descritte in precedenza è può essere estesa tramite i plugin sviluppati per la piattaforma Eclipse. Per un programmatore che abbia già buona confidenza con Ecplise l’uitlizzo di Aptana per Rails potrebbe essere la soluzione ideale per evitare di dover cambiare del tutto il proprio ambiente di lavoro.

Scarica Aptana dal sito ufficiale.

4. 3rdRail

3rdRail è una delle due soluzioni commerciali prese in esame. 3rd Rails si distingue per la presenza di widzard che accompagnano il programmatore nella stesura del codice ma è a oggi una soluzioni sconsigliata; viste le vicissitudini legate a Borland e Code Gear sembra non essere certo lo sviluppo e il supporto nel tempo per questa piattaforma.

3rdRail come detto è una soluzione commerciale; è stata comunque sviluppata sulla piattaforma Eclipse e il suo utilizzo non dovrebbe quindi essere problematico per chi ha dimestichezza con questa piattaforma.

Accedi al sito ufficiale di 3rdRail

5. JetBrains RubyMine

RubyMine è da poco disponibile nella versione 1.0 ed espone alcune caratteristiche che la pongono come IDE di prima qualità. Il completamento del codice e in generale la gestione di progetti Ruby e Rails risulta essere particolarmente rapida e leggera, senza appesantire troppo la memoria del computer e offrendo risposte agli utenti istantanee. RubyMine vanta un’integrazione con jRuby molto vicina a quella presentata da NetBeans, cosa che rende questa IDE particolarmente adatta per lo sviluppo di soluzioni basate su jRuby e jRuby on Rails.

L’ambiente offerto dalla soluzione di JetBrains è in generale confortevole anche nelle operazioni meno comune. La piattaforma IntellJ si dimostra decisamente flessibile e all’altezza delle aspettative.

Accedi al sito ufficiale di RubyMine.


Tempo di passare a Ruby 1.9

Che il passaggio da Ruby 1.8 a Ruby 1.9 non sarebbe stato immediato era qualcosa di dato per scontato; alcune delle differenze fra le due versioni si ripercuotono sul corretto funzionamento di alcune librerie e l’aggiornamento della moltitudine di applicazioni che utilizzano Ruby 1.8 (soprattutto applicazioni basate su Rails) stenta a manifestarsi per il sano principio per cui se qualcosa funziona, non bisogna provare ad aggiustarlo.

La nuova versione di Ruby offre però alcuni ottimi motivi per essere presa in considerazione:

  • le librerie – o gemme – maggiormente utilizzate sono state aggiornate prontamente dai loro autori per essere compatibili con Ruby 1.9 (Ruby on Rails, Hpricot, …)
  • le performance della nuova versione sono decisamente impressionanti – misurazioni differenti danno fino al 200% di performace in casi d’uso reale
  • miglioramento della gestione dei thread

A tutto questo si aggiunge la comparsa di buona documentazione sia on line sia in forma cartacea.

Se l’upgrade a Ruby 1.9 per progetti già realizzati può essere quindi non conveniente,l’adozione di Ruby 1.9 per i nuovi progetti in sviluppo potrebbe a lungo andare essere la soluzione ideale.

Tanto sui server quanto sulle workstation è possibile installare le due versioni di Ruby – Ruby 1.8 e Ruby 1.9 – da utilizzare in parallelo, quindi perché non iniziare ad utilizzarlo?