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:
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
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 .
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:
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:
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.
rubin | |
---|---|
Emberek | |
IDE |
|
Megvalósítások |
|
Alkalmazások |
|
Könyvtárak és keretrendszerek |
|
Szerver szoftver | |
Egyéb |
|
|