CherryPy-Tutorial-Spanish

Que es CherryPy?
CherryPy es un framework de desarrollo web orientado a objetos en Python. Provee las bases sobre las cuales aplicaciones web complejas pueden ser escritas, con poco o nada de conocimiento e los protocolos subyacentes. CherryPy permite a los desarrolladores construir aplicacones web en una forma muy similar a la que construirían cualquier programa Python. Esto generalmente resulta en menos tiempo de desarrollo.

CherryPy hace lo mejor que puede para mantenerse fuera entre el programador y el problema. Las aplicaciones CherryPy son usualmente muy simples. Funciona mágicamente (out-of-the-box); el comportamiento por defecto es lo suficientemente sensible para permitir un uso sin configuraciones o personalizaciones extensas. EL servidor web embebido, permite a uno desplegar aplicaciones web en donde Python este instalado.

Que NO ES CherryPy?
Como framwework (marco de trabajo) de aplicaciones web, CherryPy hace todo lo necesario para permitir que codigo Python sea ejecutado cuando un recurso (o URL) es requerido por el usuario. Sin embargo, no es un lenguaje de templating (plantilla), como PHP. CherryPy puede trabajar con varios paquetes de templating, incluyendo Cheetah, CherryTemplate, y varios otros. Pero por favor, noten que los paquetes de templating mientras son necesarios en algunos casos, no lo son estrictamente. Y que código Python"puro" puede ser utilizado para generar páginas web.

CherryPy incluye un servidor web liviano embebido, suficientemente capaz de soportar importantes cargas de tráfico. Se estima que CherryPy puede manejar 500 requests/segundo con una configuración razonable (a enero del 2005); esto puede ser traducido como una salida de 15 Mbps. Sin embargo, CherryPy no es apache. Si por otra razon necesita un servidor web de clase empresarial, podrá utilizar Apache y Cherrypy juntos.

De que se trata este tutorial?
Este tutorial cubre los pasos básicos para que un principiante obtenga lo básico del enfoque único que tiene CherryPy acerca del desarrollo de aplicaciones web. Luego de seguir este tutorial, el programador podrá comprender como funcionan las plaicaciones CherryPy, y también implementar simples pero poderosas aplicaciones por si mismo. Algunos conocimientos de Python se asumen. Uno no necesita ser un experto para trabajar con CherryPy, pero un buen entendimiento de lo básico de la orientacion a objetos es muy recomendable.

Conocimiento requerido.
Se asume que el usuario tiene:


 * Algunos conocimientos de Python
 * Alguna experiencia con programación orientada a Objetos.
 * Algún conocimiento de HTML, que es necesario para construir páginas web.

Aprendiendo Python
Como dice arriba, esto no es uan guía del lenguage Python. Hay disponibles muchos recursos buenos para aquellos que estén aprendiendo Python. El sitio official de Python lista alguos buenos, incluyendo un excelente tutorial.

Tu primer aplicación CherryPy
El estandar "Hola Mundo!" toma menos de 10 lineas de código cuando se escribe utilizando CherryPy.

1 import cherrypy 2   3 class HelloWorld: 4    def index(self): 5        return "Hola Mundo!" 6    index.exposed = True 7   8 cherrypy.root = HelloWorld 9 cherrypy.server.start

Se asume que ya tienes CherryPy instalado. Copia este archivo y guardalo localmente como hello.py, luego largá la aplicacion con el comando

python hello.py

Desde tu navegador, ve hacia http://localhost:8080 y deberías ver el Hola Mundo! ahí.

Miremos hello.py

 * El statemente import cherrypy importa el modulo CherryPy. Esto es un requerimiento para tener CherryPy funcionando.
 * Declaramos la clase llamada HelloWorld. Una instancia de la clase es el objeto que va a ser publicado por CherryPy. Contiene un sólo método, llamado index, que sera llamado por la URL raiz por el sitio pedido (por ejemplo: http://localhost/). Este método devuelve el contenido de la página web, en este caso la cadena "Hola mundo!".
 * cherrypy.root = HelloWorld pblica una instancia de la clase HelloWorld
 * cherrypy.server.start llama al servidor web embebido. Correra hasta que sea explicitamente interrumpido, con ctrl-c o con una señal (kill, o terminar proceso). *Es tambien posible implementar un shutdown para el servidor como parte de la aplicacion, pero escapa del alcance del tutorial.