Ruby on Rails

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 15. maaliskuuta 2021 tarkistetusta versiosta . tarkastukset vaativat 17 muokkausta .
Ruby on Rails
Tyyppi verkkokehys
Tekijä Hansson, David Heinemeyer
Kehittäjä Hansson, David Heinemeyer
Sisään kirjoitettu Ruby [2]
Ensimmäinen painos 13. joulukuuta 2005
uusin versio
Lisenssi MIT-lisenssi [3]
Verkkosivusto rubyonrails.org
 Mediatiedostot Wikimedia Commonsissa

Ruby on Rails ( RoR ) on Ruby -ohjelmointikielellä kirjoitettu kehys , joka toteuttaa Model-View-Controller- arkkitehtuurimallin web - sovelluksille ja tarjoaa myös niiden integroinnin verkkopalvelimeen ja tietokantapalvelimeen. Se on avoimen lähdekoodin ja sitä jaetaan MIT-lisenssillä .

Luonut David Heinemeier Hansson perustuen hänen työhönsä 37signalsissa Basecamp - projektinhallintatyökalulla ja julkaistiin heinäkuussa 2004 . 23. joulukuuta 2008 Merb - projektitiimi teki yhteistyötä Rails-tiimin kanssa luodakseen seuraavan version Rails 3:sta, joka yhdistää molempien puitteiden parhaat ominaisuudet.

Perustuu seuraaviin sovelluskehitysperiaatteisiin:

Arkkitehtuuri

Ruby on Rails -sovellusten pääkomponentit ovat malli ( englanninkielinen  malli ), näkymä ( englanninkielinen  näkymä ) ja ohjain ( englanniksi  ohjain ). Ruby on Rails käyttää REST - tyyliä verkkosovellusten rakentamiseen.

Malli tarjoaa muulle sovellukselle oliopohjaisen datanäytön (kuten tuoteluettelon tai tilausluettelon). Malliobjektit voivat ladata ja tallentaa tietoja relaatiotietokantaan sekä toteuttaa liiketoimintalogiikkaa.

Rails 3 käyttää ActiveRecord -kirjastoa malliobjektien tallentamiseen relaatiotietokantajärjestelmään oletusarvoisesti . Kilpaileva analoginen DataMapper. Ei -relaatiotietokantojen kanssa työskentelemiseen on lisäosia , kuten Mongoid MongoDB :n kanssa työskentelemiseen .

Näkymä luo käyttöliittymän ohjaimelta saatujen tietojen perusteella. Näkymä välittää myös käyttäjän tiedonkäsittelypyynnöt ohjaimelle (yleensä näkymä ei muuta mallia suoraan).

Ruby on Railsissa näkymää kuvataan käyttämällä ERB - malleja , jotka ovat HTML -tiedostoja, joihin on lisätty Ruby -koodinpätkät (Embedded Ruby tai ERb). Sisäisen Ruby-koodin tuottama tulos sisällytetään mallitekstiin, jonka jälkeen tuloksena oleva HTML-sivu palautetaan käyttäjälle. ERB:n lisäksi on mahdollista käyttää vielä noin 20 mallimoottoria, mukaan lukien Haml .

Railsissa oleva ohjain on logiikkajoukko, joka suoritetaan, kun palvelin vastaanottaa HTTP-pyynnön. Ohjain vastaa mallin menetelmien kutsumisesta ja aloittaa näkymän renderöinnin.

Internet-osoitteen vastaavuus ohjaimen toiminnon (reitin) kanssa on määritetty kohdassa config/routes.rb.

Ruby on Railsin ohjain on luokka, joka perii ActionController::Basetyöpöytäsovelluksille ja ActionController::APIAPI:ille [4] . Rekisterinpitäjän julkiset menetelmät ovat ns .  Toiminto vastaa usein erillistä näkymää. Esimerkiksi käyttäjäpyyntö kutsuisi luokkametodia ja käyttäisi sitten näkymää . admin/indexindexAdminControllerindex.html.erbviews/admin

Integrointi

Suosituin tapa integroida verkkopalvelimiin on välityspalvelin - verkkopalvelimen käyttäminen välityspalvelimena sovelluspalvelimen edessä. Phusion Passenger - moduulit erottuvat integroinnista Apache - ja nginx - palvelimiin .

Ruby on Rails käyttää Rack -käyttöliittymää , joka mahdollistaa vähemmän yleisten mekanismien (FCGI, CGI, SCGI) käytön. Ruby on Rails voi toimia Apachen, Lighttpd :n tai minkä tahansa muun FastCGI:tä tukevan verkkopalvelimen kanssa . Kehitykseen ja virheenkorjaukseen käytetään Puma-verkkopalvelinta (aiemmin WEBrick , upotettu Rubyyn tai Mongreliin). MySQL , PostgreSQL , Firebird , DB2 , Oracle ja Microsoft SQL Server ovat tuettuja tietokantapalvelimena . Myös sulautettu SQLite - tietokanta on tuettu .

Windowsissa on Instant Rails -jakelu , joka on määritetty ja heti käyttövalmis Rails-sovellusten kehittämiseen. Se sisältää Apache-palvelimen ja MySQL DBMS:n sekä RubyInstaller-jakelun, joka sisältää uusimmat versiot Ruby- ja kehitystyökalut. Windows-, Linux- ja macOS -alustoille on kattava BitNami RubyStack [5] -asennusohjelma , joka sisältää kaiken, mitä tarvitset Rails-kehitykseen, mukaan lukien Ruby, RubyGems , Ruby on Rails, MySQL, Apache, Mongrel ja Subversion.

Lisäksi BitNami.org ja JumpBox.com [6] tarjoavat ilmaisia ​​VMware - otoksia valmiilla Linux-ympäristöillä RoR-sovellusten käyttöönottoa varten. Nämä kuvat voidaan yhdistää VM-palvelimeesi tai ottaa käyttöön toimitetussa pilvessä .

AJAX -sovellusten kehittämiseen RoR:ssä (ennen versiota 5.1) käytettiin oletuksena jQuery javascript -kehystä , mutta sen sijaan voidaan käyttää muita kirjastoja. Ruby on Railsin varhaisissa versioissa (ennen 3.1:tä) oletusarvoinen js-kehys oli Prototype .

Linkkikirjastot

Ruby on Rails -laajennusvarastona käyttää  RubyGems- pakettien  ekosysteemiä ,  joita kutsutaan myös helmiksi . Joitakin laajennuksia on sisällytetty perusrail-jakeluun ajan myötä, kuten Sass ja CoffeeScript ; toiset, vaikka eivät sisälly perusjakeluun, ovat de facto standardi useimmille kehittäjille (esimerkiksi RSpec - yksikkötestityökalu ).

Railsin versiosta 3 alkaen on ollut taipumus siirtää osa toiminnoista erillisiin "jämeihin", osittain johtuen niiden nopeammasta kehityksestä kuin itse Railia, osittain keventääkseen runkoa.

Muutama hillo:

Kehitys- ja testaustyökalut

Ruby on Rails -sovellusten luomiseen käytetään erilaisia ​​tekstieditoreja ja IDE :itä , mukaan lukien:

Ruby on Railsia tukevien sovellusten testaustyökalujen joukossa ovat:

Käyttö

Ruby on Railsia on käytetty paljon sellaisten suosittujen sivustojen luomisessa kuin Netflix [9] , Bloomberg , Zendesk [9] , Twitter , SoundCloud , Airbnb , Diaspora , Groupon , Basecamp , GitHub , Hulu , Scribd , Kickstarter , Change.org . , Bleacher Report [10] , SlideShare , ASKfm , Upwork , Mastodon ja muut.

Muistiinpanot

  1. Rails 7.0.4, 6.1.7 ja 6.0.6 on julkaistu! – 2022.
  2. Avoimen lähdekoodin kiskot Open Hubissa: Kielisivu - 2006.
  3. https://github.com/rails/rails/blob/master/README.md
  4. ActionController::API  : [ arch. 19.02.2019 ]. - Ruby on Rails. — Käyttöönottopäivä: 19.2.2019.
  5. BitNami :: RubyStack . Haettu 22. helmikuuta 2008. Arkistoitu alkuperäisestä 20. helmikuuta 2008.
  6. JumpBox Ruby on Rails -käyttöönotolle | Arkistoitu alkuperäisestä 2. tammikuuta 2010, JumpBox Virtual Appliances and Applications for Cloud Computing
  7. Community Engine arkistoitu 28. toukokuuta 2009 Wayback Machinessa // Social Networking Plugin for Ruby on Rails
  8. Visual Studio Code Ruby Extension  : [ arch. 19.02.2019 ]. – Microsoft. — Käyttöönottopäivä: 19.2.2019.
  9. 1 2 5 Kaupalliset käyttötapaukset jatkavat Ruby on Railsin arvon todistamista  : [ arch. 19.02.2019 ]. - Moottoripiha, 2018. - 11. huhtikuuta. — Käyttöönottopäivä: 19.2.2019.
  10. Kelly Smith. 37 paikkaa, joita rakastat, rakennettu Ruby On Railsilla  : [ arch. 19.02.2019 ]. - Skill Crush, 2018. - 29. huhtikuuta. — Käyttöönottopäivä: 19.2.2019.

Kirjallisuus

Linkit