Aplicaciones de gestion y entorno grafico-texto

Antonio Jesús Carrasco García antoniojezu en hotmail.com
Lun Jun 16 14:15:00 CEST 2003


>Alguna experiencia similiar, sugerencia, enlace, manual, ejemplo.....

La respuesta más inmediata es: JavaScript.

La respuesta elaborada basada en mi experiencia:
Todas las aplicaciones que he realizado han sido en entornos HTTP (Zope, 
webware, jsp+tomcat, php+apache,...), así que te cuento. ¿Cómo andas de 
programación orientada a objetos?. Sería interesante que usaras ese modelo. 
Lo que yo hago es hacer coincidir la estructura de Objetos del cliente con 
la que hay en el servidor.

Es decir, en tu caso, si tienes una clase que será existencia( id, 
descripcion,..) a la hora de mandar la respuesta a una consulta de una 
existencia por ejemplo, creo javascript dinámicamente y relleno los datos de 
una clase javascript existencia(id, descripcion,...). Luego se trata de 
asociar eventos con respuestas, es decir, en pseudo-meloinventoyo-lenguaje:
onPulsadoUnIdExistenciaParaVerDescripcion -> 
campoDescripcion.value=existencia.descripcion.

¿Qué pasa si tienes una tienda?. Se complica un poco, pero no mucho. En 
python tendrás tienda(id, ciudad,existencias,...) y en javascript idéntico, 
creado dinámicamente, almacenando en el atributo 'existencias' de 'tienda' 
todos los objetos 'existencia' de esta 'tienda' (un diccionario serviría, y 
tanto python como javascript provee estructuras de diccionarios flexibles). 
Cuando quieres mostrar los datos de una existencia de una tienda:

onMostrarEseDato -> 
campoDescripcion+(idExistencia)=tienda.existencias[idExistencia].descripcion.

No sé explicarme mejor escribiendo, pero creo que más o menos te habrá 
quedado claro. A partir de aquí cualquier otra operación se hace comiéndote 
la cabeza un poco ampliando la estructura. Te surgiran dos problemas al 
menos:

1. Persistencia. Los datos en la pantalla del cliente puede no reflejar la 
realidad de la base de datos. Yo lo resuelvo con botones de guardar, 
actualizar, insertar, etc...

2. Compatibilidad entre navegadores. Si necesitas la compatibilidad, haz que 
funcione con mozilla y pruébalo en iexplorer para corregir errores. El caso 
contrario es más difícil, ya que iexplorer hace cosas hasta cuando está mal 
escrito.

Conclusción(conocimientos mínimos necesarios):
-JavaScript.
-Html.
-Python.
-Sql.
-Dhtml (Si vas a usar capas).
-....

Espero haber ayudado.

Anexo.

Desde python harías algo así(no probado, y seguramente con errores):
print "<script language='JavaScript1.2'>"

print "var tienda;\n"
print "tienda.existencias=[];\n"

for existencia in tienda.existencias:
  print "var existencia;\n"
  print "existencia.id=",existencia.id.";\n"
  print "existencia.descripcion=",existencia.descripcion
  print "tienda.existencias['",existencia.id,"']=existencia;\n"

print "</script>"

El paso siguiente, sería crear un modulo de python que te creara el 
javascript a partir cualquier clase python; pero eso, otro día.

_________________________________________________________________
Accede al romance onine. Descubre gente que busca a otra gente en MSN Amor & 
Amistad. http://match.msn.es/




Más información sobre la lista de distribución Python-es