重建现有的webapp:.NET或PHP

时间:2010-10-21 06:04:25

标签: php .net web-applications integration

我们正在寻找我们的Web应用程序的'版本2',该应用程序目前用PHP编写,带有MySQL数据库。由于它与众多开发人员一直处于不断发展的状态大约5年,随着时间的推移,你会将其视为一个整体并认为“如果我们重新开始,我们可以做得更好”。

因此,我们正在寻找新的构建,并一直在讨论最合适的开发路径。我们是否在Linux服务器上坚持使用PHP和MySQL,或者我们现在转向.NET。

我们已经拥有Visual Studio等,因为我们开发了我们的网络应用程序与许多第三方产品(如Microsoft Office和MYOB)之间的集成。

我想要尝试和解决的是在客户感知,可扩展性,支持等方面为我们提供更好的环境。抛开成本因为我不在乎,我想要冷酷的事实。

对于需要与基于Web和应用程序的第三方产品集成的业务管理Web应用程序,我们最好的选择是什么?

4 个答案:

答案 0 :(得分:2)

如果这是版本2,那么您应该知道应用程序的所有缺点以及要实现的新功能。我是坚持这个课程的粉丝,如果当前平台允许您正在寻找的所有功能和稳定性,那么没有任何理由可以改变。我刚开始在这个社区开始,所以我不确定回答主观问题的政策是什么,但我可以告诉你,根据你的要求,你会在每次问的时候得到不同的答案。

答案 1 :(得分:2)

我不是PHP的忠实粉丝,但是我建议当你真正需要做的就是重新构建/重构你现有的PHP应用程序时批发放弃你的.Net部署平台是没有意义的。

显然还有一些其他未说出口的动力,你没有在你的问题中详述,因为你暗示你唯一的选择是留在PHP或转移到.Net ......根据应用程序,它的要求和发展路线图,可能还有许多其他开发选项。

当应用程序的目的和集成要求未知时,也很难提出具体的建议。

更新

谢谢,我感谢您的评论......至于其他未说出口的经理们出于某种原因对.NET感到非常兴奋,并建议我们需要在.NET中重建。我正在寻找一些证据,证明这样做有什么好处,或者我们应该坚持使用php。 - Tim

从你原来问题的措辞来看,这就是我的想象。我会说围绕.Net的大肆宣传应该带着一点点盐,很多$$$进入市场营销.Net并且很多人全身心地吃掉它。

尽管如此,PHP并不是#1语言设计和一致性的典型代表,但是,我们谈论的是你在这里知道的恶魔,而且它是你企业中已知的数量。

然而,如果老板愿意为你和你的团队投入坚实的再培训,那么转移到.Net可能是一件好事,特别是对你和你的同事的职业发展而言,因为,你会有一个底线作为经验丰富的C#/ .Net开发人员,具有更高价值的技能。

在任何一种情况下,我都建议对狂热主义的实用主义。

答案 2 :(得分:1)

这是一个完全主观的问题,并且完全披露,我是一名PHP程序员。

很多(好的和坏的)原因是非PHP程序员非常讨厌PHP。我将留给他们列出.net更好的原因。我相信大多数差异都是学术性的,并且说,以下是您可能希望坚持使用PHP的一些原因:

  1. 您可以将当前应用中的代码复制并粘贴到新应用中。没有逆向工程,只是字面上的复制和粘贴。
  2. 您的组织可能配备了PHP程序员,因为您目前拥有PHP应用程序。
  3. PHP在线提供更多支持和资源。社区非常庞大。
  4. PHP比.net更易于理解(这也是对PHP的批评之一,因为简单性部分来自缺乏对C#,J#和C ++等语言的支持)。
  5. PHP与MySQL(维基百科,例如在两者上运行)以及SQLite非常好地集成。
  6. 最重要的是,PHP是开源的。和我的#3一样,这意味着更多的支持。在我看来,这也意味着更多的安全。
  7. 但是,正如我所说,这个问题是主观的,都是(现在)精细的面向对象语言。

答案 3 :(得分:-3)

如果我必须在.NET和PHP之间进行纯粹的选择,那么.NET在所有帐户上都会胜出。我想不出为什么PHP会更好,除了它更加跨平台并且不需要部署Windows Server。在你的情况下,可能还有其他原因。

已添加:抱歉,我很着急。让我澄清为什么我认为.NET优于PHP:

  • 它有更好的性能 - 它是一个带有JIT的编译语言,可以生成使用当前CPU所有功能的机器代码;
  • 高级IDE - Visual Studio是迄今为止我见过的最好的IDE。而且我看了。对于PHP来说,下一个最好的事情是NetBeans,但这也不是很接近。例如,Visual Studio(在.NET项目中)是我见过代码完成的唯一IDE(也称为Intellisense),它可以100%的时间工作。瞬间。
  • 语言本身比我想描述的更多好处 - 强类型,正确的类(this不能为空,静态方法总是静态的,反之亦然,运算符可以超载,等),代表和事件等;
  • 标准库组织良好 PHP早期版本中缺少名称空间和错误选择(只看到字符串函数),即使在最专注的PHP开发人员圈子中也是臭名昭着的;
  • 文档是 - 这里实际上PHP并不是那么糟糕,因为它的文档大部分已经足够了,但MSDN凭借其紧密的Visual Studio集成和丰富的知识仍然获胜
  • 这是一个主观的,但无论我多么努力编写好的,干净的PHP代码,它始终是一场斗争。在PHP中,很容易将一个快速的小应用程序放在一起,但是当你想要编写更大的东西时,使用框架和许多页面,共享业务层等等 - 这很困难。很快就会变得混乱。在.NET中,它更容易,就好像语言本身会鼓励最佳实践一样。

已添加2: Diclosure - 我主要是.NET开发人员,但也定期编写PHP代码,因此我能熟练使用这两种语言及其库。

已添加3:请注意,这是两种环境的纯粹比较。正如已经说过的那样,现有的PHP经验(以及.NET缺乏经验)也是一个非常强大的因素,甚至可能比上述所有组合更强大。