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

Honza Javorek mail na honzajavorek.cz
Pátek Únor 20 09:03:07 CET 2015


Kdyby to nekoho zajimalo, ja pouzivam Flask, protoze:

1. KISS, "The Best Code is No Code At All" apod. buzz... Mam rad jednoduchy
veci, kde je presne to, co tam ma byt, a nic navic.

2. Skoro nikdy jsem behem sve Python kariery nedelal appku ala CMS nebo
neco, kde jsem potreboval ty batteries v Djangu... takovy appky sice umi
vydelavat penize, ale pro me osobne byly v te dobe tak nejak nudny, takze
jsem se zameroval na jiny veci, pro me zajimavejsi, a zustal jsem radsi
chudej :D Kdysi jsem jich v PHP udelal milion, ale byl jsem na tom uz
vyhorenej a chtel jsem delat spis nejake haluze.

Vysledkem bylo, ze se mi treba nekolik let povedlo nenapsat ani jeden
webovy formular, coz pro me v urcitou chvili byl takovej symbol toho
nejnudnejsiho, na cem muzu pracovat. Delal jsem API nebo maly webiky
zalozeny na jinych vecech nez sablony-ORM (treba na Mongu nebo jen na
Redisu), nikde se neprihlasoval zadny uzivatel atd., takze Django by mi v
nicem moc nepomohlo. Dneska uz jsou Django REST Framework, Tastypie, nejaky
ODM extensions na Mongo, ale tehdy mi to prislo nic moc. Byly v zacatku a
delalo to veci po svym, ne po mym, pricemz jejich ohybatelnost byla mala.

Flask je dobry na obskurni veci, kde vam Django spis leze do cesty. Ma
milion extensions a poskladate si z nich to, co zrovna chcete, zvlast kdyz
to ma mit 4 views a az za tim je nejaka hodnota, neco neobvykleho. Potom to
jadro napisete jak chcete a pak uz je fuk, v cem bude ta fasada, kdyz na ni
nestoji svet.

3. Casto jsem delal na necem, co jsem NECHTEL, aby se rozrostlo. Mam
omezeny zdroje (cas, energie, mana, ...) a pokud delam projekt typu "one
man show", tak ho musim udrzovat pri velikosti, v niz je pro me
managovatelny. Jestlize mi vyrusta z Flasku (napr. zitkino.cz), je to
urcity signal, ze to jde do kytek, protoze na to nebudu mit cas. Delam v
tom kraviny jako https://github.com/honzajavorek/film2trello nebo stranky,
ktery by mohly byt skoro staticky. Na to je proste Django kanon na vrabce a
ja ho neznam tak dobre, abych ho nahodil za 4 minuty stejne, jako ten Flask
(nekdo ho zna presne tak dobre a microappku v nem nahodi stejne rychle jako
ja Flask, takze tahle vyhoda/nevyhoda je ciste subjektivni).

Jinak me nic moc uz nenapada, a proto lidem od jiste doby doporucuju hlavne
to Django. Moje duvody pro pouziti Flasku jsou subjektivni a specialni.

Cau,
Honza



2015-02-19 20:01 GMT+01:00 Radek Holý <radekholypublic na gmail.com>:

>
>
> 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
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20150220/3f43efcd/attachment.html>


Další informace o konferenci Python