在应用引擎(python)中,MVC、GUI+交互式可视化有哪些选择?

2024-04-28 02:24:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个应用程序,允许用户查询、操作和浏览非常大的图形。在

为我的项目创建gui+可视化的“最佳”方法是什么?在

我最好的意思是以下几点:
1符合web标准,没有本月解决方案的味道
2提供创造性的灵活性
三。直观,不需要几个星期的学习和几个月的掌握

我应该开始研究Django并学习它的MVC是如何工作的吗?我读过的所有东西都是关于Django的,但似乎是GAE最常用的选项。在

我很抱歉,如果这是不连贯的。这些技术超出了我的舒适范围,所以我很难找到解决方案,也很难用措辞来表达我的问题。在


Tags: 项目django方法用户web应用程序图形标准
3条回答

考虑到您的第三个要求:看一看像这个Protovis interactive graph visualization,或者这个Infovis graph examplecode)这样的东西。我不知道您的任务范围,但如果您幸运的话,您可能不需要深入到MVC杂草。在第二个例子中,web后端的作用是1)为一些json对象提供需要布局的信息,2)处理响应。(顺便说一句,所有这些链接都是开源的,并且有很好的文档记录。)更具体地说,假设您有一个具有如下接口的图:http://thejit.org/static/v20/Jit/Examples/Hypertree/example3.htmlformatted source)。它的外观轮廓可以简单到:

伪HTML:

<a_canvas_svg_or_webgl_object id="your_surface"> ... </a_canvas...>

<script src="... // one of the above visualization libraries

<script>
selector(#your_surface...
data = json.gets("/graph/minard/data.json"); //typical method name in these libs
data.do_stuff()   // bunch of methods from the visualization guys...
                  // save state/user input to json object
button.onclick... // do an ajax post to an url like "/graph/a/data.json?extent=1234"
                  // use something like query string ie, for when 'extent' changes
etc...

然后在服务器上(示例是GAE兼容的microframework Flask伪代码(但不是那个伪代码)):

^{pr2}$

如果这些与您的应用程序空间没有足够的重叠,那么您至少可以通过查看d3从这个答案中得到一些东西,这是一个较低的级别。在

appengine在UI方面是灵活的。Python支持Django模板(0.96开箱即用,1.2只需一行配置更改)。Django模板易于使用,并且与JavaScript工具包无关。我使用jQuery,但这是appengine没有强制要求的个人选择。在UI方面,这是一个安全的选择,任何时候你学习Django模板语言和jQuery都可以移植到appengine之外。我没看到太多人在Django身上撒尿,但也许我在不同的地方闲逛。在

尽管您强调了UI方面,但我还是要先看看如何将您的大型图映射到appengine数据存储,以及针对您的图的查询将如何执行。appengine数据存储的细微差别常常会让那些有很多关系经验的人感到困惑,他们希望看到表和真正的外键。它非常适合于存储图形,但是值得探索和构建查询原型,这样您就可以知道要进入的内容了。在

appenginesdk非常适合本地(例如,咖啡店中的笔记本电脑)开发。在

不过,我有点偏见。在

它一定要用python编写吗?GAE对GWT有很好的支持。gwteclipse插件可以直接编译并部署到GAE中,而无需进一步修改。满足这三个需求的最佳解决方案是使用GWT+GAE/J

如果你主要在寻找一个图表/图形解决方案,有一些基于Flash*gasp*的好的解决方案非常容易使用,比如AnyChart。在

顺便说一句,如果您在设计任何UI,了解和理解MVC模式是必不可少的。大多数其他的UI设计模式都是MVC的派生,所以不管您选择什么框架,您都可能在学习MVC。在

祝您好运
-tjw公司

相关问题 更多 >