Ruby on Rails

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. március 15-én felülvizsgált verziótól ; az ellenőrzések 17 szerkesztést igényelnek .
Ruby on Rails
Típusú webes keretrendszer
Szerző Hansson, David Heinemeyer
Fejlesztő Hansson, David Heinemeyer
Beírva Rubin [2]
Első kiadás 2005. december 13
legújabb verzió
Engedély MIT engedély [3]
Weboldal rubyonrails.org
 Médiafájlok a Wikimedia Commons oldalon

A Ruby on Rails ( RoR ) egy Ruby programozási nyelven írt keretrendszer , amely a Model-View-Controller architektúra mintát valósítja meg webes alkalmazásokhoz , és biztosítja azok integrációját webszerverrel és adatbázis-kiszolgálóval. Nyílt forráskódú , és az MIT licence alatt terjesztik .

David Heinemeier Hansson készítette a Basecamp projektmenedzsment eszköz 37signals - nál végzett munkája alapján, és 2004 júliusában adták ki . 2008. december 23- án a Merb projektcsapat a Rails csapattal közösen létrehozta a Rails 3 következő verzióját, amely mindkét keretrendszer legjobb tulajdonságait egyesíti.

A következő alkalmazásfejlesztési elvek alapján:

Építészet

A Ruby on Rails alkalmazásainak fő összetevői a modell ( angol  modell ), a nézet ( angol  nézet ) és a vezérlő ( angol  vezérlő ). A Ruby on Rails a REST stílust használja webes alkalmazások készítéséhez.

A modell az alkalmazás többi részét objektumorientált adatmegjelenítéssel látja el (például termékkatalógus vagy rendelési lista). A modellobjektumok képesek betölteni és elmenteni az adatokat egy relációs adatbázisba, valamint megvalósítani az üzleti logikát.

A Rails 3 alapértelmezés szerint az ActiveRecord könyvtárat használja a modellobjektumok relációs adatbázis-kezelő rendszerben való tárolására . Versengő analóg – DataMapper. Vannak beépülő modulok a nem relációs adatbázisokkal való munkavégzéshez, például a Mongoid a MongoDB -vel való együttműködéshez .

A nézet a vezérlőtől kapott adatok felhasználásával hozza létre a felhasználói felületet . A nézet a felhasználó adatkezelési kéréseit is továbbítja a vezérlőnek (általában a nézet közvetlenül nem változtatja meg a modellt).

A Ruby on Rails egy nézetet ERB - sablonokkal ír le, amelyek HTML -fájlok további Ruby -kódrészletekkel (Embedded Ruby vagy ERb). A beépített Ruby kód által generált kimenet szerepel a sablonszövegben, ami után az eredményül kapott HTML oldal visszakerül a felhasználóhoz. Az ERB-n kívül még körülbelül 20 sablonozómotor használható, köztük a Haml .

A Rails vezérlője egy logikai halmaz, amely akkor fut le, amikor a szerver HTTP kérést kap. A vezérlő felelős a modell metódusainak meghívásáért, és megkezdi a nézet megjelenítését.

Az internetcím és a vezérlő műveletének (útvonal) való megfelelését a config/routes.rb.

A Ruby on Rails vezérlője egy osztály, amely ActionController::Baseaz asztali alkalmazásokhoz és ActionController::APIaz API-khoz [4] öröklődik . Az adatkezelő nyilvános módszerei az úgynevezett akciók .  Egy művelet gyakran egy külön nézetnek felel meg. Például egy felhasználói kérés meghív egy osztálymetódust , majd a nézetet használja a . admin/indexindexAdminControllerindex.html.erbviews/admin

Integráció

A webszerverekkel való integráció előnyben részesített módja a proxy – webszerver használata proxyként az alkalmazásszerver előtt. A Phusion Passenger modulok kiemelkednek az Apache és nginx szerverekkel való integrációjukból .

A Ruby on Rails a Rack felületet használja , amely lehetővé teszi kevésbé elterjedt mechanizmusok (FCGI, CGI, SCGI) használatát. A Ruby on Rails együttműködhet az Apache- val, a Lighttpd -vel vagy bármely más, FastCGI -t támogató webszerverrel . Fejlesztéshez és hibakereséshez a Puma webszervert (korábban WEBrick , Ruby-ba vagy Mongrelbe ágyazva) használjuk. A MySQL , PostgreSQL , Firebird , DB2 , Oracle és Microsoft SQL Server támogatott adatbázis- kiszolgálóként . A beágyazott SQLite adatbázis is támogatott .

A Windows számára létezik egy Instant Rails disztribúció , amely azonnal be van állítva és készen áll a Rails alkalmazások fejlesztésére, amely magában foglalja az Apache szervert és a MySQL DBMS-t, valamint a RubyInstaller disztribúciót, amely a Ruby és a legújabb verzióit tartalmazza. fejlesztői eszközök. Windows, Linux , macOS platformokhoz létezik egy átfogó BitNami RubyStack [5] telepítő , amely mindent tartalmaz, amire a Rails fejlesztéséhez szüksége lehet, beleértve a Ruby, RubyGems , Ruby on Rails, MySQL, Apache, Mongrel és Subversion alkalmazást.

Ezenkívül a BitNami.org és a JumpBox.com [6] ingyenes VMware lemezképeket kínál kész Linux környezettel az RoR alkalmazások telepítéséhez. Ezek a képek csatlakoztathatók a VM-kiszolgálóhoz, vagy telepíthetők a biztosított felhőben .

Az AJAX -alkalmazások RoR-ban való fejlesztéséhez (az 5.1-es verzió előtt) alapértelmezés szerint a jQuery javascript-keretrendszert használták , de helyette más könyvtárak is használhatók. A Ruby on Rails korai verzióiban (3.1 előtt) az alapértelmezett js keretrendszer a Prototype volt .

Linkkönyvtárak

Beépülő modulként a Ruby on Rails  RubyGems csomagok  ökoszisztémáját használja , amelyeket drágaköveknek  is neveznek . Néhány bővítmény az idők során bekerült az alap Rails disztribúcióba, mint például a Sass és a CoffeeScript ; mások, bár nem szerepelnek az alap disztribúcióban, de facto szabványok a legtöbb fejlesztő számára (például az RSpec egységteszt eszköz).

A Rails 3-as verziójától kezdődően megfigyelhető volt a tendencia, hogy a funkcionalitás egy részét külön "elakadásokba" helyezik, részben a Railsnél gyorsabb fejlődésük miatt, részben a keret könnyebbé tétele miatt.

Néhány lekvár:

Fejlesztő és tesztelő eszközök

A Ruby on Rails alkalmazások létrehozásához különféle szövegszerkesztőket és IDE -ket használnak , többek között:

A Ruby on Rails-t támogató alkalmazástesztelő eszközök közé tartoznak a következők:

Használat

A Ruby on Rails sokat használt olyan népszerű oldalak létrehozásában, mint a Netflix [9] , Bloomberg , Zendesk [9] , Twitter , SoundCloud , Airbnb , Diaspora , Groupon , Basecamp , GitHub , Hulu , Scribd , Kickstarter , Change.org , Bleacher Report [10] , SlideShare , ASKfm , Upwork , Mastodon és mások.

Jegyzetek

  1. Megjelent a Rails 7.0.4, 6.1.7 és 6.0.6! – 2022.
  2. A sínek nyílt forráskódú projektje az Open Hubon: Nyelvek oldala – 2006.
  3. https://github.com/rails/rails/blob/master/README.md
  4. ActionController::API  : [ arch. 2019.02.19. ]. — Ruby on Rails. — Hozzáférés időpontja: 2019.02.19.
  5. BitNami :: RubyStack . Letöltve: 2008. február 22. Az eredetiből archiválva : 2008. február 20..
  6. JumpBox a Ruby on Rails telepítéséhez | Archiválva az eredetiből 2010. január 2-án, JumpBox Virtual Appliances and Applications for Cloud Computing
  7. Community Engine archiválva : 2009. május 28. a Wayback Machine -nél // Közösségi hálózati beépülő modul a Ruby on Railshez
  8. Visual Studio Code Ruby kiterjesztés  : [ arch. 2019.02.19. ]. – Microsoft. — Hozzáférés időpontja: 2019.02.19.
  9. 1 2 5 Kereskedelmi felhasználási esetek továbbra is a Ruby on Rails értékének bizonyítására  : [ arch. 2019.02.19. ]. - Motorgyár, 2018. - április 11. — Hozzáférés időpontja: 2019.02.19.
  10. Kelly Smith. 37 olyan webhely, amelyet szeretsz Ruby On Rails segítségével  : [ arch. 2019.02.19. ]. - Skill Crush, 2018. - április 29. — Hozzáférés időpontja: 2019.02.19.

Irodalom

Linkek