Ruby on Rails
Ruby on Rails software | |
---|---|
![]() | |
Genere | Framework per applicazioni web |
Sviluppatore | Rails Core Team. |
Data prima versione | 13 dicembre 2005[1] |
Ultima versione | 7.2.0 (10 agosto 2024) |
Ultima beta | 5.2.0 (27 novembre 2017) |
Sistema operativo | Multipiattaforma |
Linguaggio | Ruby |
Licenza | Licenza MIT (licenza libera) |
Sito web | rubyonrails.org |
Ruby on Rails, spesso chiamato RoR o semplicemente Rails, è un framework open source per applicazioni web scritto in Ruby da David Heinemeier Hansson per conto della 37signals. La sua architettura è fortemente ispirata al paradigma Model-View-Controller (MVC). I suoi obiettivi sono la semplicità e la possibilità di sviluppare applicazioni di concreto interesse con meno codice rispetto ad altri framework. Il tutto con necessità di configurazione minimale.
Rails è principalmente distribuito attraverso RubyGems, che è il formato dei pacchetti e il canale di distribuzione ufficiale per librerie ed applicazioni Ruby.
Siti famosi che usano Ruby on Rails sono Airbnb, Bloomberg, Crunchbase, Dribbble,[2] indiexpo, GitHub,[3] Twitch, Twitter,[4] ed anche Shopify.
Filosofia
[modifica | modifica wikitesto]I principi guida di Ruby on Rails comprendono "don't repeat yourself" e "convention over configuration".
"Don't repeat yourself", in italiano "non ripeterti", è un principio secondo il quale andrebbe evitata qualsiasi forma di ripetizione o ridondanza della logica del software. Ad esempio, utilizzando il modulo Active Record di Rails, le definizioni dei modelli non devono specificare i nomi delle colonne: il framework può estrarli direttamente dal database, dunque riportarli anche nel programma sarebbe ridondante.
Il principio della "Convention over configuration", invece, significa che il programmatore ha bisogno di metter mano alla configurazione soltanto per ciò che differisce dalle convenzioni stabilite dal framework. Ad esempio, se un modello è costituito dalla classe Post
, la corrispondente tabella nel database si chiama posts
. Nel caso in cui il nome della tabella fosse diverso questo deve essere specificato manualmente (set_table_name "blogposts"
, nel caso in cui blogposts
sia il nome della tabella).
Descrizione
[modifica | modifica wikitesto]Le applicazioni in Rails sono organizzate all'interno di una struttura comune di cartelle e file. Secondo il paradigma Model View Controller l'applicazione è divisa in tre parti: Modello, Viste e Controller. La libreria Active Record implementa l'Object-relational mapping in Rails, secondo lo standard consolidato: le tabelle diventano classi, le righe corrispondono a istanze delle classi, mentre le colonne sono convertite in attributi. Le classi hanno metodi per eseguire operazioni sulle tabelle (query) o su singole righe (modifica, inserisci, cancella).
Per visualizzare i contenuti dinamici, le Viste incorporano codice Ruby dal quale è possibile costruire frammenti JavaScript eseguiti nel browser, oppure documenti XML e/o JSON con struttura che ricalca quella del codice Ruby.[5]
Cronologia versioni
[modifica | modifica wikitesto]Versione | Data | Note |
---|---|---|
1.0 | 13 dicembre 2005 | [1] |
1.2 | 19 gennaio 2007 | [6] |
2.0 | 7 dicembre 2007 | [7] |
2.1 | 1º giugno 2008 | [8] |
2.2 | 21 novembre 2008 | [9] |
2.3 | 16 marzo 2009 | [10] |
3.0 | 29 agosto 2010 | [11] |
3.1 | 31 agosto 2011 | [12] |
3.2 | 20 gennaio 2012 | [13] |
4.0 | 25 giugno 2013 | [14] |
4.1 | 8 aprile 2014 | [15] |
4.2 | 19 dicembre 2014 | [16] |
5.0 | 30 giugno 2016 | [17] |
5.1 | 10 maggio 2017 | [18] |
5.2 | 9 aprile 2018 | [19] |
5.3 | 28 marzo 2019 | [20] |
6.0 | 15 agosto 2019 | [21] |
7.0 | 15 dicembre 2021 | [22] |
Note
[modifica | modifica wikitesto]- ^ a b (EN) David Heinemeier Hansson, Rails 1.0: Party like it's one oh oh!, su Ruby on Rails. URL consultato il 1º marzo 2017.
- ^ Shubham Goswami, Django vs Ruby on Rails – The Choice for Mobile App Development, su appsearch.org. URL consultato il 28 novembre 2020.
- ^ Adam Conrad, Episode 471: Jason Meller on Choosing the Right Tech Stack for a Greenfield Project, su SE-Radio.net, IEEE, 3 agosto 2021. URL consultato il 9 novembre 2021.
- ^ https://blog.twitch.tv/en/2022/03/30/breaking-the-monolith-at-twitch/#:~:text=Twitch.tv%20launched%20on%20June,initially%20worked%20well%20for%20Twitch.
- ^ D. Carraro e Prof. M. Moro, Il framework Web Ruby e breve introduzione alla piattaforma di e-learning Canvas (PDF), su unipd.it, Università degli Studi di Padova - Facoltà di Ingegneria, aa. 2012-2013, pp. 15-19. URL consultato il 15 maggio 2019 (archiviato il 2 novembre 2018).
- ^ "Rails 1.2: REST admiration, HTTP lovefest, and UTF-8 celebrations" (archiviato dall'url originale il 2 novembre 2012).. Riding Rails. Retrieved June 9, 2010.
- ^ "Rails 2.0: It's done!".. Riding Rails. Retrieved June 9, 2010.
- ^ Rails 2.1: Time zones, dirty, caching, gem dependencies, caching, etc (archiviato dall'url originale il 2 novembre 2012).. Riding Rails. Retrieved June 9, 2010.
- ^ "Rails 2.2: i18n, HTTP validators, thread safety, JRuby/1.9 compatibility, docs".. Riding Rails. Retrieved June 9, 2010.
- ^ "Rails 2.3: Templates, Engines, Rack, Metal, much more!".. Riding Rails. Retrieved June 9, 2010.
- ^ "Rails 3.0: It's ready!".. Riding Rails. Retrieved August 30, 2010.
- ^ bumping to 3.1.0, su Github.com.
- ^ Preparing for 3.2.0 release, su Github.com.
- ^ Rails 4 in 30’, su blog.wyeworks.com. URL consultato l'11 dicembre 2017 (archiviato dall'url originale il 4 dicembre 2012).
- ^ Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml, su weblog.rubyonrails.org.
- ^ Rails 4.2: Active Job, Asynchronous Mails, Adequate Record, Web Console, Foreign Keys, su Ruby on Rails. URL consultato il 5 dicembre 2015.
- ^ Rails 5.0: Action Cable, API mode, and so much more, su Ruby on Rails. URL consultato il 19 novembre 2016.
- ^ Rails 5.1: Loving JavaScript, System Tests, Encrypted Secrets, and more, su Ruby on Rails. URL consultato il 10 maggio 2017.
- ^ Rails 5.2.3 has been released, su Ruby on Rails. URL consultato il 9 aprile 2018.
- ^ 17.
- ^ (EN) Ruby on Rails 6.0 Release Notes, su Ruby on Rails Guides. URL consultato il 19 agosto 2019.
- ^ (EN) Rails 7.0: Fulfilling a vision, su Ruby on Rails. URL consultato il 30 dicembre 2021.
Voci correlate
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]Wikimedia Commons contiene immagini o altri file su Ruby on Rails
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su rubyonrails.org.
- (EN) Blog ufficiale, su rubyonrails.org.
- Ruby on Rails, su packages.debian.org.
- (EN) Ruby on Rails, su GitHub.
- Repository sorgenti di Ruby on Rails, su github.com.
- "The Rails Doctrine". I principi che guidano lo sviluppo di Ruby on Rails.
- Il libro "Ruby on Rails Tutorial" in italiano. URL consultato l'8 maggio 2015 (archiviato dall'url originale il 18 maggio 2015). Risorsa completa e gratuita per imparare Ruby on Rails.
- Ruby Italia. URL consultato il 17 maggio 2018 (archiviato dall'url originale il 28 ottobre 2017). La comunità di ruby italiana.
- (EN) All-in-one installer for Ruby on Rails, su bitnami.org.
- Heroku. Un IDE basato sul web per gestire e programmare in locale Ruby on Rails.
- (EN) Railscasts. Un sito in cui sono presenti centinaia di podcast di tutorial e "ricette" per imparare Rails.
- ASCIIcasts. URL consultato il 6 aprile 2018 (archiviato dall'url originale il 28 giugno 2010). La versione testuale in italiano dei Railcasts.
Controllo di autorità | GND (DE) 7516633-1 |
---|