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

Radek Holý radekholypublic na gmail.com
Čtvrtek Únor 19 20:01:34 CET 2015


Dne 19. února 2015 11:19 Jan Bednařík <jan.bednarik na gmail.com> napsal(a):

>
> 2015-02-18 21:58 GMT+01:00 Pavel S <pavel na schon.cz>:
>
>> Ahoj. Vykaslal bych se na vsechny frameworky, prestoze jiste maji sve
>> kvality (django, flask apod.).
>>
>> Pokud jsi zvidavy clovek a chces se neco naucit, jak funguje HTTP, napis
>> si framework vlastni.
>>
>> Pro zacatek nepotrebujes zadny webserver. Zacal bych u modulu wsgiref,
>> vezmi hello world aplikaci (
>> https://docs.python.org/2/library/wsgiref.html#examples ), napis
>> abstrakci nad request a response, potom nejaky URL router. Pozdeji az budes
>> potrebovat formulare, udelas si abstrakci na formulare.
>>
>> Do ceho bych se radeji nepoustel je vlastni sablonovy system. Tam bych
>> vzal osvedcene jinja2. Pokud bude treba databaze, doporucuji SQLAlchemy.
>>
>> Az si timhle projdes, nabidky se jiste objevi (to je ta monetarizace
>> know-how).
>>
>> Hodne stesti!
>>
>
>
> Až si tím projde, tak se nabídky neobjeví. Nikdo nechce platit lidi, kteří
> rádi vymýšlejí kolo a řeší věci, co dávno vyřešil někdo jiný.
>
> Python je jazyk s "batteries included". Obvykle se stačí poohlédnout po
> hotových knihovnách a ty využít. A ve většině případů jsou ty hotové
> knihovny mnohem lepší, než kdyby si je člověk psal sám (protože jsou
> výsledkem spolupráce a zkušeností více lidí).
>
>
Taky mi to nepřipadá jako dobrá rada. Cílem je vyprodukovat web a ne
framework. Pokud existuje framework, který nabízí vše, co Marcus potřebuje,
nevidím v jeho situaci důvod proč se zdržovat vymýšlením nového. A i kdyby
žádný nevyhovoval, spíš bych vylepšil nějaký existující než začínal nový.
Pro vznik nového podle mě musí být dobrý důvod. A upřímě řečeno, já bych
určitě neplatil za framework, který vyvíjí jediný člověk, zvlášť když kolem
existuje spousta dobrých frameworků zadarmo.

No a už vůbec se nestotožním se snahou "zpeněžit know-how". IMHO, know-how
se má sdílet, ne na něm vydělávat. Ale vím, že se mnou spousta (nejen
kapitalisticky založených) lidí nebude souhlasit. Jsem moc velký idealista.


>
>
> A když bych se měl vyjádřit k tématu, tak v zásadě souhlasím s těmi kdo
> doporučují Django. Má výbornou dokumentaci, spoustu návodů, a spoustu
> hotových komponent, který spolu dobře fungují (ORM, templaty, formuláře,
> cache, ...), a stačí je prostě použít když je potřeba. Ale co vidím jako
> podstatnější je to, že Django člověka vede k tomu, jak si uspořádat kód do
> nezávislých komponent (modely, views, templaty, management commandy, ...).
> Jak vytvářet malé nezávislé aplikace použitelné ve více projektech. Atp.
>
>
> Myslím si, že pro zkušeného borce není problém poskládat si vlastní
> framework na nějakém mikroframeworku jako Flask. A zkušený borec určitě
> dokáže psát kód tak, aby z toho nebyl špagetový moloch. Nicméně nejsou
> všechny ty Flaskové weby ve výsledku jako Django v bledě modrém, jen s více
> úsilím? V čem jsou tak zásadně odlišné, že stojí za tu námahu? Jen pocit
> "poskládal jsem si to sám", nebo "Flask je trendy!" nestačí. Ale nepochopte
> mě špatně, nemám nic proti Flasku. Je parádní nástroj na malé webíky,
> proxy, atp. Nicméně jakmile člověk potřebuje postavit "velký web" a
> potřebuje přidat ORM, formuláře, templaty, atd., je lepší zvolit framework,
> který tyhle komponenty obsahuje v základu.
>
>
Odlišné jsou v tom, že třeba nepotřebují všechno, co Django nabízí, ve
výsledku zabírají méně místa na disku, spotřebují méně systémových
prostředků, nebo třeba jen chtějí používat jinou komponentu než jim Django
vnucuje (např. šablonovací systém, ORM, ...). Všechno záleží na tom, co
člověk od toho frameworku potřebuje. Žádný není nejlepší, ani nejhorší.
Každý se hodí na něco jiného.

Já osobně se vždycky snažím používat (a psát) co nejmenší knihovny (co se
týče řádků *kódu*). Samozřejmě zohledňuji více faktorů. Ale pokud existuje
víc variant splňujících mé požadavky, preferuji tu menší. Jednak protože je
mi sympatický KISS princip a jednak protože z praxe vím, co to znamená
starat se o obrovský moloch i o minimalistickou knihovnu.

Mimochodem, asi by se dalo spekulovat o tom, jestli je víc trendy Flask,
nebo Django ;)


> Jak se říká: "Na velké projekty Django. A na malé projekty taky Django,
> protože i malý projekt se může časem rozrůst."
>
> Honza
>

-- 
Radek
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150219/d74e9708/attachment.html>


Další informace o konferenci Python