什么时候选择ASP.NET和什么时候PHP?

时间:2010-07-30 01:01:25

标签: php asp.net

我不是要在这里添加另一个主观问题。

我知道很多开发人员只使用ASP.NET而其他只使用PHP ......

在我的情况下,我的团队使用两者,当然更高级,

我想知道选择一个的关键?你们可以列出所有的优点,并为这些语言的利弊?我知道两者都很好,不要偏见。

欢迎其他语言的答案。

我将为DOTNET添加一个专业版:C#用于所有类型的开发(Web,Windows ..)

3 个答案:

答案 0 :(得分:11)

两者都是良好的系统。显然,Asp.Net的优势在于能够利用更成熟的平台和更好的语言(f# - 但这是个人品味),PHP拥有更多适合世界的开源应用程序。但是这些并没有回答在项目中使用哪一个。

这取决于很多因素。例如:

  • 项目规模(对于小型快速解决方案,PHP可能更好)
  • 任何现有代码库的大小
  • 客户(或老板等)的要求。
  • 部署环境(Asp.Net在Linux上不好)
  • 风险(Asp.Net带有非常好的反注入机制,对于PHP,您需要一致使用PEAR库)
  • 团队中程序员的可用性

基线:这通常是商业决策,而不是技术决策。

答案 1 :(得分:0)

这已被问过并回答了一千次。

与任何语言决策一样,您团队的经验影响最大。

如果你想轻松外包代码并来自脚本背景(例如前端开发人员进行奇怪的代码片段后端修改)我会支持PHP。

PHP专业人士:

  • 成本优势。
  • 更多现有代码(例如Wordpress)。
  • 更高水平的在线支持。
  • 更容易找到新的“编码员”。
  • 快点开始。
  • 非常适合小型项目。

PHP缺点:

  • 编写防弹代码更加困难。
  • 调试成本非常高。也许工具可以帮助这个。

如果您的开发人员是在VB.Net上长大的,或者是最近没有任何网络经验/心态的大学毕业生,那么ASP.NET是一个明确的可能性。

ASP.NET专业人员:

  • 快速拖放控件。
  • 伪隐藏来自不适合网络的开发人员的网页周期。
  • C#是一种比PHP更好的语言。 VB.NET也许也是。
  • 验证和AJAX非常简单。

ASP.NET缺点:

  • 如果您了解网络,那么ASP.NET可能会妨碍您。
  • 如果您迁移到企业级别的成本可能会更高,但在大多数情况下,有各种合法的方式可以在Microsoft程序下获得折扣或通常免费的软件。
  • 更难找到廉价劳动力。
  • 经常掩盖与漏洞抽象相关的错误。

如果您的开发人员知道他们在网络上做了什么,并且也是不错的编程人员(编程背景),那么ASP.NET MVC就是您的选择。

ASP.NET MVC专业人员:

  • 走出你的方式/极简主义的代码和标记方法。
  • 最小的错误,通常很容易纠正存在的错误。
  • 非常可测试。
  • 高度模块化(如果您愿意,可以将视图写为PHP样式代码,或HAML或任何其他内容)。

ASP.NET MVC缺点:

  • 没有拖放控件(与PHP相同)。
  • 费用与ASP.NET相同。
  • 更难找到程序员(在这个阶段你可能会训练有才能的人)。
  • 组合客户端+服务器验证仍然感觉它已经到了那里,但它至少与PHP相提并且有很多很酷的自动绑定。

答案 2 :(得分:0)

只想补充一点,asp.net在Mono上的Linux和MacOS Server上运行得非常好。我们在没有问题的情况下在生产中使用它。