Ruby on Rails

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 15 martie 2021; verificările necesită 17 modificări .
Ruby on Rails
Tip de cadru web
Autor Hansson, David Heinemeyer
Dezvoltator Hansson, David Heinemeyer
Scris in rubin [2]
Prima editie 13 decembrie 2005
ultima versiune
Licență Licență MIT [3]
Site-ul web rubyonrails.org
 Fișiere media la Wikimedia Commons

Ruby on Rails ( RoR ) este un cadru scris în limbajul de programare Ruby care implementează modelul arhitectural Model-View-Controller pentru aplicații web și oferă, de asemenea, integrarea acestora cu un server web și un server de baze de date. Este open source și distribuit sub licența MIT .

Creat de David Heinemeier Hansson pe baza muncii sale la 37signals pe instrumentul de management de proiect Basecamp și lansat în iulie 2004 . Pe 23 decembrie 2008, echipa de proiect Merb a făcut echipă cu echipa Rails pentru a crea următoarea versiune a Rails 3, care va combina cele mai bune caracteristici ale ambelor cadre.

Pe baza următoarelor principii de dezvoltare a aplicațiilor:

Arhitectură

Principalele componente ale aplicațiilor din Ruby on Rails sunt modelul (modelul englezesc )  , vizualizarea ( vizualizarea în engleză ) și controlerul ( controlerul englezesc ). Ruby on Rails folosește stilul REST de a construi aplicații web.   

Modelul oferă restului aplicației o afișare orientată pe obiect a datelor (cum ar fi un catalog de produse sau o listă de comenzi). Obiectele model pot încărca și salva date într-o bază de date relațională și, de asemenea, pot implementa logica de afaceri.

Rails 3 folosește biblioteca ActiveRecord pentru a stoca obiecte model într-un SGBD relațional în mod implicit . Analogic concurent — DataMapper. Există pluginuri pentru lucrul cu baze de date non-relaționale , cum ar fi Mongoid pentru lucrul cu MongoDB .

Vizualizarea creează interfața cu utilizatorul folosind datele primite de la controler. Vizualizarea transmite și cererile utilizatorului pentru manipularea datelor către operator (în general, vizualizarea nu schimbă direct modelul).

În Ruby on Rails, o vizualizare este descrisă folosind șabloane ERB , care sunt fișiere HTML cu incluziuni suplimentare de fragmente de cod Ruby (Embedded Ruby sau ERb). Ieșirea generată de codul Ruby inline este inclusă în textul șablonului, după care pagina HTML rezultată este returnată utilizatorului. Pe lângă ERB, este posibil să folosiți încă aproximativ 20 de motoare de șabloane, inclusiv Haml .

Un controler în Rails este un set de logică care rulează atunci când o solicitare HTTP este primită de către server. Controlerul este responsabil pentru apelarea metodelor modelului și începe redarea vizualizării.

Corespondența adresei de Internet cu acțiunea (ruta) controlorului este specificată în config/routes.rb.

Un controler în Ruby on Rails este o clasă care moștenește de la ActionController::Baseaplicațiile desktop și ActionController::APIpentru API-uri [4] . Metodele publice ale controlorului sunt așa- numitele acțiuni .  O acțiune corespunde adesea unei vederi separate. De exemplu, o solicitare de utilizator ar apela o metodă de clasă și apoi ar folosi vizualizarea din . admin/indexindexAdminControllerindex.html.erbviews/admin

Integrare

Metoda preferată de integrare cu serverele web este proxy - folosind un server web ca proxy în fața serverului de aplicații. Modulele Phusion Passenger se remarcă prin integrarea cu serverele Apache și nginx .

Ruby on Rails folosește interfața Rack , care permite utilizarea unor mecanisme mai puțin obișnuite (FCGI, CGI, SCGI). Ruby on Rails poate funcționa cu Apache, Lighttpd sau orice alt server web care acceptă FastCGI . Pentru dezvoltare și depanare, se folosește serverul web Puma (fost WEBrick , încorporat în Ruby sau Mongrel). MySQL , PostgreSQL , Firebird , DB2 , Oracle și Microsoft SQL Server sunt acceptate ca server de baze de date . De asemenea, este acceptată o bază de date SQLite încorporată .

Pentru Windows, există o distribuție Instant Rails care este configurată și gata de utilizare pentru dezvoltarea aplicațiilor Rails, care include serverul Apache și DBMS MySQL, precum și distribuția RubyInstaller, care include cele mai recente versiuni de Ruby și instrumente de dezvoltare. Pentru platformele Windows, Linux , macOS , există un program de instalare complet BitNami RubyStack [5] care include tot ce aveți nevoie pentru dezvoltarea Rails, inclusiv Ruby, RubyGems , Ruby on Rails, MySQL, Apache, Mongrel și Subversion.

În plus, BitNami.org și JumpBox.com [6] oferă imagini VMware gratuite cu un mediu Linux pregătit pentru implementarea aplicațiilor RoR. Aceste imagini pot fi conectate la serverul dumneavoastră VM sau implementate în cloud -ul furnizat .

Pentru a dezvolta aplicații AJAX în RoR (înainte de versiunea 5.1), framework-ul jQuery javascript a fost folosit în mod implicit , dar pot fi folosite și alte biblioteci. În versiunile timpurii de Ruby on Rails (înainte de 3.1), cadrul js implicit era Prototype .

Biblioteci de linkuri

Ca depozit de pluginuri, Ruby on Rails utilizează un ecosistem de pachete   RubyGems , numite  și pietre prețioase . Unele plugin-uri au fost incluse în distribuția de bază Rails de-a lungul timpului, cum ar fi Sass și CoffeeScript ; altele, deși nu sunt incluse în distribuția de bază, sunt standardul de facto pentru majoritatea dezvoltatorilor (de exemplu, instrumentul de testare unitară RSpec ).

Începând cu versiunea 3 a Rails, a existat o tendință de a muta o parte din funcționalitate în „blocuri”, parțial datorită dezvoltării lor mai rapide decât Rails în sine, parțial pentru a face cadrul mai ușor.

Cateva dulceturi:

Instrumente de dezvoltare și testare

Pentru a crea aplicații Ruby on Rails sunt utilizate diverse editori de text și IDE-uri , inclusiv:

Printre instrumentele de testare a aplicațiilor care acceptă Ruby on Rails se numără:

Utilizare

Ruby on Rails a fost utilizat intens în crearea unor astfel de site-uri populare precum Netflix [9] , Bloomberg , Zendesk [9] , Twitter , SoundCloud , Airbnb , Diaspora , Groupon , Basecamp , GitHub , Hulu , Scribd , Kickstarter , Change.org , Bleacher Report [10] , SlideShare , ASKfm , Upwork , Mastodon și alții.

Note

  1. Au fost lansate șine 7.0.4, 6.1.7 și 6.0.6! — 2022.
  2. Proiectul rails Open Source pe Open Hub: Pagina de limbi - 2006.
  3. https://github.com/rails/rails/blob/master/README.md
  4. ActionController::API  : [ arh. 19.02.2019 ]. — Ruby on Rails. — Data accesului: 19.02.2019.
  5. BitNami :: RubyStack . Consultat la 22 februarie 2008. Arhivat din original pe 20 februarie 2008.
  6. JumpBox pentru implementarea Ruby on Rails | Arhivat din original pe 2 ianuarie 2010, JumpBox Virtual Appliances and Applications for Cloud Computing
  7. Community Engine Arhivat pe 28 mai 2009 la Wayback Machine // Un plugin de rețea socială pentru Ruby on Rails
  8. Extensia Visual Studio Code Ruby  : [ arh. 19.02.2019 ]. — Microsoft. — Data accesului: 19.02.2019.
  9. 1 2 5 Cazuri de utilizare comercială Continuă să dovedească valoarea Ruby on Rails  : [ arh. 19.02.2019 ]. - Curtea Motoarelor, 2018. - 11 aprilie. — Data accesului: 19.02.2019.
  10. Kelly Smith. 37 de site-uri pe care le iubești construite cu rubin pe șine  : [ arh. 19.02.2019 ]. - Skill Crush, 2018. - 29 aprilie. — Data accesului: 19.02.2019.

Literatură

Link -uri