Se Zope provadim teprve prvni experimenty, ale kdyz jsem o nem cetl (treba tady na rootu drive http://www.root.cz/clanek/1215 ), tak tu tvrdili, ze pro praci se Zope neni nutny Python (ale samozrejme pomuze, kdyz chce clovek delat neco slozitejsiho), dokonce lze pouzivat i treba perl. A vy tu zase tvrdite, ze python je naprosto nezbytny. Tak bych rad jen znal nestranny nazor (doufam, ze se to nezvrhne v flame), jak to je :-)
Ne ze bych python neumel, ale zatim jsem o Zope s lidma mluvil jako o necem, kde Python treba proste neni.
Termínu "je nutný" jest zde rozuměti dvojmo: :-))
- Zope je napsaný v Pythonu, proto pro jeho chod je Python pochopitekně nezbytný, ovšem Zope si jej přináší s sebou, takže uživatel se o něj starat nemusí
- Zope také umožňuje Python používat pro psaní Python scriptů a externích metod, jež lze použít k rozšíření jeho schopností, ale není to "nutné"
Ve skutečnosti ale, zejména pokud budete používat ZPT, o kterém je tento článek, a ne DTML (pův. presentační jazyk Zopu) budete buď Python n. Perl potřebovat pro všechny složitější operace (business logic). A navíc, Python je tak prima ... :-)))
Pan Marcel Svitalský to napsal správně. Zkusím stejnou myšlenku vyjádřit osobním pohledem:
Zope v minulosti trpělo nadměrnou snahou o PR ze strany hlavního tvůrce, Digital Creations (dnes Zope Corp.). Uživatelé kvůli tomu očekávali od Zope příliš mnoho. Digital Creations mimo jiné naznačovala, že programování není potřeba, že stačí jen klikat a občas použít DTML apod.
Ve skutečnosti už tehdy byl pro seriózní práci lepší Python. Technologie ZPT ještě neexistovala, a Python se tehdy nedal zadávat skrz webový prohlížeč (musel se zadávat lokálně do souborového systému, čili přes shell, to znamená na dálku jedině přes ssh nebo nedejbože telnet).
Pravda je taková, že Python potřebujete ke všemu, kromě nejjednodušších úkolů. Python a ZPT výborně spolupracují.
Python se naučíte úplně snadno. Pokud už znáte nějaký jiný programovací jazyk, tak např. za 2 dny budete umět Python na takové úrovni, na jejíž dosažení byste u jazuků C++ nebo Java potřeboval 2 týdny.
To velice záleží na tom pro koho.
Vývojář rozšíření by měl python jistě umět.
Dá se v minimální verzi pro používání v zope naučit již za několik hodin, zkušení Zopisté ovšem zrají dlouho...
Grafik python nutně nepotřebuje, TAL stránky může dělat i bez znalosti pythonu, pokud je v týmu jeden pythonista.
No a autor a správce obsahu a návštěvník webu nemusejí mít o pythonu ani tušení, pokud jim to neřeknete. To se asi začnou ptát: "Proč nepoužíváme Javu?" protože jsou zpitomělí z reklamních počítačových časopisů a marketingové masáže některých firem.
Python je ovšem tak elegantní jazyk, že ho měli umět všichni, doporučuju zkusit. Po napsání prvního programu už nebudete chtít psát v ničem jiném.
V ZPT vytváříte presentační vrstvu (třeba jestli data z databáse zobrazíte formou html "table" nebo seznamu "ul"), zatímco složitější operace s daty (business logic) obstarávají obvykle Python scripty, jejich získávání z a ukládání do databáse SQL metody, a třeba jejich export do PDF via TeX uděláte asi v externí metodě ...
Kdyz uz to budu mit cely v Zope (potazmo receno v Pythonu), tak v te externi metode asi na export do PDF nepouziju TeX, ale rovnou ReportLab. Odpadne mi tak jak starost s externim programem (TeX), tak starost s tim to tomuto programu naformatovat do jeho jazyka (samozrejme, i v ReportLabu si to musim napozicovat do PDF, ale kdyz uz je to cely v Pythonu.. :))
Tohle úplně nechápu - pro designera je to jen nic neříkající atribut, o kterém v zásadě nepotřebuje vědět více, než že si jej nemá všímat, no a nějak tu business logic s tou presentační vrstvou spojit musíte, ne? Oddělit je úplně, tj. tak, aby presentační vrstva presentovala jen sama sebe a logika sice fungovala, ale bez presentace, to asi není úplně ten pravý účel dynamického webu ... :-)))