Arstechnica parla di RubyMotion progetto per iOS di Laurent Sansonetti, uno sviluppatore che ha già curato il progetto open source denominato MacRuby, un interprete Ruby per il runtime Object-C che consente di collegare l’ecosistema Ruby/ Cocoa. Sansonetti ha recentemente lasciato Apple (dove ha lavorato negli ultimi sette anni) per fondare una startup denominata HipByte. Il primo prodotto annunciato è il kit di sviluppo software RubyMotion che permette agli sviluppatori la costruzione di applicazioni iOS usando il linguaggio di programmazione Ruby, linguaggio altamente dinamico e orientato agli oggetti, apprezzato per la sintassi, orientata alla produttività e all’espressività.
RubyMotion è realizzato partendo dall’implementazione utilizzata per MacRuby ma sfrutta un nuovo compilatore statico LLVM-based grazie al quale il codice Ruby è convertito in codice macchina altamente ottimizzato. Stando a quanto riferisce Arstechnica il compilatore genera applicazioni estremamente ottimizzate senza i limiti di performance o lo spreco di risorse che in genere determina il codice Ruby.
Le applicazioni sviluppate con RubyMotion sono eseguite alla stregua di equivalenti applicazioni Objective-C e impiegano durante l’esecuzione analoghe risorse hardware. Le applicazioni sono conformi alle specifiche di Apple per l’App Store e a detta di Sansonetti molte sono le app che hanno già superato le procedure di approvazione di Apple obbligatorie prima della comparsa sullo store.
Le API standard iOS sono disponibili nelle applicazioni RubyMotion, il che significa che tutto l’insieme di procedure disponibili agli sviluppatori Objective-C per iOS sono disponibili anche agli sviluppatori Ruby. Le applicazioni possono allo stesso modo sfruttare il look&feel tipico della piattaforma poiché le interfacce utente si creano partendo dallo stesso set standard di widget UIKit (lo strumento che consente di creare e gestire le funzioni dell’interfaccia grafica, come finestre e pulsanti, insieme alle funzioni di lettura e interpretazione del multitouch).
Anziché legare RubyMotion all’IDE Apple, Sansonetti offre un set a linea di comando che supporta il flusso di lavoro tradizionale dello sviluppo in Ruby. Il comando “motion” consente di generare un nuovo progetto da un template con la cartella per l’app completa di codice, risorse grafiche e altri elementi (qualunque file .rb inserito nella cartella “app” è automaticamente compilato in un’applicazione finita). RubyMotion sfrutta Rake, libreria equivalente a “make”, con opzioni che consentono di specificare i framework da includere e gestire altri aspetti che hanno a che fare con la configurazione dell’applicazione. Avviando il comando “rake” dalla linea di comando, l’applicazione è compilata ed eseguita nel simulatore iOS. È possibile creare package .ipa per la distribuzione sull’App Store ed è ovviamente necessario essere sviluppatori registrati per testare l’applicazione sui dispositivi veri e propri.
Una licenza RubyMotion, comprensiva di un anno di aggiornamenti, costerà 199.99$; i primi utilizzatori hanno la possibilità al momento di ottenerla al prezzo scontato di 149.99$. Sul sito degli sviluppatori sono presenti alcuni screencast con vari interessanti dettagli.
[A cura di Mauro Notarianni]