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:
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
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 .
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:
Ruby on Rails -sovellusten luomiseen käytetään erilaisia tekstieditoreja ja IDE :itä , mukaan lukien:
Ruby on Railsia tukevien sovellusten testaustyökalujen joukossa ovat:
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.
rubiini | |
---|---|
Ihmiset | |
IDE |
|
Toteutukset |
|
Sovellukset |
|
Kirjastot ja puitteet |
|
Palvelinohjelmisto |
|
muu |
|
|