[python] Volba web-frameworku (a pár menších dotazů)

Vladimir Macek macek na sandbox.cz
Pátek Únor 13 08:58:45 CET 2015


On 13.2.2015 01:05, Radek Holý wrote:
> Mě vždycky zarazí, že v takovýchto diskusích nikdo nikdy nezmíní CherryPy.
> ...
> Proč ho nikdo nebere v úvahu?

Nevím. Po svém objevení Pythonu před mnoha lety jsem chvíli lavíroval, co
se týče web frameworku. Záhy jsem objevil Django a nemám potřebu měnit.

Když jsem ho chtěl *dřív* někomu vychválit, zmiňoval jsem chytré
*technické* aspekty (např. generovaný admin, URL dispatcher, i18n, ...).
Nyní, po řadě let vypichuju spíš ty netechnické: autoři se trvale snaží
dělat věci správně, což se odráží i v projektech na Djangu postavených,
skvělá dokumentace, jasná politika zpětné kompatibility, tisíce unit testů,
minimum chyb, reflektuje současný vývoj webu (např. security), jsou tam
hotové nástroje na co si vzpomeneš a líp, než by je napatlala většina z nás
(jak píše Honza), velká komunita, ucelená, ale nevynucující soustava
komponent...

Někdy při studiu člověk kroutí hlavou, proč jsou některé věci uvnitř dělané
jakoby přes ruku. Pak ale přijde na to, že to má svůj smysl a ještě se
poučí. Django je chytře udělané, stejně jako je chytrý Python. Perfektní není.

Autor, jak začátečník, tak pokročilý prostě výběrem Djanga neudělá chybu,
ať začíná malý nebo velký projekt. Nebude mít problém ani když se mu z
malého projektu stane velký. Potřebuje jediné: nebýt zabedněný a naslouchat
tomu, že když mu lidé radí, jak různé věci dělat, mají k tomu obvykle důvod
podložený zkušeností.

Ty výhody, co jsem zmiňoval, podle mě hravě přebijou fakt, že jednotlivé
komponenty podle něčího názoru nejsou dokonalé. Časem, ošlehaný komerčními
projekty, člověk pochopí, že používané nástroje takové  za každou cenu být
nemusí. Důležitá je celková použitelnost, se kterou mu nástroje pomáhaji
projekt dokončit.

A k tomu přistupuje fakt, že s praxí s konkrétním frameworkem člověk chtě
nechtě podrobně pozná jeho silné i slabé stránky a naučí se s nimi
nakládat. Odměna za věrnost. :-)

-- 
:  Vladimir Macek  :  http://macek.sandbox.cz  :  +420 608 978 164
:  UNIX && Dev || Training  :  Python, Django  :  PGP key 97330EBD



Další informace o konferenci Python