经过大量研究,我列出了我认为可能是组合基于 Python 的社交网络/cms 的最佳方式的列表,但对于其中一些组件如何组合在一起存在一些疑问。
在我询问特定组件之前,以下是要构建的站点的一些关键功能:
- 一个几乎类似于桌面的现代 gui
- 未来托管高级 html5 子应用程序的能力(例如http://www.lucidchart.com)
- 功能和用户负载的高可扩展性
- 用户能够密码保护和权限管理每个项目/组的内容
- 典型的社交网络特征
- 能够在未来构建缩小的移动版本
这是我正在考虑使用的工具列表:
Google App Engine
Python Django Pinax 睡衣 wxPython
还有问题:
Google App Engine——这是一种切入正题的尝试,因为许多难题似乎已经到位。问题:我是否限制了我的选择?示例:数据存储不是关系型的?商业版下要等SQL支持吗?
Python——我起初考虑过'drupal',但最后决定依赖明天可能存在或可能不存在的模块+其模板系统的限制是一个禁忌。学习它的 API 在其他地方也毫无用处,而 Python 似乎是语言的瑞士军刀——几乎适用于任何事情。问题:GAE 需要 v.2.5.2,但 python.org 推荐 2.5.5。我要安装哪个?
Django -- v.0.96 内置在 GAE 中。你似乎可以升级它。问题:有什么理由不升级到最新版本?解决缺乏 HTML5 支持的方法?
Pinax ( http://pinaxproject.com ) 在 Django 之上运行,似乎提供了任何人想要的大部分社交网络功能。问题:不使用它的原因是什么?备择方案?
睡衣和 wxPython——这是有点令人困惑的部分。这些背后的基本思想是构建 GUI 的能力。在 GAE/Python 路线之前,我曾考虑过 Silverlight 和 Flash,但一些 HTML5 应用程序的工作版本让我相信,它已经在最新一批浏览器上运行,可以选择 HTML5/Javascript 路线。问题:如何扩展/补充 Python/Django 以构建类似应用程序的 HTML5 界面?睡衣和 wxPython 是要走的路吗?还是我应该彻底改变我的想法?
回答这些问题中的一些/任何一个都会有很大帮助。如果其中任何一个没有多大意义,请原谅我的无知。大约 5 到 6 年前,我对网络编程的最后一次冒险是一个相当大的 LAMP 网站。在桌面方面,我的编程经验归结为非常高级的脚本语言,我不断学习以完成非常具体的任务:)