2012-02-28 150 views
11

我都用了这些(Python和HTML5)的seperately,但是我渴望使用HTML5来绘制的东西和处理事物的客户端使用Python的全功率在网上。我想我正在寻找途径在实施方面下降。这里有一些事情,我想如果可能的话做的事:混合HTML5 Canvas和Python的

  1. 有非常交互式数据,这将需要处理的服务器端被Python,但显示和HTML5画布本地操作。
  2. HTML5 Canvas上的可点击组件,它将与服务器端通信。

有没有人可以推荐的实现?即Google App Engine会有什么用处? Django的?睡衣?

谢谢 - 道歉,如果这似乎有点模糊。我在尝试一条路径之前询问是否有单挑以节省时间和精力。

+0

想想这个,有没有办法用python在HTML5画布上拾取事件? – Androidian 2012-02-29 11:31:08

+0

想想这个,有没有办法用python在HTML5画布上拾取事件?因此,例如,如果将数据时间线扩展到画布绘制元素中,则python将对数据执行一些处理,并将处理后的数据发送回canvas元素进行显示。 – Androidian 2012-02-29 11:43:50

+0

有没有人有使用睡衣的经验?它看起来像它会处理JS/Python路径,但我不知道HTML5? – Androidian 2012-02-29 12:05:01

回答

11

在这种情况下,服务器端比客户端更发达。 (丰富的JS库是一个新的现象,都是。)Django是服务器上可以接受的选择,尽管我至少会考虑Twisted

我在客户端推荐:

  1. 的第一选择是paper.js这是操纵帆布库。卓越的性能,允许事件绑定,丰富的图形操作,教程非常棒。与类似软件相比,似乎也有非常平缓的学习曲线。

  2. 第二选择将是raphael或类似的SVG库。性能不如paper.js好,虽然它在很大程度上取决于屏幕上的内容。

你能详细说明你将在客户端上做什么样的事情吗?可见对象的数量,将绑定到什么对象的事件,您需要的图形过滤器的类型等等,都会大量地告知此选择。

你可能会发现自己的战斗来获得客户良好的图形性能,因此预计要花费大量的时间上。

编辑:根据您的意见,我认为您会发现任一解决方案都可行,所以我会倾向于paper.js只是因为它更有趣一点,如果你确实去了某个意想不到的地方,它将能够去那里和你。

由于您的应用程序听起来就像是有很多的图表做,我建议你看看HighCharts或其他的图表库,其中有几个,包括商业和非。除了生产用于营利应用程序,HighCharts本身免费提供所有产品,否则合理定价。

+0

大量的用户体验将从曲线和曲线中选择数据,所以它的确可能非常密集。良好的绑定是至关重要的,我们必须非常努力地工作,因为您希望在所有平台上尽可能平滑地运行图形。 – Androidian 2012-02-29 09:30:22

+0

也许我们想要做的更好的例子与Google的财务数据finance.google.com非常类似,但是对于一个非常不同的领域,但我们需要显示与时间范围有关的数据。 – Androidian 2012-02-29 10:53:59

2

像这样的富客户端控件一个可行的方法是使用一个堆栈,如:

  • [您的JavaScript用户界面]
  • [一个js lib中图形]
  • Backbone.js的用于管理对象的客户端
  • Django的tastypie包裹你的Django对象以RESTful API
  • Django的定义后端
4

我做的正是你对在客户端服务器端和HTML5画布/ JavaScript的使用Django提到什么。我对结果非常满意,但是想指出你在客户端使用Canvas所做的与你在服务器端为Python使用的东西没有任何关系。