建立像 stackoverflow 这样的网站的技巧

发布于 2024-10-10 05:41:28 字数 760 浏览 0 评论 0原文

这个问题并不像您想象的那么异想天开 - 如果您有一个普通的 Web 开发人员(我们会说他的名字是“Bob”),并且拥有相当多的 php/mysql/jquery/ajax/etc 知识,并且您想要从头开始重新创建一个像 SO 这样动态和复杂的网站,有哪些最佳实践,以及您预计需要多长时间(几小时或几天)才能使其达到相当稳定的测试版?

我问这个问题是因为我正在构建一个网站(诚然完全不同,但我想象的工作量最终会相当),而且似乎需要很长时间。经过大约一个月的时间,每晚至少工作几个小时,它正在进展,但开发似乎呈指数级升级。每个新想法或按钮都会催生一系列其他工作项目。

我尝试尽可能使用预制库和开源项目,并且我研究过使用 Drupal/Joomla 等 CMS,但老实说,很多自定义网站都是自定义的,使用可视化 CMS 似乎可以满足需要。我回来了。

作为一个靠工资吃饭的人,我付不起钱请别人帮忙,所以除了志愿者工作之外,我更不用自己来制作这个网站了。 (我们确实有一个由自愿测试者组成的微观社区)

因为我知道这一点,因为我们不打算收取任何费用,所以我一直在 PHPBB3 之上构建该网站。 (提供用户注册/身份验证、数据库 API 以及安全功能和功能齐全的模板系统以及大量其他功能。哦,还有一个 FORUM,呵呵。)

我使用 jQuery+UI 之类的库进行客户端交互。

我尝试使事情尽可能模块化,因此如果我需要重新连接整个事情,这不会是一件可怕的苦差事,但我担心我在此类重大项目中缺乏经验将对网站的成功造成致命的影响。

这里的人们可以提供哪些经验教训,以及我实际上应该期望在这里看到什么样的时间表?

Not as whimsical a question as you might expect - If you have an average web developer (we'll say his name is "Bob") with a fair amount of php/mysql/jquery/ajax/etc knowledge under his belt, and you wanted to recreate a site like as dynamic and as complex as SO from scratch, what are some best practices, and how long (hours or days) would you expect it to take to get it to a fairly stable beta?

I ask because I'm working on building a site (admittedly completely different, but the workload I imagine will end up being comparable), and it just seems like it's taking forever. It's been about a month working it no less than a few hours a night and it's coming along, but development just seems to escalate exponentially. Every new idea or button spawns a whole range of other work projects.

I try to use pre-made libraries and open source projects when I can, and I've looked into using CMS's like Drupal/Joomla, but honestly so much of custom sites are, well custom, that using a visual CMS just seemed to hold me back.

Being a paycheck to paycheck kind of person, I couldn't afford to pay someone else to help, so beyond volunteer work I'm more less on my own here to make the site. (We do have a microscopic community of willing testers)

Because I know it, because we aren't planning to charge any fees I've been building the site on top of PHPBB3. (provides the user registration/authentication, a database API plus functions for security and a full featured templating system and a plethora of other features.. Oh, and a FORUM, heh.)

I use libraries like jQuery+UI for the client side interactions.

I try to make things as modular as possible, so if I need to rewire the whole thing it wont be a terrible chore, but I worry that my lack of experience in major projects like this is going to be fatal to the site's success.

What lessons can folks who have been here offer, and what kind of timeline should I realistically expect to be looking at here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陌伤浅笑 2024-10-17 05:41:28

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

这就是导致它永远持续下去的原因。您需要一两件事,最好是两件事。

  1. 找出您想要的功能集,然后就到此为止。克制住因每一个新想法而增加工作量的冲动。我知道这很难。
  2. 如果你无法管理#1,那么你就更需要这个。 快速发布并迭代。 最好先完成一些工作,然后将其余部分视为改进而不是原始功能。即使工作量没有改变,你的心态也会改变,你会感觉好多了,更有动力。作为一个额外的好处,如果您有用户,他们会帮助您找出哪些新功能实际上是值得的。

but development just seems to escalate exponentially. Every new idea or button spawns a whole range of other work projects

This is what's causing it to take forever. You need to one or two things, preferably both.

  1. Figure out your desired feature set, and stop there. Resist the urge to expand your workload with every new idea. It's hard, I know.
  2. If you can't manage #1, then you need this even more. Release quickly and iterate. It's better to get something working done, and then consider the rest of it as improvements rather than original features. Even if the workload doesn't change, your mindset will, and you'll feel a lot better about it and more motivated. As an added plus, if you have users, they'll help you figure out which new features are actually worthwhile.
白鸥掠海 2024-10-17 05:41:28

我不会推荐 CMS。我建议改用框架,比如 CakePHP 或 Codeigniter。它们已经内置了大量可供使用的库。一旦掌握了窍门,事情就会进展得更快。您可能仍然需要一两个 JS 库,但是只要您尽可能多地使用该框架,如果遵循正确的做法,您就不应该遇到任何问题。

I wouldn't recommend a CMS. I'd recommend going with a framework instead, perhaps something like CakePHP or Codeigniter. They already include a ton of libraries built in and ready to be used. Makes things go way faster once you get the hang of it. You may still need a JS library or two, but as long as you use the framework as much as possible, you shouldn't have any trouble if proper practices are followed.

衣神在巴黎 2024-10-17 05:41:28

我的建议:不要从头开始构建新站点,而是在 Stack Exchange 网络中建议一个新站点,网址为 http://area51.stackexchange.com。

My advice: instead of building a new site from scratch, propose a new site within the Stack Exchange network, at http://area51.stackexchange.com.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文