Upload
esteban-saavedra-lopez
View
548
Download
1
Embed Size (px)
DESCRIPTION
TurbogearsFramework para eldesarrollo deaplicaciones web
Citation preview
Framework MVC para el desarrollo Web - TurboGeras
Esteban Saavedra Lopez
CEO Opentelematics [email protected]@yahoo.com
http://jesaavedra.opentelematics.orghttp://esteban.profesionales.org
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 1 / 45
Tabla de Contenidos
1 Frameworks de Desarrollo
2 Turbogears: Framework MVC para el desarrollo de Aplicaciones Web
3 Componentes de Turbogears
4 Instalacion de Turbogears
5 10 pasos para crear un proyecto
6 Conclusiones
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 2 / 45
Frameworks de Desarrollo
Que es un Framework?
Es una estructura de soporte definida en la cual otro proyecto desoftware puede ser organizado y desarrollado.
Se han convertido en la piedra angular de la moderna ingenierıadel software
Es una estructura software compuesta de componentespersonalizables e intercambiables para el desarrollo de una aplicacion.En otras palabras, es una aplicacion generica incompleta yconfigurable a la que podemos aadirle las ultimas piezas paraconstruir una aplicacion concreta.
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 3 / 45
Frameworks de Desarrollo
Cual el objetivo de un framework?
Desarrollo rapido
Desarrollo estructurado
Reutilizacion de codigo
Disminuir el esfuerzo en el desarrollo
Aprovechamos las funcionalidades ya implementadas.
No debemos reinventar la rueda
Nos concetramos directamente en la solucion del problema
Tener como aliado a las metodologıas de desarrollo Agıles (XP, AD)
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 4 / 45
Turbogears: Framework MVC para el desarrollo de AplicacionesWeb
Que es Turbogears
Es un framework para el desarrollo de aplicaciones web
Es la respuesta de python para Ruby on Rails
Permite el desarrollo de aplicaciones web de forma rapida
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 5 / 45
Turbogears: Framework MVC para el desarrollo de AplicacionesWeb
Filosofıa de TurboGears
Desarrollar aplicaciones web de forma rapida, sencilla y divertida
Utilizar los mejores componentes actualmente disponibles
Combinar todo en un paquete facil de usar
Turbogears provee el ”pegamento”, de tal forma que uds no haga elsuyo.
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 6 / 45
Turbogears: Framework MVC para el desarrollo de AplicacionesWeb
Por que Turbogears
Se basa en el patron MVC
Tiene todo lo necesario para desarrollar aplicaciones Web
Soporta Ajax
Posee buena documentacion
Es multiplataforma
Posee una numerosa comunidad de desarrolladores y usuarios
Inspirado en Ruby on Rails (Padrino de la mayorıa de los Frameworks)
Esta en constante desarrollo (en Camino Turbogears 2.0)
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 7 / 45
Turbogears: Framework MVC para el desarrollo de AplicacionesWeb
Patron MVC
Modelo
Controlador
Vista
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 8 / 45
Componentes de Turbogears
Componentes de Turbogears
SQLObject: ORM para elacceso a Base de datos
CherryPy: Servidor deAplicaciones
Kid: Manejo de Plantillas
MochiKit: Manejode LibreriasJavascript/AJAX
TestGears, Nose: Pruebas,testeos automatizados
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 9 / 45
Componentes de Turbogears
SQLObject I
ORM: Mapeador objeto relacional
Las tablas son clases,las filas son instancias(objetos), los campos sonatributos
Elimina la necesidad de escribir SQL
Puese der usado con:
MySQLPostgreSQLsqliteFirebirdSybase, Oracle (en desarrollo)Puede generar BD desde Python, o Python desde BD
Puede generar BD desde Python, o Python desde BD
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 10 / 45
Componentes de Turbogears
SQLObject II
Soporta relaciones:
una a muchosmuchos a muchosjoins y mucho mas
Apoyo a las transacciones
Puede actualizar conexiones oseosas para minimizar la conexion a laBD
Los result set pueden ser divididos en diferentes SQL
Los object cache son recuperados desde la DB
Puede funcionar aun si el SQL esta lleno u ocupado
Sitio Web
http://sqlobject.org/
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 11 / 45
Componentes de Turbogears
CherryPy
Framework para aplicaciones web orientadas a objeto
Mapea las solicitudes (request) a metodos Python usando decoradores
Las varibles CGI son mapeadas como argumentos de los metodos
Nativamente no soporta SSL, pero si se trabaja con mod_proxy omod_python podemos asegurar el trafico
Sitio Web
http://www.cherrypy.org
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 12 / 45
Componentes de Turbogears
Kid
Las plantillas son constituıdas por XML
Lenguaje similar a Zope
Compilado a Python byte-code
Procesado usa un parser basado en ElementTree
Soporta herencia de plantillas y emparejado XSLT
Disenador amigable
Sitio Web
http://kid.lesscode.org
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 13 / 45
Componentes de Turbogears
MochiKit
Biblioteca JavaScript de Python
Bien documentado
Confiable, porciones de prueba automatizados
Importancion simple para acceder a todas las caracterısticas
Sitio Web
http://mochikit.com
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 14 / 45
Componentes de Turbogears
MochiKit
Tareas asıncronas
Manipula DOM
Abstraccion de Color
Fecha y Hora
Formateo de Cadenas
Shell de JavaScript interactivo
Efectos Visuales
Manejo de Logs
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 15 / 45
Instalacion de Turbogears
Instalacion de Turbogears
Existen varias formas de instalar TG, y tambien estan sujetas al S.O
Haciendo uso de la utilidad easy_install.
Mediante el script tgsetup.py.http://www.turbogears.org/download/tgsetup.py
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 16 / 45
Instalacion de Turbogears
Proceso de Instalacion
Instalacionsudo python tgsetup.py
SalıdaTurboGears Installer
Beginning setuptools/EasyInstall installation and TurboGears download
Downloading http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6c6-py2.4.egg
Processing setuptools-0.6c6-py2.4.egg
.....
Installing easy_install-2.4 script to /usr/local/bin
Installed /usr/lib/python2.4/site-packages/TurboGears-1.0.4b1-py2.4.egg
Reading http://files.turbogears.org/eggs/
....
sqlalchemy.__init__: module references __file__
Adding SQLAlchemy 0.3.10 to easy-install.pth file
Installed /usr/lib/python2.4/site-packages/SQLAlchemy-0.3.10-py2.4.egg
....
Adding TurboKid 1.0.3 to easy-install.pth file
Installed /usr/lib/python2.4/site-packages/TurboKid-1.0.3-py2.4.egg
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 17 / 45
Instalacion de Turbogears
Informacion de la Instalacion
Instalaciontg-admin info
SalıdaTurboGears Complete Version Information
TurboGears requires:
* TurboGears 1.0.4b1
* cElementTree 1.0.5-20051216
* elementtree 1.2.6-20050316
* SQLAlchemy 0.3.10
* TurboKid 1.0.3
* TurboJson 1.1
* TurboCheetah 0.9.5
* simplejson 1.7.1
* setuptools 0.6c6
* RuleDispatch 0.5a0.dev-r2306
* PasteScript 1.3.5
* FormEncode 0.7.1
* DecoratorTools 1.5
* configobj 4.4.0
* CherryPy 2.2.1
* Cheetah 2.0rc8
* kid 0.9.6
* RuleDispatch 0.5a0.dev-r2306
....
Salıda Cont.Toolbox Gadgets
* info (TurboGears 1.0.4b1)
* catwalk (TurboGears 1.0.4b1)
....
Identity Providers
* sqlobject (TurboGears 1.0.4b1)
* sqlalchemy (TurboGears 1.0.4b1)
tg-admin Commands
* crud (tgcrud 1.0)
* info (TurboGears 1.0.4b1)
....
Visit Managers
* sqlobject (TurboGears 1.0.4b1)
* sqlalchemy (TurboGears 1.0.4b1)
Template Engines
* cheetah (TurboCheetah 0.9.5)
* json (TurboJson 1.1)
Widget Packages
TurboGears Extensions
* visit (TurboGears 1.0.4b1)
* identity (TurboGears 1.0.4b1)
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 18 / 45
Instalacion de Turbogears
Creacion de un proyecto
Instrucciontg-admin quickstart
Detalles del proyectoEnter project name: Gestion de Charlas
Enter package name [gestiondecharlas]:
Do you need Identity (usernames/passwords) in this project? [no]
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 19 / 45
Instalacion de Turbogears
Creacion de un proyecto
SalıdaSelected and implied templates:
TurboGears#tgbase tg base template
TurboGears#turbogears web framework
Variables:
egg: Gestion_de_Charlas
elixir: False
identity: none
package: gestiondecharlas
project: Gestion-de-Charlas
sqlalchemy: False
sqlobject: True
Creating template tgbase
Creating directory ./Gestion-de-Charlas
Recursing into +einame+.egg-info
Creating ./Gestion-de-Charlas/Gestion_de_Charlas.egg-info/
Copying PKG-INFO to ./Gestion-de-Charlas/Gestion_de_Charlas.egg-info/PKG-INFO
....
Running /usr/bin/python setup.py egg_info
Adding TurboGears to paster_plugins.txt
running egg_info
writing requirements to Gestion_de_Charlas.egg-info/requires.txt
writing Gestion_de_Charlas.egg-info/PKG-INFO
writing top-level names to Gestion_de_Charlas.egg-info/top_level.txt
writing dependency_links to Gestion_de_Charlas.egg-info/dependency_links.txt
reading manifest file ’Gestion_de_Charlas.egg-info/SOURCES.txt’
writing manifest file ’Gestion_de_Charlas.egg-info/SOURCES.txt’
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 20 / 45
Instalacion de Turbogears
Que genero esto? (1)
dev.cfg: configuracion del entorno de desarrollo
README.txt: Indicaciones de como ejecutar la aplicacion
sample-prod.cfg: configuracion del entorno de produccion
setup.py: logica de la estructura y publicacion
start-gestiondecharlas.py: Ejecutable de la aplicacion
gestiondecharlas: directorio donde reside el codigo de la aplicacion
gestiondecharlas.egg-info: directorio de descripcion de calidad de laaplicacion
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 21 / 45
Instalacion de Turbogears
Que genero esto? (2)
controllers.py: Logica de la aplicacion
config: directorio de configuracion de la aplicacion
json.py: como se representan los objetos con JSON
model.py: como persisten los objetos
release.py: informacion de la publicacion
static: directorio de JavaScript, CSS, y archivos de imagen
templates: directorio de plantillas
tests: directorio de 3 unidades de pruebas libres
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 22 / 45
10 pasos para crear un proyecto
10 pasos para crear un proyecto
1 Crear el proyecto (Quickstart)
2 Crear el codigo del modelo de datos
3 Crear la base de datos
4 Adicionar algunos datos usando CatWalk
5 Disear las URLs
6 Adecuar metodos en el controlador
7 Adecuar los templates
8 Adicionar algunos CSS y/o JavaScript
9 Construir el egg
10 Publicar la Aplicacion
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 23 / 45
10 pasos para crear un proyecto
1. Iniciar un proyecto
Instruccionpython start-evento.py
Salıda2007-10-04 11:43:41,284 cherrypy.msg INFO CONFIG: Server parameters:
2007-10-04 11:43:41,285 cherrypy.msg INFO CONFIG: server.environment: development
2007-10-04 11:43:41,285 cherrypy.msg INFO CONFIG: server.log_to_screen: True
2007-10-04 11:43:41,285 cherrypy.msg INFO CONFIG: server.log_file:
2007-10-04 11:43:41,286 cherrypy.msg INFO CONFIG: server.log_tracebacks: True
2007-10-04 11:43:41,286 cherrypy.msg INFO CONFIG: server.log_request_headers: True
2007-10-04 11:43:41,286 cherrypy.msg INFO CONFIG: server.protocol_version: HTTP/1.0
2007-10-04 11:43:41,287 cherrypy.msg INFO CONFIG: server.socket_host:
2007-10-04 11:43:41,287 cherrypy.msg INFO CONFIG: server.socket_port: 8080
2007-10-04 11:43:41,287 cherrypy.msg INFO CONFIG: server.socket_file:
2007-10-04 11:43:41,287 cherrypy.msg INFO CONFIG: server.reverse_dns: False
2007-10-04 11:43:41,288 cherrypy.msg INFO CONFIG: server.socket_queue_size: 5
2007-10-04 11:43:41,288 cherrypy.msg INFO CONFIG: server.thread_pool: 10
2007-10-04 11:43:45,472 cherrypy.msg INFO HTTP: Serving HTTP on http://localhost:8080/
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 24 / 45
10 pasos para crear un proyecto
Acceso al proyecto
Instruccionhttp://localhost:8080
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 25 / 45
10 pasos para crear un proyecto
Modelo del proyecto
model.py
from s q l o b j e c t import ∗from t u r b o g e a r s . da tabase import PackageHub
hub = PackageHub ( ” evento ” )c o n n e c t i o n = hub
# c l a s s YourDataClass ( SQLObject ) :# pas s
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 26 / 45
10 pasos para crear un proyecto
2. Creando nuestro modelo
model.py
c l a s s Char l a ( SQLObject ) :t i t u l o = S t r i n gCo l ( l e n g t h =25)au to r = S t r i n gCo l ( l e n g t h =25)resumen = S t r i n gCo l ( )f e cha = DateTimeCol ( d e f a u l t=date t ime . now)a s i s t e n t e = Mu l t i p l e J o i n ( ” A s i s t e n t e ” )
c l a s s A s i s t e n t e ( SQLObject ) :nombre = S t r i n gCo l ( l e n g t h =25)f e cha = DateTimeCol ( d e f a u l t=date t ime . now)c h a r l a i d = Fore ignKey ( ” Cha r l a ” )
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 27 / 45
10 pasos para crear un proyecto
3. Generando el SQL de creacion
Instrucciontg-admin sql sql
Salıda
Using database URI mysql : // u s u a r i o : u12345@ loca l ho s t / eventoCREATE TABLE c h a r l a (
i d INT PRIMARY KEY AUTO INCREMENT,t i t u l o VARCHAR( 25 ) ,au to r VARCHAR( 25 ) ,resumen TEXT,f e cha DATETIME
) ;CREATE TABLE a s i s t e n t e (
i d INT PRIMARY KEY AUTO INCREMENT,nombre VARCHAR( 25 ) ,f e cha DATETIME,c h a r l a i d INT
) ;
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 28 / 45
10 pasos para crear un proyecto
4. Uso del Toolbox (catwalk)
Instrucciontg-admin toolbox
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 29 / 45
10 pasos para crear un proyecto
5. Mapeo de las URLs
Turbogears permite personalizar la forma en que se visualizaran las URLsde nuestra aplicacion.
Ejemplo 1
http://www.dominio.com/proyecto/id/operacion
Ejemplo 2
http://www.dominio.com/proyecto/modulo/operacion/id
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 30 / 45
10 pasos para crear un proyecto
6. Adecuando el controlador
controller.py
@expose ( t emp la t e=” g e s t i o n d e c h a r l a s . t emp l a t e s . c h a r l a s ” )def c h a r l a s ( s e l f ) :
cha r l a campos = [ ( ” T i t u l o Cha r l a ” , ” t i t u l o ” ) ,( ”Autor ” , ” au to r ” ) ,( ”Resumen de l a Cha r l a ” , ” resumen” ) ,( ”Fechan” , ” f e cha ” ) , ]
r e t u r n d i c t ( c h a r l a s=Cha r l a . s e l e c t ( ) ,c h a r l a w i d g e t=w idge t s . DataGr id ( f i e l d s=cha r l a campos ) )
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 31 / 45
10 pasos para crear un proyecto
7. Adecuando las templates
charlas.kid
<!DOCTYPE html PUBLIC ”−//W3C//DTD XHTML 1 .0 T r a n s i t i o n a l //EN” ” ht tp : //www. w3 . org /TR/ xhtml1 /DTD/xhtml1−t r a n s i t i o n a l . dtd ”><html xmlns=” ht tp : //www.w3 . org /1999/ xhtml ” xmlns : py=” ht tp : // p u r l . o rg / k i d / ns#”
py : e x t end s=” ’ master . k id ’ ”><head><meta content=” t e x t / html ; c h a r s e t=ut f−8” http−equ i v=”Content−Type” py : r e p l a c e=” ’ ’ ”/><t i t l e>L i s t a de Cha r l a s</ t i t l e></head><body>${ c h a r l a w i d g e t . d i s p l a y ( c h a r l a s )}</body></html>
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 32 / 45
10 pasos para crear un proyecto
Proyecto desplegado
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 33 / 45
10 pasos para crear un proyecto
8. Adicionando CSS y/o Javascript
Adicionar o modificar las hojas de estilo (CSS) y/o los javascriptcorrespondientes.
Para nuestro ejemplo se encuentran enGestion-de-Charlas/gestiondecharlas/static/css yGestion-de-Charlas/gestiondecharlas/static/javascript
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 34 / 45
10 pasos para crear un proyecto
8. Anadiendo un poco de efectos (1)
asistentes.kid
<!DOCTYPE html PUBLIC ”−//W3C//DTD XHTML 1 .0 T r a n s i t i o n a l //EN” ” ht tp : //www. w3 . org /TR/ xhtml1 /DTD/xhtml1−t r a n s i t i o n a l . dtd ”><html xmlns=” ht tp : //www.w3 . org /1999/ xhtml ” xmlns : py=” ht tp : // p u r l . o rg / k i d / ns#”
py : e x t end s=” ’ master . k id ’ ”><head><meta content=” t e x t / html ; c h a r s e t=ut f−8” http−equ i v=”Content−Type” py : r e p l a c e=” ’ ’ ”/><t i t l e>L i s t a de A s i s t e n t e s</ t i t l e></head><body>
<form ac t i on=” f i l t r o ” method=”POST”>${busca . d i s p l a y ()}
<i npu t type=” submit ” va lue=” F i l t r a r ”/></ form>
${ a s i s t e n t e w i d g e t . d i s p l a y ( a s i s t e n t e s )}</body></html>
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 35 / 45
10 pasos para crear un proyecto
8. Anadiendo un poco de efectos (2)
Controler.py
@expose ( t emp la t e=” g e s t i o n d e c h a r l a s . t emp l a t e s . a s i s t e n t e s ” )def a s i s t e n t e s ( s e l f ) :
. . . .r e t u r n d i c t ( a s i s t e n t e s=A s i s t e n t e . s e l e c t ( ) ,
a s i s t e n t e w i d g e t=w idge t s . DataGr id ( f i e l d s=a s i s t e n t e c ampo s ) ,busca=w idge t s . AutoComple teF i e ld ( name=” c h a r l a ” , s e a r c h c o n t r o l l e r=” s e a r c h ” ,
s ea rch pa ram=” i npu t ” , r e s u l t n ame=”matches ” ) )@tu rbogea r s . expose ( fo rmat = ” j s o n ” )def s e a r c h ( s e l f , i n pu t ) :
l s t = [ ]f o r c h a r l a i n Char l a . s e l e c t ( ) :
l s t . append ( c h a r l a )i n pu t = i npu t . l owe r ( )r e s u l t a d o = [ ]f o r c h a r l a i n l s t :
i f c h a r l a . t i t u l o . l owe r ( ) . s t a r t s w i t h ( i n pu t ) :r e s u l t a d o . append ( c h a r l a . t i t u l o )
r e t u r n d i c t ( matches = r e s u l t a d o )@expose ( t emp la t e=” g e s t i o n d e c h a r l a s . t emp l a t e s . a s i s t e n t e s f i l t r o ” )def f i l t r o ( s e l f , c h a r l a ) :
l s t = [ ]f o r a s i s t e n t e i n A s i s t e n t e . s e l e c t ( ) :
i f a s i s t e n t e . g e t c h a r l a ( ) == ch a r l a [ ” t e x t ” ] :l s t . append ( a s i s t e n t e )
a s i s t e n t e c ampo s = [ ( ”Nombre A s i s t e n t e ” , ”nombre” ) , ( ”Fecha de R e g i s t r o ” , ” f e cha ” ) ,( ” Cha r l a ” , A s i s t e n t e . g e t c h a r l a ) ]
r e t u r n d i c t ( a s i s t e n t e s=l s t , a s i s t e n t e w i d g e t=w idge t s . DataGr id ( f i e l d s=a s i s t e n t e c ampo s ) )
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 36 / 45
10 pasos para crear un proyecto
Filtro para Consulta
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 37 / 45
10 pasos para crear un proyecto
Resultado de la Consulta
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 38 / 45
10 pasos para crear un proyecto
9. Construir el egg
Editar release.py y rellenar los metadatas correspondientes
Crear el egg
Instruccionpython setup.py bdist_egg
Copiar el egg al host destino donde se instalara la aplicaciondesarrollada
Instalacion del eggeasy_install Gestion-de-Charlas-1.0-py2.4.egg
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 39 / 45
10 pasos para crear un proyecto
10. Publicar la aplicacion desarrollada
Debemos decidir en que servidor publicaremos nuestra aplicacion. Algunasalternativas son:
CheryPy-Server (solo para desarrollo y pruebas)
Apache: mod_proxy
Apache: mod_python
nginx
LighTTP
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 40 / 45
10 pasos para crear un proyecto
Ejemplo de aplicacion desarrollada (1)
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 41 / 45
10 pasos para crear un proyecto
Ejemplo de aplicacion desarrollada (1)
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 42 / 45
Conclusiones
Conclusiones
Turbogears:
Tiene todo lo necesario para desarrollar aplicaciones Web
Soporta Ajax
Posee buena documentacion
Es multiplataforma
Esta en base a un lenguaje muy poderoso y muy facil de aprendercomo es Python.
Esta en constante desarrollo (en Camino Turbogears 2.0 con muchassorpresas)
Al tener como aliado a las metodologıas de desarrollo Agıles (XP,AD), se convierte en un fuerte candidatos para desarrollo deaplicaciones web.
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 43 / 45
Conclusiones
Preguntas y Agradecimientos
Preguntas
Consultas ?
Agradecimiento
Gracias por su atencion
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 44 / 45
Conclusiones
Links de Referencias
Sitio de Turbogears http://www.turbogears.com
Libro de turbogears http://www.turbogearsbook.com/
Documentacion http://docs.turbogears.org/
Widgets http://docs.turbogears.org/1.0/Widgets
Esteban Saavedra Lopez (Opentelematics) Framework MVC para el desarrollo Web - TurboGeras Oct. 2007 45 / 45