如果你不得不在任何网络平台上重做一个每天有150个桌面和250,000个访问者的网站,它会是什么?

时间:2010-06-01 09:59:18

标签: platform

如果您必须在任何网络平台上重做一个每天约有150个桌面和250,000多个访问者的网站,您会选择什么?为什么?

一些要点

  • 团队经验丰富的开发人员
  • 旧的应用程序是用未经重构的PHP编写的。它无法使用。
  • 大部分数据库未规范化,并且列中存在错误的列。许多新功能和数据库现在都无法支持它们。

期望的目标:

  • 优秀且快速的测试(grails对此不利)
  • 能够不重复任何事情的关注点(域名,控制者,视图)的良好分离
  • 简洁代码&优雅的设计 - 没有代码膨胀
  • 灵活 - 我们不想遇到漏洞抽象问题
  • 编码和测试速度很快 - 编写控制器测试不需要1小时,或者我们不必花费超过1分钟的时间来编写可重复使用的标签。

Scala是我们的想法,但我们很难看到它是如何工作的,因为工具尚未成熟。我们其实不喜欢Grails。我们很多人习惯于Java / Spring / Hibernate,但却厌倦了它的低级性质,并希望有更具表现力的东西。

3 个答案:

答案 0 :(得分:1)

这是一个非常难以回答的问题,因为有许多因素需要考虑,你没有提到过。例如,将重写它的开发人员的技能是什么?目前如何实施?可以重用现有代码吗?性能要求是什么?

如果是我的决定,我会选择Groovy / Grails,因为:

  • 我喜欢Groovy / Grails并且很了解这些技术
  • 提供良好的性能,因为它主要基于Java和成熟的Java库(如Spring和Hibernate)构建

<强>更新

  

优秀且快速的测试(grails对此不利)

我不知道任何Web框架会将更多精力投入到Grails的可测试性中。它使得测试所有类型的工件(控制器,域,服务,标签库)变得非常简单。

  

我们实际上不喜欢Grails

如果您已经了解Java,Spring和Hibernate,我发现很难理解为什么您不喜欢Grails。

答案 1 :(得分:1)

我会组建一个详细的研究小组来分析我们的选择,看看我们可以使用什么,以及它如何扩展到它必须经受的负载和任务。在那之后,选择前5个选项进行仔细检查,看看团队中有什么漂浮。就个人而言,我已经开始喜欢使用RoR而不是PHP。

根据旧/当前项目的状态,确保在触摸之前备份所有内容并进行版本控制。有些人将他们的项目的一半留下来,或根本不使用任何一个!

答案 2 :(得分:0)

在Linux环境中好的旧php / mysql / apache是​​我见过的最稳定的。我在Asp.Net / SQL Server / IIS / Windows上工作3年以来只有SQL服务器稳定,但是这真的很贵,所以如果你真的不知道你要去哪里(关于金钱),你最好还是要照顾这个参数。

在开放的环境中,我会发现你会找到更多的帮助。