构建基于网页的GUI客户端首选哪种技术?
我有一个功能完善的Python服务器,里面有工作流程、视图、对象 - ORM/OSV等等。服务器和客户端之间的通信是基于socket协议的,可以通过以下任意服务来实现:
- XMLRPC服务
- Socket服务
现在我想开发一个完全基于Ajax的图形用户界面(GUI)网页客户端。我已经有了与服务器通信的网页/socket服务。
我需要选择一种技术,我有几个选项,比如:
- ExtJS - CherryPy
- GWT
- Ext-GWT
- CheeryPy
- Django + JQuery
- Django + Extjs
- ???
- ???...
5 个回答
1
你说你有一个服务器。那么这个服务器能理解什么协议呢?如果它只支持HTTP,那你就不需要像Django或CherryPy这样的网络框架。你可以使用任何JavaScript框架,比如jQuery加上jQuery Tools、MooTools、ExtJS等等,写一些JavaScript脚本,通过AJAX请求和你的服务器进行沟通,并把服务器的回复以HTML的形式展示出来。
如果你的服务器需要用自定义的TCP/IP协议来交流,那你就需要搭建一个代理。你可以使用像Django这样的框架来实现,但为了简单起见,我建议你使用普通的WSGI加上Werkzeug。
1
我不太确定我对服务器端的理解是否完全正确,但我非常喜欢Flex这个工具,因为它能帮助我们为浏览器开发合适的软件,而不是费劲去让HTML做一些它本来就不擅长的事情。这部分是出于理想主义的考虑,但我对基于JavaScript的图形用户界面(GUI)的使用体验也不是很满意。
Flex在与服务器沟通方面有很多不错的选择,比如网络服务、套接字、远程对象等等。
5
可以试试 pyjamas,这是一个把GWT移植到Python上的工具。这样你就不用直接写让人头疼的JavaScript代码了,而是可以用Python编程,然后把它转换成JavaScript。