PHP与ASP.NET优劣势分析

简介:

本文基于价格、速度和效率、安全性、开源与否这四个方面对PHP与ASP.NET的优劣势进行了分析,作者认为PHP在价格、速度、效率、安全性、平台支持性和开源与否上的表现,它的强项是远胜于弱点的。 

  不管你是不是已经选择了PHP,根据它在如下表格中在价格、速度、效率、安全性、平台支持性和开源与否上的表现,我们都能判断出它的强项是远胜于弱点的。唯一不足的是缺少面向对象的支持。然而,这是个相对次要的缺陷,虽然不可忽视语言的结构,可是最终来说,优秀的编码还是归结于反复实践、执行、好习惯和纪律。 

价格: 
我不会单纯考量首次投资的价格,拿PHP来说,显然是免费的,但我们也要考虑开发、维护和调试的成本,你可能还要购买Zend优化引擎。对于ASP,你在一开始就要投资购买产品,而且你还会在额外的技术上开销,比如购买图形处理的类库,或是其它。但从长远来看,PHP不会要求你去缴纳升级费用或是购买更多的license。任何曾经接触过license的人都会知道公司往往会在确保产品的兼容性上花费大量时间和金钱。此外,发现bug并得到修复的反馈处理情况也不尽相同,这其实也可换算为时间的消耗,进而影响到整个开发的成本。 

速度和效率: 
就像我前面所提到的,ASP.NET是一个允许你使用多种不同编程语言的框架。此外,它还号称拥有出色的面向对象编程模型。确实如此,可是这却带来了速度上的降低。谈到它的这些优点,对于相同功能的页面来说,比起PHP, 运行于ASP的页面需要其服务器分析、执行更多的代码。而PHP是“快餐型”的解决方案,先将功能搞定,还有很多健壮性上的问题可以留到2.0或是3.0里进行补充,而且它的核心代码得到编译的优化,程序可以高速运行。速度并非唯一的考量,内存的耗用也很重要。 

安全性: 
ASP.NET运行于IIS之上,这是个曾无数次遭受攻击的系统,几乎每周IT的新闻上都会有类似消息。实际上,它已成为一项负债,不管整个市场投了多少美元在上面,很多IT的专业人士已经拒绝将他们的网络暴露于IIS Web服务器之下。而PHP与Apache工作在一起,它拥有良好的速度、可靠性的表现,还有过硬的安全性。 

平台支持性: 
ASP.NET起初运行于IIS,现在也可以运行于Apache,而Apache能运行于所有平台。PHP天生就是设计运行于Apache上,所以你有很多被证明是可靠的平台去选择。 

开源与否: 
开源并非只是那些理想主义程序员们的专利,也不是那些想要在license上节省几十美元的公司所特有的。当你碰到所购买的软件本身的bug的时候,开源可就是天赐良品。 

  无论是用ASP.NET还是PHP,都可能有很多用户用你的软件并发现bug。对于ASP.NET,这些bug就要经过一个官僚的过程来告知,修复,验证,然后再等到下一个补丁时发布。而PHP的修复和发布都很快。任何看过开源开发的人都知道新的产品发布或是补丁经常是几天内的事情而不是商业软件那样的几周或几个月。如果你认为那还不够快的话,如果你愿意,你也可以自己直接修复。

 

本文转自 朱志兵 51CTO博客,原文链接: http://blog.51cto.com/richardzhu/196754,如需转载请自行联系原作者

相关文章
|
12月前
|
开发框架 .NET Apache
301重定向代码合集(iis,asp,php,asp.net,apache)
301重定向代码合集(iis,asp,php,asp.net,apache)
278 0
|
前端开发 NoSQL .NET
一起谈.NET技术,重构TekPub——从ASP.NET MVC框架迁移到Ruby on Rails
  TekPub是一个面向开发人员的站点,致力于为开发人员提供一系列主题的在线培训,主题范围非常广泛,从微软的O/R Mapping框架Microsoft Entity Framework,到如何使用Ruby on Rails技术编写自己的日志引擎等内容都有涉及。
1596 0
|
Web App开发 .NET Shell
Sh“.NET研究”arePoint开发笔记-SharePoint2010添加ASP.NET应用程序
大家可能在sharepoint开发webpart会引入一些asp.net的控件,这时候就会需要添加dll引用..下图所示CRSWebControls便是我添加的.   部署这个项目到sharepoint后.
870 0
|
Web App开发 网络协议 前端开发
一起谈.NET技术,构建高性能ASP.NET站点之一 剖析页面的处理过程(前端)
  前言:在对ASP.NET网站进行优化的时候,往往不是只是懂得ASP.NET就足够了的。 在优化的过程中,一般先是找出问题可能存在的地方,然后证明找出的问题就是要解决的问题,确认之后,在进行一些措施。
1022 0
|
XML 缓存 前端开发
如何真正提高ASP.NET网站的性能
前言 怎么才能让asp.net网站飞得更快,有更好的性能?——这是很多开发者常常思考的一个问题。我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明自己的一些猜想。 理论上讲,我们希望能开发出性能最优的网站,但是公司能否承担为此要付出的成本?这是实践过程中常常遇到的矛盾。
960 0
|
.NET
详解ASP.NET页面的asp“.NET研究”x扩展
  需求:某网站因业务扩展,需拆分出另一个站点,新旧站点具有相同的内容,但具体栏目表现形式上不一样。原网站运行多年,有大量的图片,这些图片也会在新站上使用。任务是:   保证两个网站图片内容同步,即原来的站点增加一个图片,新站点即可使用这个图片。
698 0
|
Web App开发 自然语言处理 .NET
一起谈.NET技术,asp.net程序来读取多语言版本Ini配置文件
  这是asp.net程序来读取多语言版本Ini配置文件的开发示例,主要分为以下三个部分:   1、 Ini 配置文件   2、 读取Ini配置文件的DLL   3、 Web页面调用与内容显示   4、 数据库表T_User,如右图    首先说明一下Ini 文件格式:如下图其中[M_Index]...
1041 0