Rubin auf Schienen

Rubin auf Schienen
Ruby On Rails Logo.svg
Originalautor (en) David Heinemeier Hansson
Erstveröffentlichung August 2004; Vor 17 Jahren[1]
Stabile Version
7.0.3.1[2] Edit this on Wikidata / 12. Juli 2022; Vor 17 Tagen
Repository
Geschrieben in Rubin
Größe 57,8 Mb[3]
Typ Webanwendungs ​​-Framework
Lizenz MIT -Lizenz
Webseite RubyonRails.org Edit this on Wikidata

Rubin auf Schienen, oder Schienen, ist ein Server-Seite Webanwendungs ​​-Framework geschrieben in Rubin unter dem MIT -Lizenz. Rails ist a Model View Controller (MVC) Framework, die Standardstrukturen für a bereitstellen Datenbank, a Internetservice, und Webseiten. Es ermutigt und erleichtert die Verwendung von Webstandards wie zum Beispiel JSON oder Xml für die Datenübertragung und Html, CSS und JavaScript Für die Benutzeroberfläche. Neben MVC betont Rails die Verwendung anderer bekannt Softwareentwicklung Muster und Paradigmen, einschließlich Konvention über Konfiguration (Coc), Wiederhole dich nicht (Trocken) und die Aktive Datensatzmuster.[4]

Ruby on Rails 'Entstehung im Jahr 2005 beeinflusste die Entwicklung der Web -App stark durch innovative Funktionen wie nahtlose Datenbank Tisch Kreationen, Migrationen, und Gerüst Ansichten, um eine schnelle Anwendungsentwicklung zu ermöglichen. Ruby on Rails 'Einfluss auf andere Web -Frameworks bleibt heute offensichtlich, wobei viele Frameworks in anderen Sprachen, die ihre Ideen liehen, auch, einschließlich Django in Python; Katalysator in Perl; Laravel, CakePhp und Yii in Php; Gral in Groovig; Phönix in Elixier; Spielen in Scala; und Sails.js in Node.js.

Bekannte Websites, die Ruby on Rails verwenden Airbnb, Bloomberg, Crunchbase, Dribbble,[5] GitHub[6] und Shopify.

Geschichte

David Heinemeier Hansson Extrahierte Ruby an Rails aus seiner Arbeit am Projektmanagement -Tool Basislager Bei der Internetanwendung Gesellschaft 37Signals.[7] Hansson hat im Juli 2004 erstmals Rails als Open Source veröffentlicht, aber nicht teilte verpflichten Rechte an dem Projekt bis Februar 2005. Im August 2006 erreichte der Rahmen einen Meilenstein, wenn Apfel kündigte an, dass es Ruby mit Schienen versenden würde mit Mac OS X V10.5 "Leopard",[8] die im Oktober 2007 veröffentlicht wurde.

Rails Version 2.3 wurde am 15. März 2009 mit großen neuen Entwicklungen in Vorlagen, Motoren, veröffentlicht, Gestell und verschachtelte Modellformen. Vorlagen ermöglichen es dem Entwickler, eine Skelettanwendung mit benutzerdefinierter Anwendung zu generieren Edelsteine und Konfigurationen. Motoren geben Entwicklern die Möglichkeit, Anwendungsstücke mit Routen, Pfaden und Modellen wiederzuverwenden. Mit der Rack Web Server -Schnittstelle und Metall können optimierte Codesteile schreiben, die Action -Controller weiterleiten.[9]

Am 23. Dezember 2008, MerbEin weiterer Rahmen für Webanwendungen wurde gestartet, und Ruby on Rails kündigte an, dass es mit dem MERB -Projekt zusammenarbeiten würde, um "die besten Ideen von Merb" in Rails 3 zu bringen und die "unnötige Duplizierung" in beiden Gemeinden zu beenden.[10] Merb wurde im Rahmen der Rails 3.0 mit Rails zusammengeführt.[11][12]

Rails 3.1 wurde am 31. August 2011 mit reversiblen Datenbankmigrationen, Asset -Pipeline, Streaming, veröffentlicht JQuery als Standard JavaScript Bibliothek und neu eingeführt CoffeeScript und Sass in den Stapel.[13]

Rails 3.2 wurde am 20. Januar 2012 mit einem schnelleren Entwicklungsmodus und einem Routing -Engine (auch als Journey Engine bekannt), automatischer Abfrage erklärt und markiert.[14] Rails 3.2.x ist die letzte Version, die Ruby 1.8.7 unterstützt.[15] Rails 3.2.12 Stützt Ruby 2.0.[16]

Rails 4.0 wurde am 25. Juni 2013 veröffentlicht, in dem russische Puppen -Caching, Turbrolinks, Live -Streaming sowie aktive Ressourcen, aktive Aufzeichnungsbeobachter und andere Komponenten optional erstellt wurden, indem sie als Edelsteine ​​aufgeteilt werden.[17]

Rails 4.1 wurde am 8. April 2014 veröffentlicht, in dem Frühling, Varianten, Enums, Mailer -Voransichten und Secrets.yml vorgestellt wurden.[18]

Rails 4.2 wurde am 19. Dezember 2014 veröffentlicht, um einen aktiven Job, asynchrone E -Mails, angemessene Aufzeichnungen, Webkonsole und fremde Schlüssel.[19]

Rails 5.0 wurde am 30. Juni 2016 veröffentlicht, in dem Aktionskabel, API -Modus und Turbrolinks 5 eingeführt wurden.[20]

Rails 5.0.0.1 wurde am 10. August 2016 mit exklusiver Verwendung von Rails CLI über Rechen und Unterstützung für Ruby Version 2.2.2 und höher veröffentlicht.

Rails 5.1 wurde am 27. April 2017 veröffentlicht und eingeführt JavaScript Integrationsänderungen (Verwaltung von JavaScript -Abhängigkeiten von NPM über Garn, optionale Zusammenstellung von JavaScript verwendet Webpackund ein Umschreiben von Rails UJS, um Vanille JavaScript anstelle von JQuery) zu verwenden, Systemtests verwenden Capybara, verschlüsselte Geheimnisse, parametrisierte Mailer, direkte und aufgelöste Routen und ein Unified Form_With -Helfer, das die Helfer forx_tag/form_for ersetzt.[21]

Rails 5.2 wurde am 9. April 2018 veröffentlicht, in dem neue Funktionen eingeführt wurden, darunter Activestorage, eingebauter Redis-Cache-Store, aktualisierte Rails-Anmeldeinformationen und eine neue DSL, mit der eine Inhaltssicherheitsrichtlinie für eine Anwendung konfiguriert werden kann.[22]

Rails 5.2.2 wurde am 4. Dezember 2018 veröffentlicht und führte zahlreiche Fehlerbehebungen und mehrere logische Verbesserungen ein.[23]

Rails 6.0 wurde am 16. August 2019 veröffentlicht und machte Webpack Standard, Hinzufügen von Mailbox -Routing, Standardeinstellung Online-Rich-Text-Editor, Parallele Tests, Mehrfachdatenbankunterstützung, Mailer -Routing und ein neuer Autoloader.[24]

Rails 6.1 wurde am 9. Dezember 2020 veröffentlicht und fügte die Anschlussschaltung pro Datenabschnitt hinzu, Horizontale Datenbank Sharding, eifrige Belastung aller Assoziationen, delegierte Typen als Alternative zur Eintisch-Vererbung, asynchroner Deletion von Assoziationen, Fehlerobjekten und anderen Verbesserungen und Fehlerbehebungen.[25]

Rails 7.0 wurde am 15. Dezember 2021 freigelassen und ersetzt Node.js und Webpack Mit dem Importieren von Karten für die JavaScript-Verwaltung standardmäßig, ersetzen Turbolinks durch eine Kombination aus Turbo und Stimulus, addiert AT-Work-Verschlüsselung in einen aktiven Datensatz, unter Verwendung von Zeitwerk ausschließlich für das Laden von Code und mehr.[26]

Versionsgeschichte
Ausführung Veröffentlichungsdatum Kompatible Ruby -Version (en)[27][28][29]
Alte Version, nicht mehr gepflegt: 1.0[30] 13. Dezember 2005 1.8.6
Alte Version, nicht mehr gepflegt: 1.2[31] 19. Januar 2007 1.8.6
Alte Version, nicht mehr gepflegt: 2.0[32] 7. Dezember 2007 1.8.6
Alte Version, nicht mehr gepflegt: 2.1[33] 1. Juni 2008 1.8.6
Alte Version, nicht mehr gepflegt: 2.2[34] 21. November 2008 1.8.7 empfohlen; 1.8.6 möglich
Alte Version, nicht mehr gepflegt: 2.3[35] 16. März 2009 1.8.7 empfohlen; 1.8.6 und 1.9.1 möglich
Alte Version, nicht mehr gepflegt: 3.0[36] 29. August 2010 1.9.3 empfohlen; 1.8.7 und 1.9.2 möglich
Alte Version, nicht mehr gepflegt: 3.1[37] 31. August 2011 1.9.3 empfohlen; 1.8.7 und 1.9.2 möglich
Alte Version, nicht mehr gepflegt: 3.2[38] 20. Januar 2012 1.9.3 empfohlen; 1.8.7 und 1.9.2 möglich
Alte Version, nicht mehr gepflegt: 4.0[39] 25. Juni 2013 2.0 bevorzugt; 1.9.3 oder neuer erforderlich
Alte Version, nicht mehr gepflegt: 4.1[18] 8. April 2014 2.0 bevorzugt; 1.9.3 oder neuer erforderlich
Alte Version, nicht mehr gepflegt: 4.2[19] 19. Dezember 2014 2.0 bevorzugt; 1.9.3 oder neuer erforderlich
Alte Version, nicht mehr gepflegt: 5.0[20] 30. Juni 2016 2.2.2 oder neuer
Alte Version, nicht mehr gepflegt: 5.1[21] 10. Mai 2017 2.2.2 oder neuer
Ältere Version, dennoch gepflegt: 5.2[22] 9. April 2018 2.2.2 oder neuer
Ältere Version, dennoch gepflegt: 6.0[24] 16. August 2019 2.5.0 oder neuer
Ältere Version, dennoch gepflegt: 6.1[25] 9. Dezember 2020 2.5.0 oder neuer
Aktuelle stabile Version: 7.0[26] 15. Dezember 2021 3.0 bevorzugt; 2.7.0 oder neuer
Zukünftige Veröffentlichung: 7.1[40] TBD 3.1 bevorzugt; 2.7.0 oder neuer
Legende:
Alte Version
Ältere Version, noch gepflegt
Letzte Version
Neueste Vorschau -Version
Zukünftige Veröffentlichung


Technische Übersicht

Ruby on Rails entwickelt sich radikal aus der Veröffentlichung, um die Verwendung neuer Technologien zu untersuchen und neue Standards im Internet einzusetzen. Einige Funktionen sind in Ruby auf Schienen sehr stabil, während einige zugunsten neuer Techniken ersetzt werden.

Modell-View-Controller-Muster

Das Model View Controller (MVC) Muster ist die grundlegende Struktur für die Organisation von Anwendungsprogrammen.

In einer Standardkonfiguration a Modell Im Ruby on Rails -Framework karten zu einer Tabelle in einer Datenbank und zu einer Ruby -Datei. Zum Beispiel eine Modellklasse Benutzer wird normalerweise in der Datei 'user.rb' im App/Models -Verzeichnis definiert und mit der Tabelle 'Benutzer' in der Datenbank verknüpft. Während Entwickler diese Konvention frei ignorieren und unterschiedliche Namen für ihre Modelle, Dateien und Datenbanktabellen auswählen, ist dies keine übliche Praxis und wird normalerweise gemäß der "entmutigt" "Konvention über Konfiguration"Philosophie.

A Regler ist eine serverseitige Komponente von Schienen, die auf externe Anforderungen des Webservers zur Anwendung reagiert, indem er feststellt, welche Ansichtsdatei zu rendern ist. Der Controller muss möglicherweise auch ein oder mehrere Modelle für Informationen abfragen und diese an die Ansicht weitergeben. Beispielsweise müsste in einem Flugreservierungssystem ein Controller, der eine Flugsuche-Funktion implementiert, ein Modell abfragen, das einzelne Flüge darstellt, um Flüge zu finden, die mit der Suche übereinstimmen, und möglicherweise auch Modelle abfragen, die Flughäfen und Fluggesellschaften darstellen, um verwandte Sekundärdaten zu finden. Der Controller kann dann eine Teilmenge der Flugdaten an die entsprechende Ansicht übergeben, die eine Mischung aus statischer HTML und Logik enthalten würde, mit der die Flugdaten ein HTML -Dokument erstellt werden, das eine Tabelle mit einer Zeile pro Flug enthält. Ein Controller kann eine oder mehrere Aktionen liefern. In Ruby on Rails ist eine Aktion in der Regel eine einfache Einheit, die beschreibt, wie auf eine bestimmte externe Webbrowseranforderung reagiert werden. Beachten Sie auch, dass der Controller/die Aktion nur für externe Webanforderungen zugänglich ist, wenn eine entsprechende Route darauf zugeordnet ist. Rails ermutigt Entwickler, sie zu verwenden Erholsam Routen, die Aktionen wie Erstellen, Neue, Bearbeiten, Update, Zerstören, Zeigen und Index enthalten. Diese Zuordnungen für eingehende Anforderungen/Routen zu Controller -Aktionen können einfach in der Konfigurationsdatei von Routen.RB eingerichtet werden.

A Aussicht In der Standardkonfiguration von Rails ist ein Erb Datei, die bewertet und konvertiert wird auf Html zur Laufzeit. Alternativ können viele andere Vorlagensysteme für Ansichten verwendet werden.

Ruby on Rails enthält Werkzeuge, die gemeinsame Entwicklungsaufgaben "out-of-the-Box" erleichtern, wie z. Gerüst Dies kann einige der Modelle und Ansichten automatisch konstruieren, die für eine Basis benötigt werden Webseite.[41] Ebenfalls enthalten sind Webrick, ein einfacher Ruby -Webserver, der mit Ruby verteilt ist, und Rechen, ein Build -System, verteilt als Juwel. Diese Tools bieten zusammen mit Ruby on Rails eine grundlegende Entwicklungsumgebung.

HTTP -Server

Ruby on Rails ist am häufigsten nicht direkt mit dem Internet verbunden, sondern durch ein Front-End Webserver. Mischling wurde im Allgemeinen bevorzugt[von wem?] über Webrick in den frühen Tagen, aber es kann auch weiterlaufen LightTpd, Apache, Cherokee, Hiawatha, Nginx (entweder als Modul - PHUSION PUSCH Zum Beispiel - oder über CGI, Fastcgi oder Mod Ruby), und viele andere. Ab 2008 ersetzte der Passagier Mischglasse als am häufigsten verwendeten Webserver für Ruby on Rails.[42] Ruby wird auch nativ auf Ibm i.[43]

JavaScript

Ruby on Rails ist auch bemerkenswert für die umfassende Verwendung der JavaScript Bibliotheken Prototyp und Script.aculo.us zum Skripten Ajax Aktionen.[44] Ruby on Rails nutzte zunächst leichtes Gewicht SEIFE für Webdienste; Dies wurde später durch erholsame ersetzt Internetdienste. Ruby on Rails 3.0 trennt das Markup der Seite (die die Struktur der Seite definiert) von Skripts (die die Funktionalität oder Logik der Seite bestimmt). JQuery wird als Ersatz für Prototypen vollständig unterstützt und ist die Standard-JavaScript-Bibliothek in Rails 3.1, die einen branchenweiten Schritt in Richtung JQuery widerspiegelt. Zusätzlich, CoffeeScript wurde in Rails 3.1 als Standard -JavaScript -Sprache eingeführt.

Internetdienste

Seit Version 2.0 bietet Ruby on Rails sowohl HTML als auch XML als Standardausgangsformate an. Letzteres ist die Einrichtung für erholsame Webdienste.

CSS

Rails 3.1 eingeführt Sass als Standard CSS Vorlagen.

Schablone

Standardmäßig verwendet der Server Rubin eingebettet In den HTML -Ansichten mit Dateien mit einer HTML.ERB -Erweiterung. Schienen unterstützen alternative Vorlagensprachen, wie z. Haml und Schnurrbart.

Ruby -Versionen

Ruby on Rails 3.0 wurde entwickelt, um mit Ruby 1.8.7, Ruby 1.9.2 und zu arbeiten Jruby 1.5.2+; Frühere Versionen werden nicht unterstützt.[45]

Ruby on Rails 3.2 ist die letzte Reihe von Veröffentlichungen, die Ruby 1.8.7 unterstützen.

Rahmenstruktur

Ruby on Rails ist in verschiedene Pakete unterteilt, nämlich Aktiver Rekord (ein Objektrelationskartierung System für Datenbankzugriff), Aktionspaket, aktiver Support und Aktion Mailer. Vor der Version 2.0 enthielt Ruby on Rails auch das Action -Web -Service -Paket, das jetzt durch aktive Ressource ersetzt wird. Abgesehen von Standardpaketen können Entwickler machen Plugins Um vorhandene Pakete zu erweitern. Frühere Schienen unterstützten Plugins in ihrem eigenen benutzerdefinierten Framework. Version 3.2 verwertet diese zugunsten von Standard -Ruby "Edelsteinen".[46]

Einsatz

Ruby on Rails wird häufig mit Verwendung installiert Rubygemems, ein Paketmanager[47] Dies ist in aktuellen Versionen von Ruby enthalten. Viele frei Unix-ähnliche Systeme Unterstützen Sie auch die Installation von Ruby auf Rails und seinen Abhängigkeiten durch ihren Eingeborenen Paketverwaltungssystem.

Ruby on Rails wird normalerweise mit einem Datenbankserver bereitgestellt, wie z. Mysql oder PostgreSQLund ein Webserver wie z. Apache Ausführen der PHUSION PUSCH Modul.

Philosophie und Design

Ruby on Rails soll hervorheben Konvention über Konfiguration (Coc) und die Wiederhole dich nicht (Trocken) Prinzip.

Die Schienenlehre ist ein dauerhaftes Ermöglicher, das die Philosophie, das Design und die Umsetzung des Ruby on Rails -Frameworks führt.

"Übereinkommen über Konfiguration" bedeutet, dass ein Entwickler nur unkonventionelle Aspekte der Anwendung angeben muss. Zum Beispiel, wenn es eine Klasse gibt Verkauf Im Modell wird die entsprechende Tabelle in der Datenbank aufgerufen Verkauf standardmäßig. Nur wenn man von dieser Konvention abweicht, wie beispielsweise die Tabelle "verkauft", muss der Entwickler Code zu diesen Namen schreiben. Im Allgemeinen führen Ruby on Rails Conventions zu weniger Code und weniger Wiederholung.[48]

"Wiederholt dich nicht" bedeutet, dass sich Informationen an einem einzigen, eindeutigen Ort befinden. Zum Beispiel die Verwendung der Aktiver Rekord Modul von Schienen, der Entwickler muss in Klassendefinitionen keine Datenbankspaltennamen angeben. Stattdessen kann Ruby on Rails diese Informationen basierend auf dem Klassennamen aus der Datenbank abrufen.

"Fettmodelle, dünne Controller" bedeutet, dass der größte Teil der Anwendungslogik innerhalb des Modells platziert werden sollte, während der Controller so leicht wie möglich bleibt.

HTML über dem Draht (Hotwire),[49][50] Konzeptionelle Komprimierung,[51][52] und robuste Sicherheit[53] Markieren Sie den Ansatz von Rails 7.0 für den Rahmen einer Person.[a]

Warenzeichen

Im März 2007, David Heinemeier Hansson angewendet, um drei Rubin auf Rails zu registrieren Warenzeichen mit dem USPTO. Diese Anwendungen betreffen den Ausdruck "Ruby on Rails".[55] Das Wort "Rails",[56] und das offizielle Rails -Logo.[57] Im Sommer 2007 bestritt Hansson den Verlag Apress Erlaubnis, das Ruby on Rails -Logo auf dem Cover eines neuen Ruby on Rails -Buches ein paar maßgeblichen Community -Mitglieder zu verwenden. Die Episode führte zu einem höflichen Protest im Ruby on Rails -Community.[58][59] Als Reaktion auf diese Kritik antwortete Hansson:

Ich ertrage nur die Werbeverwaltung [des Rails -Logos] für Produkte, an denen ich direkt beteiligt bin. Wie Bücher, die ich Teil des Entwicklungsprozesses für oder Konferenzen war, bei denen ich ein Mitspracherecht in der Ausführung habe. Ich würde auf jeden Fall versuchen, alle Marken von Schienen durchzusetzen.[58]

Die Marke des Logos wurde am 25. Oktober 2019 abgesagt.[57]

Rezeption

Skalierbarkeit

In früheren Tagen rennen Schienen weiter Matz 'Ruby Interpreter (das de facto Referenzdolmetscher für Ruby) wurde wegen Problemen mit Skalierbarkeit kritisiert.[60] Diese Kritiker erwähnten oft verschiedene Twitter Ausfälle in den Jahren 2007 und 2008, was den teilweise Übergang von Twitter zu Scala (das läuft auf der Java virtuelle Maschine) für ihre Warteschlangensystem und andere Middleware.[61][62] Die Benutzeroberflächenaspekte der Site haben Ruby weiterhin auf Schienen durchgeführt[63] Bis 2011, als es aufgrund von Bedenken hinsichtlich der Leistung ersetzt wurde.[64] Auf der anderen Seite stützten sich viele Entwickler von Rails Business Application auf das Design der Systemarchitektur, einschließlich der Auswahl der Datenbank -Engine, der Cache -Konfiguration und der Server, um Skalierbarkeitsprobleme zu lösen. Der ursprüngliche Autor von Rails, David Heinemeier Hansson, kritisierte Twitter und sagte, dass ihre Probleme mit der Skalierung der Konsequenzen ihrer eigenen schlechten architektonischen Entscheidungen und nicht der Schuld von Rails seien. Laut Hansson ist es undankbar und ungerecht, dass die Schuld für ihre Probleme für ihre Probleme verantwortlich ist.[65]

In 2011, Gartner -Forschung Es stellte fest, dass viele hochkarätige Verbraucher-Webfirmen trotz Kritikpunkten und Vergleiche mit Java Ruby on Rails verwenden, um skalierbare Webanwendungen aufzubauen. Einige der größten Standorte, die Rubin auf Schienen laufen Airbnb, Cookpad, GitHub, Scribd, Shopify, und Basislager.[66] Ab Januar 2016 wird geschätzt, dass mehr als 1,2 Millionen Websites Ruby auf Rails betreiben.[67][68]

Sicherheit

Im März 2012 entdeckte der Sicherheitsforscher Egor Homakov a Verwundbarkeit der Massenzuordnung Dadurch konnten bestimmte Rails-Anwendungen aus der Ferne ausgenutzt werden, und demonstrierte sie durch nicht-malisches Hacken GitHub Nach seinen früheren Versuchen einer verantwortungsvollen Offenlegung wurden abgewiesen.[69]

Am 24. September 2013 wurde in Ruby on Rails ein Session -Cookie Persistence -Sicherheitsfehler gemeldet. In einer Standardkonfiguration wird der gesamte Sitzungs -Hash in einem Sitzungs Cookie gespeichert Cookiestore, damit eine authentifizierte Sitzung mit dem Sitzungs -Cookie jederzeit in Zukunft als Zielbenutzer angemeldet ist. Als Problemumgehung wird Administratoren empfohlen, Cookies zu konfigurieren, die auf dem Server unter Verwendung von Mechanismen wie z. ActivereCordStore.[70]

Die Forscher Daniel Jackson und Joseph in der Nähe entwickelten einen Datendebugger, den sie als "Raum" bezeichneten, der den Datenzugriff eines Rails -Programms analysieren und feststellen kann, ob das Programm ordnungsgemäß Regeln für Zugriffsbeschränkungen einhält. Am 15. April 2016 berichtete in der Nähe, dass eine Analyse von 50 beliebten Webanwendungen unter Verwendung von Space 23 bisher unbekannte Sicherheitsfehler entdeckt hatte.[71]

Anmerkungen

  1. ^ Ruby on Rails Version 7.0 ermöglicht das Ein-Personen-Framework (von dem die einseitige Anwendung ein Ansatz ist) [54]

Verweise

  1. ^ "Rails 1.0: Party wie es einer ist, oh oh!". weblog.rubyonrails.org. 13. Dezember 2005. Abgerufen 1. März 2017.
  2. ^ "Rails -Versionen 7.0.3.1, 6.1.6.1, 6.0.5.1 und 5.2.8.1 wurden veröffentlicht!". 12. Juli 2022. Abgerufen 15. Juli 2022.
  3. ^ "Release v6.0.3.4 · Schienen/Schienen · Github". GitHub. Abgerufen 16. Dezember 2019.
  4. ^ "Erste Schritte mit Rails: Was ist Rails?". Guides.RubyonRails.org. Abgerufen 10. August 2014.
  5. ^ Goswami, Shubham. "Django gegen Ruby on Rails - die Wahl für die Entwicklung der mobilen App". AppSearch.org. Abgerufen 28. November 2020.
  6. ^ Conrad, Adam (3. August 2021). "Episode 471: Jason Meller über die Auswahl des richtigen Tech -Stacks für ein Greenfield -Projekt". Se-radio.net. IEEE. Abgerufen 9. November 2021.
  7. ^ Grimmer, Lenz–– (Februar 2006). "Interview mit David Heinemeier Hansson von Ruby on Rails". Mysql ab. Archiviert von das Original am 25. Februar 2013. Abgerufen 8. Juni 2008.
  8. ^ Hansson, David (7. August 2006). "Ruby on Rails wird mit OS X 10,5 (Leopard) versendet". weblog.rubyonrails.org. Abgerufen 8. Juni 2008.
  9. ^ Hansson, David (16. März 2009). "Rails 2.3: Vorlagen, Motoren, Rack, Metall, viel mehr!". weblog.rubyonrails.org.
  10. ^ "Der Tag, an dem Merb zu Rails kam". Rubyonrails.org. 27. Dezember 2008. archiviert von das Original am 9. Februar 2013.
  11. ^ "Ruby on Rails 3.0 Freisetzungsnotizen - Ruby on Rails Guides". EdgeGuides.RubyonRails.org. Abgerufen 24. Mai 2017.
  12. ^ "Ruby on Rails 3.0 geht modular". sdtimes.com. 10. Februar 2010. Abgerufen 6. August 2010.
  13. ^ "Ruby on Rails 3.1 Release -Notizen". Guides.RubyonRails.org. 1. September 2012.
  14. ^ "Ruby on Rails 3.2 Release -Notizen". Guides.RubyonRails.org. 1. September 2012.
  15. ^ "Rails/Master ist jetzt 4.0.0.beta". weblog.rubyonrails.org. 1. September 2012.
  16. ^ Rails 3.2.x ist jetzt mit Ruby 2.0.0 von Sikachu · Pull -Anforderung #9406 · Schienen/Schienen · GitHub kompatibel. Github.com. Abgerufen am 2014-05-30.
  17. ^ "Rails 4.0: Endversion veröffentlicht!". weblog.rubyonrails.org. 25. Juni 2013. Abgerufen 24. Mai 2017.
  18. ^ a b "Rails 4.1.0: Frühling, Varianten, Enums, Mailer -Vorschau, secrets.yml". weblog.rubyonrails.org. 8. April 2014.
  19. ^ a b "Rails 4.2: aktiver Job, asynchrone Mails, angemessene Aufzeichnungen, Webkonsole, ausländische Schlüssel". weblog.rubyonrails.org. 19. Dezember 2014. Abgerufen 5. Dezember 2015.
  20. ^ a b "Rails 5.0: Aktionskabel, API -Modus und vieles mehr". weblog.rubyonrails.org. 30. Juni 2016. Abgerufen 19. November 2016.
  21. ^ a b "Rails 5.1: liebevolles JavaScript, Systemtests, verschlüsselte Geheimnisse und mehr". weblog.rubyonrails.org. 27. April 2017. Abgerufen 10. Mai 2017.
  22. ^ a b "Rails 5.2.0 Finale: Active Storage, Redis Cache Store, http/2 frühe Hinweise, CSP, Anmeldeinformationen". weblog.rubyonrails.org. 9. April 2018. Abgerufen 9. April 2018.
  23. ^ Rafaelfranca (4. Dezember 2018). "Rails 5.2.2 wurde veröffentlicht!". weblog.rubyonrails.org. Abgerufen 4. Januar 2019.
  24. ^ a b DHH (19. August 2019). "Rails 6.0: Action -Mailbox, Aktionstext, mehrere DBs, parallele Tests, standardmäßig Webpacker und Zeitwerk". weblog.rubyonrails.org. Abgerufen 12. November 2019.
  25. ^ a b Eileencodes (9. Dezember 2020). "Rails 6.1: Horizontales Sharding, Multi-DB-Verbesserungen, strenge Belastung, Zerstören von Assoziationen in Hintergrund, Fehlerobjekten und mehr!". weblog.rubyonrails.org. Abgerufen 28. Dezember 2020.
  26. ^ a b DHH (15. Dezember 2021). "Rails 7.0: Erfüllung einer Vision". weblog.rubyonrails.org. Abgerufen 16. Dezember 2021.
  27. ^ "Ruby/Rails -Kompatibilitätsmatrix". Devalot.com. Abgerufen 5. März 2021.
  28. ^ "Rubin auf Rails aufrüsten". Guides.RubyonRails.org. Abgerufen 5. März 2021.
  29. ^ "Rubin auf Rails aufrüsten". EdgeGuides.RubyonRails.org. Abgerufen 5. März 2021.
  30. ^ "Rails 1.0: Party wie es einer ist, oh oh!". weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  31. ^ "Rails 1.2: REST-Admiration, HTTP Lovefest und UTF-8-Feierlichkeiten" Archiviert 2012-11-02 bei der Wayback -Maschine. weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  32. ^ "Rails 2.0: Es ist fertig!". weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  33. ^ Rails 2.1: Zeitzonen, schmutzig, Caching, Edelsteinabhängigkeiten, Caching usw. Archiviert 2012-11-02 bei der Wayback -Maschine. weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  34. ^ "Rails 2.2: I18N, HTTP -Validatoren, Gewindesicherheit, Jruby/1.9 Kompatibilität, Dokumente". weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  35. ^ "Rails 2.3: Vorlagen, Motoren, Rack, Metall, viel mehr!". weblog.rubyonrails.org. Abgerufen am 9. Juni 2010.
  36. ^ "Rails 3.0: Es ist bereit!". weblog.rubyonrails.org. Abgerufen am 30. August 2010.
  37. ^ "Stoff auf 3.1.0". Github.com.
  38. ^ "Vorbereitung auf 3.2.0 Release". Github.com.
  39. ^ "Rails 4 in 30 '". blog.wyeWorks.com.
  40. ^ França, Rafael. "Start Rails 7.1 Entwicklung". Github. Abgerufen 24. Februar 2022.
  41. ^ Sean Lynch (15. Dezember 2007). "FairLeads: Rails 2.0 und Gerüst Schritt für Schritt". Fairleads.blogspot.com. Abgerufen 24. Mai 2017.
  42. ^ "Ruby on Rails: Einsatz". Rubyonrails.org. Archiviert von das Original am 7. Juli 2009. Abgerufen 3. Dezember 2012.
  43. ^ Maxcer, Chris. "PowerRuby bringt Enterprise Ruby auf die Rails -Unterstützung für IBM I". IPRO -Entwickler. Archiviert von das Original am 9. Oktober 2013. Abgerufen 9. Mai 2014.
  44. ^ Js_esescape_map. "ActionView :: Helpers :: JavascripThelper". Api.rubyonrails.org. Abgerufen 24. Mai 2017.
  45. ^ "Rails 3.0: Es ist bereit!". weblog.rubyonrails.org. 29. August 2010. Abgerufen 30. August 2010. Rails 3.0 wurde für die Arbeit mit Ruby 1.8.7, Ruby 1.9.2 und JRUBY 1.5.2+ entwickelt.
  46. ^ "Rails 3.2.0.RC2 wurde veröffentlicht!". weblog.rubyonrails.org. 1. September 2012.
  47. ^ "Ruby on Rails: Download". Rubyonrails.org. Archiviert von das Original am 12. Dezember 2009.
  48. ^ "Erste Schritte mit Rails". Guides.RubyonRails.org. Abgerufen 10. März 2014.
  49. ^ David Heinemeier Hansson (7. Dezember 2021) Die Zeit für Hotwire ist richtig
  50. ^ David Heinemeier Hansson (6. September 2021) Rails 7 hat drei großartige Antworten auf JavaScript über 2021+
  51. ^ David Heinemeier Hansson (19. April 2018) Konzeptionelle Komprimierung bedeutet, dass Anfänger SQL - Hallelujah nicht kennen müssen!
  52. ^ David Heinemeier Hansson (15. Mai 2018) Railsconf 2018: Eröffnung Keynote: Fixme von David Heinemeier Hansson Konzeptionelle Komprimierung
  53. ^ David Heinemeier Hansson (31. August 2020) Schwere Sicherheit
  54. ^ David Heinemeier Hansson, Schöpfer von Ruby on Rails und Hey.com (19. Dezember 2021) Ruby on Rails Creator setzt 7.0 als ein-Personen-Framework an, so wie es früher war "
  55. ^ ""Ruby on Rails" Markenzeichenstatus ". USPTO. Abgerufen 15. Dezember 2021.
  56. ^ ""Rails" Markenstatus ". USPTO. Abgerufen 15. Dezember 2021.
  57. ^ a b "Rails Logo Markenzeichen". USPTO. Abgerufen 15. Dezember 2021.
  58. ^ a b FODE, Pete (23. Juli 2007). "Anfänger Rails: Vom Anfänger zum Profi". Archiviert von das Original am 5. August 2007. Abgerufen 1. August 2007.
  59. ^ Cooper, Peter (24. Juli 2007). "David Heinemeier Hansson sagt nein, um das Rails -Logo zu verwenden.". Abgerufen 1. August 2007.
  60. ^ "5 Frageninterview mit Twitter -Entwickler Alex Payne". radicalBehavior.com. 29. März 2007. archiviert von das Original am 23. April 2009. Abgerufen 4. November 2014. Nach verschiedenen Metriken ist Twitter derzeit die größte Rails -Site im Internet. Das Laufen auf Rails hat uns gezwungen, mit Skalierungsproblemen zu behandeln - Probleme, mit denen jeder wachsende Standort schließlich kämpft - weit früher als ich denke, wir würden es in einem anderen Rahmen tun.
  61. ^ Steve Jenson; Alex Payne & Robey Pointer Interview (3. April 2009). "Twitter auf Scala". artima.com. Abgerufen 18. Juli 2009. Wir hatten ein Ruby-Basis-Warteschlangensystem, das wir für die Kommunikation zwischen den Rails-Frontenden und den Daemons verwendeten, und wir ersetzten das durch einen in Scala geschriebenen. Der Ruby One arbeitete tatsächlich ziemlich anständig in einem normalen stationären Zustand, aber die Startzeit und das Crashverhalten waren unerwünscht.
  62. ^ "Twitter Jilts Ruby für Scala". dadurch.co.uk. 1. April 2009. Abgerufen 18. Juli 2009. Bis Ende dieses Jahres hofft Twitter, dass Twitter seine gesamte Middleware -Infrastruktur und seine APIs auf die neue Sprache portiert. Ruby bleibt bleiben, aber nur am vorderen Ende. "Wir sind immer noch zufrieden mit Rails für den Aufbau von Benutzern zu Features ... leistungsfähig, es ist in Ordnung für Leute, die auf Webseiten klicken. Es ist das schwere Heben, asynchrone Verarbeitungstypen, von denen wir uns weggezogen haben."
  63. ^ Ryan King (25. September 2009). "Twitter auf Ruby". Evan Weaver. Abgerufen 29. September 2009. Wir verwenden Scala für ein paar Dinge bei Twitter, aber der Großteil der Website ist Ruby.
  64. ^ "Die Twitter -Suche ist jetzt 3x schneller". Twitter. Abgerufen 6. Juni 2014.
  65. ^ "Ich werde dich nicht für meine Open Source bezahlen lassen". Abgerufen 15. Dezember 2021.
  66. ^ "Hier ist, warum Ruby on Rails heiß ist". Geschäftseingeweihter. Archiviert von das Original am 21. Dezember 2011. Abgerufen 10. Februar 2012.
  67. ^ "Ruby on Rails -Nutzungsstatistik". trends.builtwith.com. Abgerufen 4. Januar 2016.
  68. ^ "Ruby on Rails Token -Nutzungsstatistik". trends.builtwith.com. Abgerufen 4. Januar 2016.
  69. ^ Protalinski, Emil. "Wie Github gehackt wird". Zdnet.com. Abgerufen 24. Mai 2017.
  70. ^ Brook, Chris (25. September 2013). "Sicherheitsproblem in Ruby on Rails könnte Cookies entlarven". Bedrohung Post. Der Kaspersky Lab Security News Service. Abgerufen 4. Juni 2014.
  71. ^ "Webanwendungen impatieren". MIT Nachrichten. Abgerufen 21. April 2016.

Literaturverzeichnis

Externe Links