CherryPy

Апрель 7, 2009

Я тут, возможно, описываю всем хорошо знакомые вещи, но для меня они еще совсем недавно были пустым звуком, поэтому пока впчатления свежи — делюсь.
Что обычно нужно, чтобы приложение работало по http? Правильно http-сервер (можно построить приложение на сокетах). При слове http-сервер у меня сразу две ассоциации (в силу, конечно, необразованности ;) ) — Apache и IIS, и как-то сразу тоскливо на душе, — нет я ничего не имею против этих серверов — они отлично справляются со своими обязонностями. Но что, если для приложения необходим легкий серверочек, который, может, и не должен обладать всеми возможностями полноценных веб-серверов? Что если вы решили написать необольшое приложения для интрасети и не хотите тащить за собой апач или иис?

Одним из ответом может быть лекенький веб-сервер под названием CherryPy. Это, как пишут авторы, хорошо зарекомендовавший себя http-сервер, которому уже более 6 лет, стабильный и используется во многих продакшн-системах. Теперь о моих впечалтениях. Сервер этот невероятно быстр, запускается по щелчку, очень прост в освоении — все что нужно это написать специальный класс, методы которого будут адресами в строке запроса. Вот пример с сайта:

import cherrypy

class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True

cherrypy.quickstart(HelloWorld())

Все! Сервер готов и уже крутиться, возвращая «привет, мир!».  Как я уже говорил, CherryPy мапирует адреса в методы, а параметры адресов в параметры методов соответственно (index — адрес по умолчанию, рутовый), очень просто и логично! Несмотря на то, что сервер «облегченный» у него есть множество механизмов, которые характерны для http-серверов, например, сессии, сжатие, аутентификация. При желании все это можно расширить шаблонами и проч. Главное — это то, что теперь можно очень быстро начать писать распределенные приложения для интрасети или маленькие утилиты, постепенно совершенствуя их различными фишками.

В общем, читайте мануал, система невероятно легка в освоении!

posted in Python by dmitko

3 Comments to "CherryPy"

  1. Becham wrote:

    Круто! Со смартфона немного тяжело читается, но оно того стоит!

  2. Piks wrote:

    А на Symbian 2ndEdFP3 заработает?

  3. dmitko wrote:

    не уверен..

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org