views:

481

answers:

5

I've well developed Python Server having workflows, views, object - ORM/OSV, etc... Server/Client communication based on socket protocol, can be done by any of service 1. XMLRPC Service 2. Socket Service

now I want to develop a Fully Ajax based GUI web Client.. I've web/socket services to communicate with server.

what I need is to select the technology, I've several options like,

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

You've said you have a server. So what protocol is understood by it? If it is just HTTP you don't need a web framework like Django/CherryPy. You could take any JS framework like (jQuery + jQuery Tools, MooTools, ExtJS, whatever) and write down JS scripts that will talk to your server via AJAX requests and visualize replies in form of html.

If your server is something that should be talked to with custom TCP/IP protocol you have to build a proxy. You could use a framework for this like Django, but for simplicity I recommend to take plain WSGI + Werkzeug.

nailxx
server understands 2 protocols, xmlrpc and 2nd is python socket based communication
Tumbleweed
so you need a bridge that will take HTTP requests from browser, translate them into socket-based packets, wait for reply and translate it to a form consumable by browser (json, xml, html). If you have real-time ideology and not request-response you have to look at technology that is called Comet
nailxx
Or as i said, just use Flex (or I assume Silverlight) which comes with socket functionality out of the box.
John
If you port your architecture to HTTP, you'll have an easier time finding answer to this question, as noted by nail.xx.
Jonathan Julian
+1  A: 

I'm not sure I understood exactly on the server side, but i'm a big fan of Flex as a way to develop proper software for the browser, rather than mess of trying to make HTML do things it was never made for. Partly an idealistic reasoning, but I also am still not impressed by the 'feel' of JS-based GUIs.

Flex has good server-communication options... web-services, sockets, remote objects, etc.

John
but you need a with-flash navigator and you need to buy the Flex DK, don't you?
enguerran
don't know what a navigator is. Flex SDK is free, Adobe's IDE is not but is not essential - however I assume professionals use professional tools and it's not very expensive. I'd rather use the right tool than save a few $ and make something less great.
John
A: 

How about Pylons + SQLAlchemy + ExtJS? We use it and it works great!

Tefnet Developers
+5  A: 

Try using pyjamas, which is a port of GWT for Python. Instead of writing code in js, which is pretty disturbing experience, you can code in Python and compile it to js.

gruszczy
I liked the pyjamas I was not knowing that,thanks.
Tumbleweed
Hope it works for you :-) I still can't run pyjamas programs as standalone python scripts, but compiling to js works just fine :-)
gruszczy
+1  A: 

If you like Django for the server-side bits of your front-end, consider dojango -- it helps integrate Django on the server side with the dojo Javascript toolkit on the browser side of things (Dojo is not quite as popular as jQuery, nevertheless it's just about as powerful, and some of us prefer it for architectural and stylistic reasons;-).

Alex Martelli