2010-01-26 9 views
5

He desarrollado Python Server con flujos de trabajo, vistas, objetos - ORM/OSV, etc ... Comunicación entre el servidor y el cliente basada en el protocolo de socket, se puede hacer con cualquiera de los servicios 1. Servicio XMLRPC 2. Socket Servicio¿Qué tecnología es preferible para construir un cliente GUI basado en web?

ahora Quiero desarrollar un cliente web GUI basado totalmente en Ajax .. Tengo servicios web/socket para comunicarme con el servidor.

lo que necesito es seleccionar la tecnología, tengo varias opciones como,

  1. ExtJS - CherryPy
  2. GWT
  3. Ext GWT-
  4. CheeryPy
  5. Django + JQuery
  6. Django + Extjs
  7. ???
  8. ??? ...
+2

Django para crear un cliente? Eso no tiene sentido. Su presencia en esta lista significa que no entiendo tu pregunta. ¿Puedes explicar por qué estás usando frameworks web para construir clientes web? –

+0

tiene razón, django tiene su propio marco de trabajo y otras cosas. Solo necesito una plataforma web, para un servidor HTTP basado en la interfaz gráfica de usuario y fácil de usar, más rápido y confiable.El servidor – shahjapan

Respuesta

1

Usted ha dicho que tiene un servidor. Entonces, ¿qué protocolo se entiende por eso? Si solo es HTTP, no necesita un marco web como Django/CherryPy. Puede tomar cualquier marco JS como (jQuery + jQuery Tools, MooTools, ExtJS, lo que sea) y anotar los scripts JS que le hablarán a su servidor a través de solicitudes AJAX y visualizarán las respuestas en forma de html.

Si su servidor es algo con lo que se debe hablar con un protocolo TCP/IP personalizado, debe crear un proxy. Podrías usar un framework para esto como Django, pero por simplicidad recomiendo tomar WSGI + Werkzeug.

+0

comprende 2 protocolos, xmlrpc y 2a es la comunicación basada en socket python – shahjapan

+2

, por lo que necesita un puente que acepte solicitudes HTTP del navegador, las traduzca a paquetes basados ​​en socket, espere la respuesta y traduzca a un formulario consumible por navegador (json , xml, html). Si tienes ideología en tiempo real y no solicitud-respuesta, tienes que mirar la tecnología que se llama Comet – nkrkv

+0

O como dije, solo usa Flex (o supongo que Silverlight) que viene con la funcionalidad del socket lista para usar. –

1

No estoy seguro de haber entendido exactamente del lado del servidor, pero soy un gran admirador de Flex como una forma de desarrollar el software adecuado para el navegador, en lugar de hacer el HTML haciendo cosas que nunca fue hecho para. En parte, es un razonamiento idealista, pero tampoco estoy impresionado por la "sensación" de las GUI basadas en JS.

Flex tiene buenas opciones de servidor de comunicación ... servicios web, tomas de corriente, objetos remotos, etc.

+0

pero necesita un navegador con flash y necesita comprar el Flex DK, ¿no es así? – enguerran

+0

no sé lo que es un navegador. Flex SDK es gratuito, el IDE de Adobe no lo es, pero no es esencial; sin embargo, supongo que los profesionales utilizan herramientas profesionales y no es muy caro. Prefiero usar la herramienta correcta que ahorrar unos $ y hacer algo menos genial. –

0

¿Qué hay de los pilones + SQLAlchemy + ExtJS? ¡Lo usamos y funciona genial!

5

Pruebe usar pyjamas, que es un puerto de GWT para Python. En lugar de escribir código en js, que es una experiencia bastante inquietante, puede codificar en Python y compilarlo en js.

+0

Me gustó el pijama, no lo sabía, gracias. – shahjapan

+1

Espero que te sirva :-) Todavía no puedo ejecutar programas de pijamas como scripts independientes de python, pero compilar js funciona muy bien :-) – gruszczy

1

Si te gusta Django para los bits del lado del servidor de su front-end, considere dojango - que ayuda a integrar Django en el lado del servidor con el dojo Javascript kit de herramientas del navegador en el lado de las cosas (Dojo no es tan populares como jQuery, sin embargo, es casi tan poderoso, y algunos de nosotros lo preferimos por razones arquitectónicas y estilísticas ;-).

Cuestiones relacionadas