8

我将为垂直市场构建一个交钥匙解决方案,并希望提供两种选择:软件即服务,并让他们有机会自行托管应用程序。换句话说,我的目标是拥有与 Joel 的 FogBugz 类似的部署选项。

我是一名 Python 程序员,我可以用 Django 飞越这个项目。不过,我更喜欢 PHP 有几个原因:

1) Django 安装和配置假定您可以访问 shell(我的目标不是程序员类型)。虽然我可以提供安装服务,但不能在他们的服务器上。

2) Django 只在一些必须特别注意启用它的特定主机上运行。安装 mod_python/mod_wsgi,很可能我的少数潜在客户将拥有 root 访问权限,甚至是 cpanel。

3) 使用 PHP 意味着我可以在他们现有的服务器上运行它。在 DNS 更新时,我无需将它们移动到支持 Django 的服务器上,也无需为他们的电子邮件停机。

另一方面,我对 PHP 的经验很少。Smarty 作为一种模板语言看起来不错,并且与 Django 模板类似。但是它不提供模板继承,除非我不希望以一种非常骇人听闻的方式使用它,因为如果设计者把它们弄乱了,它可能会破坏应用程序。你怎么看?提前致谢!

4

3 回答 3

4

对于所有非基于 PHP 的 Web 应用程序来说,部署显然是一个问题,但我认为使用提供 Ruby/Python 等开箱即用的 DreamHost/Engineyard 类型的 ISP 会变得更好。看起来本周 PyCon 上将会有很多关于解决部署问题的方法的讨论。Django、Turbogears 和 Pylons 的普及正在推动对更好的部署解决方案的需求。

也就是说,如果您的目标市场是托管在非常低端的每年 12 美元类型的 ISP 上的人,那么我认为您除了 PHP 之外别无选择。

最后,我不同意你的一件事是在同一台服务器上运行 PHP 和 Django。我在我的服务器上使用 Apache 运行了一些 PHP 应用程序,并在守护程序模式下使用 mod_wsgi 运行了数十个 Django 站点。以这种方式运行它意味着 Python 解释器不会在 Apache 工作人员中用完 ram,反之亦然,PHP 解释器不会污染我的 mod_wsgi 守护进程 :)

于 2009-03-27T19:46:19.960 回答
3

如果您希望您的应用程序成为主流,那么您几乎被迫使用 PHP。从 Django 到 PHP 比从 PHP 到 Django 容易得多。你知道标准,你只需要学习 PHP 的语法和函数。

我肯定会使用 PHP 框架。Symfony 和 akelos 与 Rails 非常相似(接近 Django)。另一方面,Code Igniter 会做它应该做的事情——组织你的代码。

于 2009-03-27T21:34:50.650 回答
2

根据您自己的结论,我会选择 CodeIgniter。似乎需要做大量工作来帮助您的客户安装您的网络应用程序,而我认为您不希望这样做。

构建一个易于安装的 Web 应用程序,以便您可以集中精力改进和销售它,而不是作为系统管理员额外工作或编写大量安装教程。

(话虽如此,FogBugz 并不容易安装在我们的 Linux 服务器上,即使它是用 PHP 编写的。我和我的同事(都是程序员!)花了一个多工作日的时间来安装。所以我认为会有安装自托管 Web 应用程序总是有问题。)

于 2009-03-28T15:06:57.610 回答