Wonderlab è inserita nell’ampio mercato dell’informatica, affiancando e supportando il cliente nei suoi processi di evoluzione. Per farlo si avvale di strumenti e linguaggi che permettono di trovare le soluzioni più performanti ai diversi progetti portati avanti.

Tra questi, troviamo Ruby on Rails, un framework open source per lo sviluppo di web application. Si basa sul linguaggio di programmazione Ruby e l’obiettivo principale è la semplicità e la resa dell’output prodotto, con un forte incremento della produttività software.

Due dei principi fondamentali di Ruby on Rails sono:

- Don’t Repeat Yourself (DRY) – su questo principio ci sta poco da dire: tale framework è nato per ridurre al minimo le replicazioni di codice e permette agli sviluppatori di concentrarsi sulla business logic di un progetto; a tutto il resto ci pensa (quasi) esclusivamente il framework.

- Convention over Configuration – tale principio presuppone che, se si seguono le convenzioni e le configurazioni di Ruby on Rails, lo sviluppo diventa facile, manutenibile e maggiormente produttivo.

La scelta della tecnologia più appropriata per lo sviluppo di una web application è vasta. In giro troviamo una enorme varietà di tecnologie: per scegliere quella giusta bisogna tenere in conto diversi fattori come la curva di apprendimento, la scalabilità, i requisiti degli hosting, la facilità di installazione, la documentazione, e così via.

 

I VANTAGGI DI RUBY ON RAILS

1. Sicurezza

Negli ultimi anni i problemi di sicurezza informatica sono diventati un tema caldo per molte aziende.

Ecco perché, quando si sceglie una tecnologia, è fondamentale tenere in considerazione la sicurezza della propria soluzione futura.

I meccanismi integrati di Ruby on Rails garantiscono che una pagina web o un'applicazione sviluppata con tale framework sia resistente alle vulnerabilità e prevenga le seguenti minacce più comuni:

- Cross-Site Scripting;

- SQL Injection;

- Cross-Site Request Forgery;

- Insecure Direct Object Reference or Forceful Browsing.

2. Semplicità di utilizzo

La sintassi di questa tecnologia è molto intuitiva, compatta e garantisce la massima usabilità ai programmatori.
Gli sviluppatori Ruby on Rails possono scrivere meno codice, rendendo più veloce il processo di creazione di un'applicazione web. Grazie alla leggibilità del framework, non ci sono motivi per aggiungere commenti. Di conseguenza, il codice diventa più comprensibile agli sviluppatori.
Inoltre, poiché i progetti si attengono alle stesse regole e filosofia, i programmatori possono passare da un progetto Rails a un altro in qualsiasi fase di sviluppo.

3. Velocità di sviluppo

Il framework offre un numero significativo di librerie open source gratuite, chiamate gemme, che estendono o modificano le funzionalità esistenti delle web application e aiutano a risolvere molti problemi comuni. Non importa quale funzionalità si desidera integrare: con un'alta probabilità, si trova una gemma per la risoluzione.

Oggi, la quantità di gemme Ruby ha raggiunto oltre 158.700 con oltre 48 miliardi di download.
Oltre alle gemme, il framework fornisce ai programmatori una gamma di estensioni di libreria e classi di utilità, il cosiddetto Active Support che mira a sviluppare sia le applicazioni Rails che la tecnologia stessa.

L'elevata velocità di sviluppo è uno dei motivi principali per cui i proprietari di startup, compresi noi di Wonderlab, optano per Ruby on Rails. Questa tecnologia aiuta a creare applicazioni web di prim'ordine anche con un budget limitato.

4. Community entusiasta

Ruby on Rails è famoso per la sua vivace comunità. I suoi membri attivi contribuiscono all'elaborazione della tecnologia, si aiutano a vicenda e migliorano la base del codice con nuove funzionalità. Creano numerosi siti Web, forum e chat room dedicati al framework, in cui gli sviluppatori possono trovare risposte dai programmatori che hanno riscontrato una problematica simile e ne hanno trovato una soluzione.

Inoltre, la community di Ruby on Rails possiede RailsConf. È il più grande raduno di sviluppatori RoR dove possono condividere la loro esperienza con altri fan di questo framework.

Infine, i membri creano costantemente guide, manuali, lezioni e altro materiale didattico.

5. Compatibilità con i più importanti framework di front-end

Oggi stiamo assistendo alla crescente popolarità di framework front-end come React, Vue e Angular. Questi strumenti sono spesso usati insieme a Ruby on Rails grazie alla facile integrazione di RoR, permettendo lo sviluppo di componenti front-end in modo rapido e senza sforzo.

GLI SVANTAGGI DI RUBY ON RAILS

1. Runtime speed e performance

Questi due parametri sono essenziali quando si pensa al successo di un'applicazione. Con molte app disponibili sul mercato, gli utenti diventano più esigenti. Si aspettano che le applicazioni web vengano caricate rapidamente e senza problemi.

Come mostra uno studio di Google, ogni secondo di ritardo riduce il numero di visualizzazioni di pagina.
La velocità a runtime non è il punto forte di Ruby on Rails: sicuramente sarà sufficiente per piccole app senza milioni di utenti e traffico enorme, ma, quando si costruisce un progetto solido, potrebbe diventare un problema.

Tuttavia, la versione Ruby on Rails 6.0 rilasciata nell'agosto 2019 contiene miglioramenti significativi in termini di sicurezza, nuove funzionalità e prestazioni migliorate. Ad esempio, una delle nuove importanti funzionalità è il supporto per più connessioni di database simultanee; ciò significa che i codificatori RoR possono ora aumentare le prestazioni utilizzando due database per suddividere il flusso di lavoro tra di loro.

2. Mancanza di flessibilità

Con una forte dipendenza tra componenti e moduli, Ruby on Rails è ideale per applicazioni web standard. Tuttavia, quando si tratta di un'app con alcune funzionalità uniche, la personalizzazione può essere impegnativa.

La configurazione del routing, delle migrazioni del database e di altri elementi allungano il processo di creazione di un prodotto. Di conseguenza, si assiste ad un trade off tra originalità dell'app e tempo di sviluppo.

3. Bassa popolarità

Negli ultimi anni, c'è stato un calo della popolarità di Ruby on Rails, dimostrato anche dai dati statistici forniti da Google Trends.

Nonostante il numero crescente di sviluppatori e la comunità di supporto, la tecnologia non è così ampiamente utilizzata come, ad esempio, Laravel per PHP o Django per Python. Il motivo principale è che il framework è noto per la sua ripida curva di apprendimento.

Gli sviluppatori che padroneggiano Ruby on Rails di regola conoscono uno o due linguaggi di programmazione; per gli imprenditori, ciò significa che assumere un'agenzia di sviluppo Ruby on Rails esperta può diventare un processo piuttosto impegnativo, rispetto alla ricerca di una società web PHP, Java o Python. Di converso, gli sviluppatori RoR sono generalmente più esperti e abili.

 

Qualsiasi scelta, anche di natura tecnologica, porta con sé vantaggi e svantaggi: non esiste un singolo strumento in grado di soddisfare ogni esigenza e ciascun framework e linguaggio è ottimizzato su uno specifico caso d'uso. Valutando i trade-off su citati, Wonderlab sceglie Ruby on Rails, preferendo una conseguente ed importante riduzione dei tempi di sviluppo (e quindi dei costi), rispetto alle performance di altri linguaggi.

Articoli del tutorial