Týden se s týdnem sešel a konečně jsem se rozhodnul, jakým způsobem bych chtěl seriál o Ruby on Rails dát dohromady. Koho čekání neomrzelo, tak se může začíst do prozatimního úvodu (proto ten nultý díl) a během víkendu začátkem týdne se zde objeví specifika návrhu databáze pro co nejjednodušší použití v Rails.
PS: Jediný známý zápis nuly v římských číslicích je písmeno N z latinského nullae, proto to N v nadpisu. Více na skvělé Wikipedii.

Pro koho a jak bude napsaný

V našich končinách stále suverénně vládne PHP, o kterém byly napsány tuny knih a tutoriálů a které funguje prakticky na každém hostingu. O Rails žádná česká kniha nevyšla a asi ani jen tak nevyjde, podpora hostingů je mizivá a podle mě je zkrátka u nás stále víc lidí, kteří o Rails nikdy neslyšeli, než těch, kteří je aktivně používají. Neboli neočekávám, že by pro někoho bylo Ruby on Rails první setkání s programování.
Proto si myslím můžu dovolit trochu pohodlnosti a předpokládat, že čtenáři tohoto seriálu už nějakou webovou aplikaci stvořili, znají databáze a umí je navrhnout, ovládají HTML a CSS a v neposlední řadě slyšeli o objektově orientovaném programování. Zároveň si tuto pohodlnost dovolit musím, protože jsem na dlouhé psaní moc líný.

Takže pro koho bychom měli a teď jak – nejideálnější mi přišlo předvést vývoj nějaké ukázkové aplikace a předvést mé oblíbené vlastnosti Rails společně s řešením některých klasických situací. Takže začít od návrhu databáze, pokračovat přes uživatelské a administrační rozhraní až ke konečným vychytávkám. Vychytávkami v tomhle případě jsou věci zásadně zvyšující cool faktor aplikace, ze kterých se všichni posadí na zadek, jako třeba spousta AJAXu nebo nahé baby na pozadí.
Z toho vyplývá věc, která tento seriál zásadně odliší od všech ostatních, které kdy vznikly – rozhodnul jsem se vynechat Hello World. Musím přiznat, že šlo o velký vnitřní boj, který nakonec rozhodnul důležitý fakt, že přestože Hello World je v prakticky každé knize o programování, tak počet skutečných aplikací, kde se později objeví, byste spočítali na prstech jedné ruky dlouholetého pracovníka na pile.

Jak je tedy taky vyřešeno a teď se podíváme, co bude ona

Ukázková aplikace

Původně jsem zamýšlel udělat nějaký blog. Ale to by nebylo vůbec originální, protože blogovacích systémů je asi tak milión a tenhle by byl sotva v něčem lepší, kromě toho, že by byl napsaný v Rails. To je ale běžnému uživateli úplně šumák, nemluvě o tom, že blogovací systém v Rails se už vyvíjí. A protože jsem sám dost velkým odpůrcem duplicitního úsilí (taky nechápete, proč je na světě tolik Linuxových distribucí?) a místo toho raději dělám něco užitečného, tak jsem se nakonec rozhodnul udělat……. chvilka napětí….. webové prostředí pro hraní Diplomacie. Pro neználé, kterých bude asi většina – Diplomacie je poměrně stará desková hra s geniálně jednoduchými pravidly, jejímž účelem je ukecat, zradit a ve výsledku zničit více protihráčů, než ostatní. V češtině naleznete nejvíce informací o ní na www.diplomacie.net (pokud trpíte pocitem, že máte nadbytek času nebo si chcete realizovat své světovládné choutky, tak se nebojte zapojit). Prvním cílem je hlavně umožnit hru dalších oblíbených variant, odevzdávání tahů přes internet, upozorňování na termíny tahů atd.
Tohle rozhodnutí má opět i jeden prozaický důvod – vývoj nového webu jsem jako aktivní hráč slíbil už před více než půl rokem a od té doby se to moc nehnulo. Na druhou stranu díky tomu bylo dost času rozmyslet si původní (velice špatný) nápad naprogramovat ho v PHP, takže všechno zlé je nakonec k něčemu dobré.

Licence

Pokud všechno půjde jak má, tak během seriálu vznikne i nějaký (doufám) užitečný kód. Pro něj bude, pokud neuvedu jinak, vždy použita MIT licence.
Obsahem licence je ve zkratce následující: Kód může být použit bez omezení k libovolnému účelu, pokud je součástí každé další kopie nebo odvozeného díla původní copyright a text licence. Licence výslovně dovoluje kopírování, modifikace, prodej kódu apod.
Pro MIT licenci jsem se rozhodnul z dvou důvodů

  1. SW publikovaný pod toutu (a BSD nebo ještě GNU LGPL) licencí mi často výrazným způsobem šetří čas i úsilí při práci na komerčních projektech a budu jenom rád, když můj SW podobně pomůže někomu jinému.
  2. MIT licence je defacto standardem ve světě Ruby on Rails (pouze samotné Ruby je vydáno pod Ruby licencí) a z toho důvodu dostala přednost před BSD, přestože jsou prakticky stejné.

Závěr

Ještě rozmýšlím nějaký způsob přístupu ke zdrojovým kódům, protože nechci psát do seriálu každou řádku. Ideální se zatím jeví Subversion + Trac, jenom nevím, jestli půjde nakonfigurovat podle mých představ. Pro začáteční vysvětlování to ale stejně nebude potřeba.
Prozatím doufám, že trochu delší úvod nikoho neodradil a těším se u dalších dílů.

Zanechej komentář

K zanechání komentáře ke článku musíte být přihlášen. Přihlásit »