Kvě
24
Posledních pár týdnů jsem na programování kašlal, trochu jsem přehodnocoval priority a nakonec jsem se rozhodl, že přejdu na ASP.NET MVC. Nejdřív ale popíšu, co se mi na něm (a taky na Nette, Rails a dalších) tolik nelíbí.
Přes půl století panuje snaha přiblížit „počítačové jazyky“ jazykům lidským. Zlatým grálem programování je, aby i úplný debil mohl vytvořit program prostě tím, že ho vlastními slovy popíše. Přiblížení k tomuto cíli bylo motivací pro vznik všemožných abstrakcí, které umožňují popsat počítači určitý problém zas o něco přirozeněji než dřív.
Jak byste laicky popsali webovou aplikaci (představte si, že jste BFU)? Jako soustavu controllerů, na kterých je možné volat akce, které vrací view? To asi ne. Já bych mluvil o soustavě stránek, na kterých jsou odkazy a formuláře, jejichž odkliknutím lze vykonat nějakou akci a případně přejít na jinou stránku. Něco v tom smyslu.
Připadá mi, že Rails a jeho následníci zavádí nepřirozenou abstrakci. Programátor si to musí v hlavě tlumočit, například: „Chci přidat stránku → chci přidat akci a view“. Při komunikaci s uživateli budete mluvit opět o stránkách (aby vám rozuměli) a v duchu si to překládat na nepřirozené „akce“…
Podle mě přístup MVC/MVP, jak se začal prosazovat v posledních pár letech, je šlápnutím vedle. Ale uvědomil jsem si, že já nechci psát žádný framework, takže musím nutně vybírat z toho, co tu je. Proto jsem opustil koncept svého vlastního frameworku a psaní frameworků rád přenechávám jiným.
Přes koncepční výhrady, ASP.NET MVC je momentálně prostě nejlepší…
