[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