构建像stackoverflow这样的站点的提示

时间:2011-01-04 22:32:12

标签: php mysql web

并不像你想象的那样异想天开 - 如果你有一个普通的网络开发者(我们会说他的名字是“Bob”),他的腰带上有相当数量的php / mysql / jquery / ajax / etc知识,你想从头开始重建一个像SO一样动态和复杂的网站,一些最佳实践,以及你希望它能用多长时间(几小时或几天)才能达到相当稳定的beta?

我问,因为我正在建立一个网站(当然完全不同,但我想象的工作量最终会被比较),而且看起来它似乎永远都是。大约一个月的工作时间不少于每晚几个小时而且它正在发生,但发展似乎呈指数级增长。每个新想法或按钮都会产生一系列其他工作项目。

我尝试尽可能使用预先制作的库和开源项目,并且我已经开始使用像Drupal / Joomla这样的CMS,但老实说,很多自定义网站都是定制的,使用可视化CMS只是似乎阻止了我。

作为支付薪水的人,我付不起其他人的帮助,所以除了志愿者工作之外,我更不用自己来制作这个网站了。 (我们确实有一个自愿测试者的微观社区)

因为我知道,因为我们不打算收取任何费用,我一直在PHPBB3之上建立网站。 (提供用户注册/认证,数据库API以及安全功能和全功能模板系统以及众多其他功能..哦,和论坛,嘿。)

我使用像jQuery + UI这样的库来进行客户端交互。

我尽量让事情变得模块化,所以如果我需要重新布线整个事情它不会是一件糟糕的苦差事,但我担心我在这样的重大项目中缺乏经验会对网站造成致命的影响。成功。

在这里提供的人可以提供哪些课程,以及我应该在实际期望在这里看到什么样的时间表?

3 个答案:

答案 0 :(得分:10)

  

但发展似乎呈指数级升级。每个新想法或按钮都会产生一系列其他工作项目

这是导致它永远消失的原因。你需要一两件事,最好是两件事。

  1. 找出您想要的功能集,然后停在那里。抵制每一个新想法扩大工作量的冲动。我知道这很难。
  2. 如果你无法管理#1,那么你需要更多。 Release quickly and iterate.最好让某些工作完成,然后将其余部分视为改进而不是原始功能。即使工作量没有改变,你的思维方式也会如此,你会对它感觉好很多并且更有动力。另外,如果您有用户,他们会帮助您确定哪些新功能实际值得。

答案 1 :(得分:1)

我不推荐使用CMS。我建议改用一个框架,也许像CakePHP或Codeigniter。它们已经包含了大量内置的库,可以随时使用。一旦掌握了它,事情会变得更快。您可能仍然需要一个或两个JS库,但只要您尽可能使用该框架,如果遵循正确的做法,您就不会有任何麻烦。

答案 2 :(得分:0)

我的建议:不要从头开始构建新网站,而是在{3}}的Stack Exchange网络中建议一个新网站。