这似乎更像是一场宗教辩论而不是技术问题,但我需要一些东西来假装我很忙,直到咖啡开始。
我花了几年时间编写 Windows 应用程序,然后又使用各种基于 Linux 的后端(包括 PHP,这可能是我最不喜欢的)开发了一些 Web 应用程序,然后又使用了一些 asp。网。我几乎每天都花一整天时间与一个群聊客户端联系,看着碰巧是顾问的朋友互相交流想法,并使用基于 Microsoft 的 Web 开发工具互相帮助解决问题。
我不会假装自己是“专家”,但我确实有足够的经验来发表意见(这绝对是意见)。尽管它相当不连贯。就像我说的……咖啡。
许多大公司都在使用 asp.net,其中有几家正在转向 sharepoint(这对它的作用来说很好,但 MS 正在推动它作为所有问题的答案,但事实并非如此)。似乎更多人正在使用 Java [目前]。如果您想在一个大团队或某家大公司找到一份工作,请学习其中的一个(或者,更好的是,两者都学习)。
就我个人而言,我永远不会将 PHP 用于任何大型项目,因为它不符合我的想法。有很多其他人的思维方式与我不同,他们能够很好地处理大型项目 [使用 PHP]。
asp.net 的 MVC 版本非常肯定(好吧,就你所能得到的……你永远不知道)Windows 平台上 Web 开发的未来。还有各种其他选项(如 Java),但真的。
当然,在 Linux(或 BSD)主机上,所有其他选项都变得非常现实。对于任何给定的项目,我可能会选择几乎所有其他提到过 PHP 的项目,但这只是我的偏见(好吧,我已经知道所涉及的大多数其他语言,除了 smalltalk,我想)。其他写答案的人似乎已经涵盖了大部分显而易见的答案,所以我不会费心重复他们已经写过的内容。
我的印象(可能是错误的)经典的 ASP 是对 PHP 的一种回答。或者反之亦然。或者,也许它们只是并肩进化。这两种语言非常相似。它们非常适合小型、简单的网站。
然后是 java,当涉及到大型企业网站时,它似乎几乎称雄(目前)。
在我看来,MS 意识到他们在与 Java 和 PHP 的竞争中失败了,所以他们推出了 asp.net 作为两者的答案。它比经典的 ASP 大得多,涉及更多,并且需要更多的努力才能适合小型站点。但是对于大型站点(当然对于“大”的某些定义)来说,它[可以说]更容易维护。而且(从我的角度来看)它似乎并不像 java 那样可怕[我在那里的经验几乎为零,顺便说一句......我读过一本书]。
它还添加了几层来隐藏所有讨厌的 http 细节,让开发人员假装他们正在做 Windows 开发。这可以使有经验的 Windows 开发人员的生活更轻松,但在 PHP 中非常简单的一些事情可能会令人难以置信地令人沮丧 [在 asp.net 中]。
Asp.net ajax 在到达时几乎已经死了。它并没有太可怕地破碎,但它还有很多不足之处。 MS似乎已经把马换成了jquery。 还有其他 javascript 框架值得一看(又是一场宗教辩论),但就我个人而言,我不认为 asp.net ajax 是其中之一。 (而且,通常情况下,我只想“检查所有选项,比较成本/收益,并针对每种特定情况做出明智的决定”。
您可能无法将现有的 javascript 与 asp.net 一起使用。我会猜测“一些,经过调整”,但实际上只有一种方法可以找出答案。
只值我的 2 美分。而且,真的,没有其他人没有更好地回答的任何问题。