【问题标题】:Which technology is preferable to build a web based GUI Client? [closed]哪种技术更适合构建基于 Web 的 GUI 客户端? [关闭]
【发布时间】:2010-01-26 10:51:59
【问题描述】:

我已经很好地开发了具有工作流、视图、对象 - ORM/OSV 等的 Python 服务器...... 基于套接字协议的服务器/客户端通信,可以由任何服务完成 1. XMLRPC 服务 2. 套接字服务

现在我想开发一个完全基于 Ajax 的 GUI Web 客户端.. 我有 web/socket 服务来与服务器通信。

我需要的是选择技术,我有几个选项,例如,

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

【问题讨论】:

  • Django 用于构建客户端?这是没有意义的。它出现在此列表中意味着我不理解您的问题。您能解释一下为什么要使用 Web 框架来构建 Web 客户端吗?
  • 你是对的,django 有自己的框架和其他东西我只需要一个 web 平台 - 用户友好、更快和可靠的基于 GUI ajax 的 HTTP 服务器。

标签: python django gwt extjs webclient


【解决方案1】:

尝试使用pyjamas,它是 Python 的 GWT 端口。不用用 js 写代码,这种体验很烦人,你可以用 Python 编码,然后编译成 js。

【讨论】:

  • 我喜欢我不知道的睡衣,谢谢。
  • 希望它对你有用 :-) 我仍然不能将睡衣程序作为独立的 python 脚本运行,但是编译成 js 就可以了 :-)
【解决方案2】:

你说过你有一个服务器。那么它理解什么协议呢?如果只是 HTTP,则不需要 Django/CherryPy 之类的 Web 框架。您可以使用任何 JS 框架,例如(jQuery + jQuery Tools、MooTools、ExtJS 等)并编写 JS 脚本,这些脚本将通过 AJAX 请求与您的服务器通信,并以 html 的形式可视化回复。

如果您的服务器需要使用自定义 TCP/IP 协议与之通信,则您必须构建代理。您可以使用 Django 之类的框架,但为简单起见,我建议使用普通的 WSGI + Werkzeug

【讨论】:

  • 服务器理解 2 个协议,xmlrpc 和 2nd 是基于 python 套接字的通信
  • 所以你需要一个桥接器来接收来自浏览器的 HTTP 请求,将它们转换为基于套接字的数据包,等待回复并将其转换为浏览器可使用的格式(json、xml、html)。如果您有实时意识形态而不是请求响应,则必须查看称为 Comet 的技术
  • 或者就像我说的,只使用 Flex(或者我假设是 Silverlight),它带有开箱即用的套接字功能。
  • 如果您将架构移植到 HTTP,您将更容易找到此问题的答案,如 nail.xx 所述。
【解决方案3】:

我不确定我是否完全理解服务器端,但我是 Flex 的忠实粉丝,它是一种为浏览器开发适当软件的方式,而不是试图让 HTML 做一些从未做过的事情的混乱为了。部分是理想主义的推理,但我仍然对基于 JS 的 GUI 的“感觉”印象不深。

Flex 具有良好的服务器通信选项...网络服务、套接字、远程对象等。

【讨论】:

  • 但是您需要一个带闪存的导航器,并且您需要购买 Flex DK,不是吗?
  • 不知道什么是导航器。 Flex SDK 是免费的,Adobe 的 IDE 不是但不是必不可少的——但我认为专业人士使用专业工具并且它不是很贵。我宁愿使用正确的工具,也不愿节省几美元,做一些不那么伟大的事情。
【解决方案4】:

如果您喜欢将 Django 用于前端的服务器端部分,请考虑 dojango -- 它有助于将服务器端的 Django 与浏览器端的 dojo Javascript 工具包集成(Dojo 不是与 jQuery 一样受欢迎,但它也同样强大,我们中的一些人出于架构和风格的原因更喜欢它;-)。

【讨论】:

    【解决方案5】:

    Pylons + SQLAlchemy + ExtJS 怎么样?我们使用它并且效果很好!

    【讨论】:

      猜你喜欢
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      相关资源
      最近更新 更多