July 11th, 2007 at 7:08 pm

ASP.net与PHP的PK

Tags: //

这是今日完成的一篇调研报告。关于开发语言的争论自古有之,且从未有一个定论。此文仅是在某特定需求限制下的一篇报告,用了尽可能简明的语言,适合喜欢信息快餐的人群。(致谢人肉搜索引擎Janpo兄)

-------------------------我是分割线-----------------------
-----------------------我也是分割线-----------------------
----------------------我们都是分割线---------------------

《关于老年人旅游网站服务器及开发平台的调研报告》

【前言】

某研究项目需搭建一个针对老年人的旅游网站,网站的主要功能如下:

1. 提供景点信息、旅游产品信息;

2. 用户可以注册,并购买提供的旅游产品("三亚五日游")等;

3. 用户可以发表游记和照片,并形成自己的个人旅游博客;

4. 用户对提供的景点信息、产品信息等可以提交评论和打分。

截至目前,该网站功能设计和界面设计基本完成,暂定使用某安装Windows 2000 Server版操作系统的HP服务器。目前,网站计划进入Coding阶段,需根据需求和服务器确定开发平台的选择以及服务器环境的配置。


【拟实现目标】

本调研报告对ASP.net和PHP两种开发语言进行了调研(ASP语言已逐渐淡出程序舞台,故不在考虑范围内),拟通过选择一款合适的开发语言,达到下述目标:

1. 较高Coding效率,较低Coding难度;

2. 较高的安全可靠性;

3. 在指定服务器上能够较有效率的运行。


【调研结果】

ASP.net

简介:

ASP.NET是整个.NET框架的重要组成部分,它继承了传统的ASP并有了进一步的发展。.NET是经过编译的framework,此框架提供真正的面向对象编程 (OOP),并支持真正的继承、多态和封装。.NET 类库可根据特定的任务组织成可继承的类。此外,ASP.NET的源代码更加安全且更为健壮。


缺点:

1. 将太多底层的东西封装成了组件,使用不够灵活;

2. 仅能运行在Windows操作系统上;

3. 内存使用和执行时间方面耗费非常大。


使用ASP.net的软件需求:

1. 集成开发环境IDE(建议)
Microsoft Visual Studio 2005

2. 数据库(建议)
SQL Server 2000

3. 服务器环境配置

a) IIS 6.0

b) Microsoft .NET Framework Version 2.0

c) Microsoft SQL Server 2000


PHP

简介:

PHP是开放源代码服务器端的脚本语言,在语法上同C语言非常类似。PHP应用程序可以被方便的移植,可以运行在WINDOWS NT和多种版本的UNIX上,绝大部分的Web主机提供商都支持它。此外,PHP程序运行所消耗的资源较少。


缺点:

1. 缺少异常和基于事件的错误处理例程;

2. 不是专门设计为一种面向对象的语言,这些特性中的一部分是后加的。


使用PHP的软件需求:

1. 集成开发环境IDE(建议)
Zend Studio

2. 数据库(建议)
MySQL

3. 服务器环境配置

a) Apache

b) PHP 5(Windows Binaries)

c) MySQL 5.0



【成果及建议】


下表是ASP.NET与PHP两种语言多种特性的一个对照(来源):


PHP

ASP.NET

软件价格

免费

免费

平台价格

免费

$$

速度

效率

安全性

平台

弱(仅用于 IIS)

平台

任意

win32(仅用于 IIS)

是否提供源代码

异常

OOP

较强

虽然PHP在诸多方面都占有相对优势,但是对于本网站不甚复杂的需求而言,ASP.NET的缺点并不会对开发造成大的影响。同时,考虑到服务器上已经安装操作系统Windows 2000 Server,对ASP.NET的支持优于对PHP的支持,故建议使用ASP.NET作为本网站的开发语言

10 responses

  1. # icyflash commented on July 11th, 2007:

    见仁见智的东西
    保留意见,不发表评论

  2. # istef commented on July 11th, 2007:

    ASP.net 有一个超好用的 Visual Studio 作为开发工具,开发效率会高一些,对于这种小型商业项目,执行效率反而是次要的。

    @istef: I absolutely 严重地 agree with u. 

  3. # kevin commented on July 11th, 2007:

    我还以为毫无疑问选择PHP呢

  4. # Cat Chen commented on July 11th, 2007:

    我来帮你更新一些ASP.NET的信息吧。

    首先,这软件配置已经略为落后啦,应该换SQL Server 2005。如果具有前瞻性,你应该看到年底发布的Windows Server 2008以及内置的IIS7的性能与安全性提升。

    其次,如果你能使用一些.NET Framework 3.0的功能,那就应该升级到3.0的水平。例如一些处理流程能做成工作流的,就应该用3.0的Workflow来实现。

    如果你要了解更多ASP.NET的底层原理,来我的blog看看啦。

    @Cat 日新月异日新月异。

  5. # cosbeta commented on July 12th, 2007:

    因果似乎对应不上

    @cosbeta  PHP在很多方面强于ASP.NET,但是并不是好的就是适用的。:)

  6. # 炎藤 commented on July 16th, 2007:

    考虑到.Net的工资普遍比PHP程序员高的关系
    还是学.Net吧~

  7. # cosbeta commented on July 19th, 2007:

    其实更强的还是asp.net,类似java sevlet的中间编译执行速度更快,当然成本也就贵n多了,不过感觉你的因果关系还是根据技术人员的背景定的,其实这样的小型应用差别不大,不考虑asp.net平台的价格的话(国内windows便宜,所以无所谓了),php和.net也就差不多了。 呵呵!

  8. # 远骋 commented on July 19th, 2007:

    @cosbeta 事实上就是这样的。但是人们总是喜欢面临选择,然后做出选择。感觉自己很主宰。

  9. # cosbeta commented on July 20th, 2007:

    呵呵,你的blog很不错,很喜欢

  10. # sungoogle commented on August 28th, 2007:

    貌似我们这里.net的薪水,并没有php的高,而且还差的不少哦

Show Me Your Comment