Ruby on Rails

Ruby on Rails
Logo
Výchozí stránka Rails
Výchozí stránka Rails
VývojářDavid Heinemeier Hansson
První vydání13. prosince 2005[1]
Aktuální verze7.1.3.2 (21. února 2024)
Operační systémNezávislý na platformě
Vyvíjeno vRuby
Typ softwaruFramework na vývoj webových aplikací
LicenceMIT
Webwww.rubyonrails.org
Některá data mohou pocházet z datové položky.

Ruby on Rails nebo jen Rails je framework pro vývoj webových aplikací napojených na databázi, používající architekturu model-view-controller. Vytvořil jej dánský programátor David Heinemeier Hansson při práci na projektu Basecamp.

Vše v Rails je založeno na jazyce Ruby. Na jazyce Ruby je založen Ajax v šablonách (view), odpovědi v controllerech i architektura aplikace v modelech obalujících databázi. Ke spuštění aplikace je třeba jen databáze.

Mezi základní princip Rails patří Konvence má přednost před konfigurací, tedy že programátor konfiguruje pouze ty části aplikace, které se liší od běžného nastavení. Vytvoří-li tedy např. model Person, aplikace bude data automaticky hledat v tabulce people. Chce-li, aby aplikace načítala data z tabulky staff, musí tak učinit výslovně.

Rails jsou postaveny na bázi architektury model-view-controller, která odděluje části aplikace zodpovědné za čtení a ukládání dat včetně manipulace s nimi (model), za zobrazení grafického rozhraní aplikace (view) a za část přijímající vstupy od uživatele a řídící zobrazení dat na výstupu (controller).

Základní vlastnosti

  • automaticky mapují URL na vnitřní řídící prvky aplikace (routing)
  • zajišťují předávání dat mezi controlleremmodelem, mezi controlleremview
  • abstrahují přístup k datům v databázi pomocí mapování záznamů z relační databáze na objekty (pomocí návrhového vzoru ActiveRecord se „řádky“ v databázi převedou na instance objektů, „sloupce“ na jejich atributy)
  • obsahují rozsáhlé pomocné knihovny pro snadné generování HTML, pro práci s Ajaxem (využívá javascriptový Framework jQuery (od verze 3.1)), formátování dat a další

Odkazy

Reference

  1. David. Rails 1.0: Party like it's one oh oh! [online]. 2005-12-13 [cit. 2017-03-01]. Dostupné online. 

Externí odkazy

  • Logo Wikimedia Commons Obrázky, zvuky či videa k tématu Ruby on Rails na Wikimedia Commons
  • Česká mutace oficiálních stránek Ruby on Rails
  • Seriál o Ruby on Rails pro programátory na serveru Root.cz
  • Co jsou Ruby on Rails a proč by mě to mělo zajímat? (server MujMac.cz)
  • Článek o východiscích a principech Ruby a Ruby on Rails
  • Článek o principu „Konvence má přednost před konfigurací“ a implementaci Active Record
Webové aplikační frameworky
ASP.NET
ASP.NET MVC • BFC • DotNetNuke • MonoRail • Umbraco
C++
CppCMS
ColdFusion
ColdSpring • Fusebox • Mach-II • Model-Glue • on Wheels • onTap
Common Lisp
ABCL-web • BKNR • SymbolicWeb • UnCommon Web
Java
AppFuse • Flexive • Grails • GWT • ItsNat • JavaServer Faces • Makumba • OpenXava • Reasonable Server Faces • Restlet • RIFE • Seam • Spring • Stripes • StrutsTapestryVaadin • WebWork • Wicket • ZK
JavaScript
AngularJS • Archetype JavaScript Framework • Bonsai (framework) • Brick (framework) • CreateJS • D3 • Dojo • Ember • Enyo (framework) • ExtJs • FabricJS • Fleegix • JavaScriptMVC • jQuery • jTypes • KineticJS • Knockout.js • Lo-dash • midori • MooTools • NodeJs • PaperJS • Processing.js • Prototype • qooxdoo • Raphael (framework) • React • RightJS • Shipyard • SimpleJS • SproutCore (JavaScript/Ruby) • Spry • The X Toolkit • Thorax (framework) • Tree.js • UIZE • Underscore • Vue.js • WebApp Install • YUI • Zepto (framework)
Perl
Catalyst • Dancer • Interchange • Mason • Masser • Maypole • Mojolicious • OX • PEE • Plack • WebGUI
PHP
Agavi • Akelos • CakePHP • Chisimba • CodeIgniter • Garden Platform • Horde • JelixKohana • Kolibri • KumbiaPHP • Laravel • Midgard • Nette Framework • Orinoco • PHPonTrax • PRADO • Qcodo • Qcubed • Seagull • Simplicity • Symfony • WASP • Yii Framework • Zend FrameworkZope
Python
DjangoFlask • Pyjamas • Pylons • TurboGears • web2pyZope
Ruby
Hanami • Merb • Ruby on Rails • Sinatra
Scala
Lift
Smalltalk
AIDA/Web • Seaside
Ostatní jazyky
Application Express (PL/SQL) • Fusebox (ColdFusion a PHP) • OpenACS (Tcl) • Yaws (Erlang) • HAppS (Haskell)
Autoritní data Editovat na Wikidatech