Sledujeme nejnovější trendy v marketingu a baví nás o tom psát

21.3.2013

Ruby on Rails, ideální framework?

Žabomyší války o tom, který programovací jazyk a framework je nejlepší na vývoj webových aplikací, neberou konce. Pokud se v některé diskusi nebo sociální síti zeptáte programátorů, jaký framework je momentálně nejlepší, každý Vám prostě doporučí ten jeho oblíbený. Každá platforma má své výhody a každý framework řeší některou oblast lépe než jiný. Není důležité, jaký jazyk si vyberete, ale jak jeho vlastnosti dokážete využít.

Ruby on RailsRuby - dynamický interpretovaný jazyk, syntaxe vychází převážně z Perlu a Smalltalku. První verze byla uveřejněna v roce 1995 tvůrcem Yukihiro Matsumoto.
Ruby on Rails - nejznámější (ne jediný) framework pro vývoj webových aplikací v jazyce Ruby. Využívá principů MVC a RESTful designu.

Jaké technologie se pro vývoj používají?

Podíváme-li se na statistiky používaných technologií pro webové aplikace na prvních příčkách objevíme PHP, Java, ASP.NET (dle různých statistik se pořadí může měnit) následované jazyky Perl, Python a Ruby (abecedně řazeno).

Nejznámější jazyk pro vývoj webových aplikací je zajisté PHP. Dovolím si tvrdit, že PHP zná každý, kdo se v oblasti vývoje internetových aplikací pohyboval. Komunita je tedy obrovská a tomu odpovídá i nepřeberné množství frameworků. Spousta lidí o něm ale také mluví ne zrovna lichotivě.

V oblasti korporátních aplikací s důrazem na bezpečnost vládne Java a ASP.NET. Zde je potřeba robustní platformy. Za vývojem stojí ověřené a stabilní společnosti, které také zajišťují potřebnou podporu. Použití Javy a ASP.NET je ale v mnoha případech použití kanónu na vrabce. Nehledě na vyšší finanční, technologickou i časovou náročnost vývoje a provozu.

Ruby a Python jsou moderní programovací jazyky, které se jeví jako zlatá střední cesta. A opravdu tomu tak je.

Na jaké aplikace se hodí Ruby a Ruby on Rails?

Síla Rails (a Ruby) je převážně v rychlosti vývoje, strmé křivce učení a v neposlední řadě nákladu na licence (Ruby i Rails jsou OpenSource). Rails se hodí na menší projekty typu katalog zboží s kontaktním formulářem. Zároveň však není problém postavit na Rails obří eshop, pokročilý emailingový nástroj, slevový portál nebo rozsáhlý firemní intranet, CRM.

Flexibilita a univerzálnost Ruby on Rails se ukáže především u projektů, které se postupem času rozrůstají o další funkce a moduly.

Vývoj Ruby on Rails je úzce svázán s vývojem samotného jazyka. Díky tomu může využívat naplno všech jeho fukcí. Tam kde je potřeba možnosti jazyka rozšiřuje, ale většina základních funkcí je obsažena v jádru jazyka Ruby. Zde je velký rozdíl oproti například PHP frameworkům, které musí řešit spoustu věcí, které samotný jazyk nepodporuje.

I když není u nás Ruby příliš rozšířené, světová komunita je rozsáhlá a velmi aktivní. Mekkou Ruby a Ruby on Rails je jejich mateřská země tedy Japonsko. Dlouhou dobu bránilo rozšížení do světa nedostatek dokumentace a návodů v angličtině. Dnes tomu tak již není a některé materiály jsou přeloženy i do češtiny.

Jednou z výhod jazyka Ruby je systém takzvaných gemů. To jsou knihovny, které rozšiřují nebo upravují funkčnost jazyka. I samotný framework Rails je šířen jako gem.

RubyGem mají automatický nástroj pro instalaci, správu a aktualizaci gemů. Vše je čisté a elegantní, stejně jako celý jazyk. Díky výbornému návrhu jazyka Ruby můžeme funkčnost gemů dále rozšiřovat a upravovat je pro svou potřebu. Můžeme také vytvářet gemy vlastní a dát je k dispozici ostatním.

Existuje velké množství gemů, které řeší různé problematiky. Seznam gemů můžeme najít na webech www.rubygems.org nebo https://www.ruby-toolbox.com/.

A my jsme si řekli: "Budeme to rubat v Ruby. A budeme v tom dobří!"

Co se nám na RoR líbí?

  • úzká spolupráce jazyka a frameworku možnost naplno využít vlastností a schopností jazyka Ruby
  • MVC architektura oddělení aplikační logiky od uživatelského rozhraní
  • REST standard pro vytváření HTTP požadavků (GET, POST, PUT, DELETE)
  • systém routování adres - obousměrné mapování url adres na volání controleru a akcí
  • RubyGem
  • ActiveRecord a ActiveModel ORM, validace záznamů
  • nástroje usnadňující vývoj a nástroje pro deploy RubyMine (IDE), GIT, RVM, Rake, Capistrano, ...
  • pokročilá podpora internacionalizace a lokalizace
  • umožňuje vyvíjet na jakékoliv OS (Linux, Mac, Windows)
  • programují i ženy - říkají si "Rails Girls" :-)

Světově nejznámější aplikace vycházející z Ruby

Twitter - sociální síť
Scridb - online publikační systém pro sdílení a zobrazování dokumentů
Basecamp - online nástroj pro řízení projektů
Hulu - služba pro streamování pořadů a filmů z kanálů NBC, Fox, ABC ...
Shopify - opensource platforma pro eshopy
Grupon - slevový portál
GitHub - hosting pro GIT repozitáře

Tolik snad k základnímu pohledu na Ruby a Ruby on Rails. Příště se podíváme na základní principy, postupy a nástroje využívané při vývoji v Ruby a RoR.

21.3.2013 Dominik Tilp 0

comments powered by Disqus
Dominik Tilp Developer

Další články autora