Záznam architektonického rozhodnutí: framework Ruby on Rails
Kontext
Organizace vyvíjí webovou aplikaci se složitou obchodní logikou a více integracemi se službami třetích stran.
Tým má zkušenosti s vytvářením webových aplikací pomocí Ruby on Rails.
Je třeba zvolit webový framework, který podporuje rychlý vývoj, škálovatelnost a udržovatelnost.
Rozhodnutí
- Pro vývoj webové aplikace použít jako framework Ruby on Rails.
Odůvodnění
Ruby on Rails je vyspělý, stabilní a široce přijímaný webový framework, který prokázal svou účinnost při vytváření složitých webových aplikací.
Framework se řídí architektonickým vzorem Model-View-Controller (MVC), který podporuje oddělení odpovědností a zlepšuje znovupoužitelnost a udržovatelnost kódu.
Rails poskytuje mnoho vestavěných funkcí, například ActiveRecord pro interakci s databází a ActionMailer pro správu e-mailů, které mohou ušetřit čas vývoje a zjednodušit kód.
Framework má velkou a aktivní komunitu s mnoha znovupoužitelnými moduly a zásuvnými moduly, které rozšiřují funkčnost a řeší běžné problémy.
Ruby on Rails podporuje vývoj řízený testy (TDD) a vývoj řízený chováním (BDD), což vývojářům umožňuje psát automatizované testy svého kódu, zajistit, že funguje podle očekávání, a snížit počet chyb a regresí.
Ruby je vysokoúrovňový jazyk, který podporuje produktivitu vývojářů a čitelnost kódu a slouží jako silný pojivový jazyk pro integraci s širokou škálou služeb a API třetích stran.
Důsledky
Tým musí zajistit, aby architektura a návrh webové aplikace dodržovaly konvence a osvědčené postupy Rails, aby se maximalizovaly přínosy frameworku.
Vývojáři musí dobře rozumět jazyku Ruby a frameworku Rails, ačkoli dokumentace a komunita Rails mohou poskytnout vedení a podporu.
Pro vývojáře, kteří jsou s Ruby a Rails noví, může existovat křivka učení, ačkoli přínosy frameworku mohou investici do školení a zaškolení ospravedlnit.
Tým musí sledovat výkon a škálovatelnost aplikace a možná bude muset doladit databázové dotazy a optimalizovat cachování, aby zvládl velké objemy dat a provozu.