[python] CherryPy

Ivo Štolpa pussa na pussa.cz
Čtvrtek Prosinec 8 09:20:46 CET 2005


balky napsal(a):

> CherryPy nie je aplikacny server? Framework?
>
> balky
> Tomas Brabenec wrote:
>
>> No se Zope nemám moc zkušeností, ale jestli to co vím chápu dobře, 
>> tak se bavíme o dvou rozdílných produktech, které spolu mají společný 
>> snad je Python.
>> Zope je pokud vím balík již hotových produktů (do kterého samozřejmě 
>> může každý dovyvíjet co se mu zlíbí), kdežto CherryPy je vývojové 
>> prostředí pro tvorbu vlastních webových aplikací.
>>
>> TB
>>
>> balky napsal(a):
>>
>>> Ako by ste porovnali CherryPy so Zope? Ake su vyhody CherryPy?
>>>
>>> balky
>>>
>>> Tomas Brabenec wrote:
>>>
>>>> Takže asi ne, nu, škoda.
>>>>
>>>> TB
>>>>
>>>>
>>>> Tomas Brabenec napsal(a):
>>>>
>>>>> Upgradoval jste někdo z CherryPy 1 na CherryPy 2 ?
>>>>>
>>>>> TB
>>>>>
>>>>> ------------------------------------------------------------------------ 
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Python mailing list
>>>>> Python na py.cz
>>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------ 
>>>>
>>>>
>>>> _______________________________________________
>>>> Python mailing list
>>>> Python na py.cz
>>>> http://www.py.cz/mailman/listinfo/python
>>>>
>>>
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>> _______________________________________________
>>> Python mailing list
>>> Python na py.cz
>>> http://www.py.cz/mailman/listinfo/python
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Python mailing list
>Python na py.cz
>http://www.py.cz/mailman/listinfo/python
>
Výsledek je u Zope CherryPy stejný a to webová aplikace počínaje 
jednoduchými stránkami a konče sofistikovanou webovou aplikací.
Rozdíl je ve způsobu práce (programování) a také v distribuci, servisu a 
rozšiřování již hotové aplikace.

Zope je produkt typu all-in-one. Stačí jej nainstalovat a začít tvořit 
aplikaci. Vše se ukládá do jediného datového souboru. Tvorba v Zope je 
především o vytváření šalon pro generování html stránek s použitím 
jazyka TAL (velmi zjednodušeno). Celý vývoj probíhá přes webové rozhraní 
Zope. Distribuce spočívá v nainstalování čistého Zope u zákazníka a 
podsunutím hotového datového souboru. Údržba a rozšiřování pak probíhá 
naprosto stejně jako vývoj, tedy přes webové rozhraní.

CherryPy je čistý (holý) framework. Vývoj probíhá v libovolném vývojovém 
prostředí pro Python. Výsledkem je sada pythonovských skriptů, jako 
každá jiná pytonovská aplikace. Distribuce předpokládá nainstalování 
Pythonu u zákazníka, plus minimálně modul CherryPy, ale asi se bude 
hodit i modul pro přítup k nějaké databázi (bohatě stačí SQLite). Jako 
každou pythonovskou aplikaci, tak i tuto je možné zabalit do 
spustitelného souboru (např. Py2exe). Pak u zákazníka stačí nakopírovat 
spustitelní soubor s pár knihovnami a je to. Servis a rozšiřování takové 
aplikace pak probíhá stejně jako u každé jiné aplikace. Programátor 
vytvoří novější verzi a nahradí jí tu starou.

Pokud programátor zná Python, tak u CherryPy se stačí naučit několik 
základních věcí kolem inicializace CherryPy a pak už je to jen 
pythonovské programování, kde se skládá výsledný html kód. U Zope se 
člověk k Pythonu prokouše až mnohem později. Křivka učení je u Zope 
velmi velmi mírně stoupající. Zásadní rozdíl ale vidím zejména v té 
údržbě a rozšiřování hotové aplikace, kdy u Zope čáta mezi hotovou 
aplikací a následnou údržbou a rozšiřováním je pouze administrativní. U 
CherryPy jde o standardní aplikaci a rozšiřování "za chodu" není možné. 
Já například na serveru s aplikací napsanou v CherryPy mám nainstalován 
FTP server a změny provádím za běhu aplikace podsouváním upravených 
skriptů. CherryPy je na tento způsob připravena.

Já zvolil CherryPy, právě proto, že jsem za jeden páteční večer pochopil 
princip, přes sobotu a neděli pochopil zbytek a následující pátek jsem 
měl aplikaci původně běžící pod PHP a MySQL přepsánu do CherryPy a 
SQLite. Běží to již třičtvrtě roku a této změny nelituji. Zope jsem jen 
několikrát zkoušel, ale nikdy jsem nedošel dál než k vytvoření několika 
propojeným stránkám. Vždy mne zastavila představa toho,kolik času jsem 
musel strávit, abych došel až sem a kolik mi ještě asi zbývá, aby z toho 
něco bylo. Každý kdo došel až do konce si ale Zope pochvaluje.

-- 
Ing. Ivo Štolpa

***********************************************
PUSSA software, Žižkova 13, 58601 Jihlava
e-mail: pussa na pussa.cz, ivo.stolpa na seznam.cz
stránky: http://www.pussa.cz
mobilní telefon: 602 735 124
pevná linka: 567 320 386
fax: 602 783 071
***********************************************





Další informace o konferenci Python