`

动态网站Web开发用什么语言好?PHP、ASP还是ASP.NET

 
阅读更多

动态网站Web开发用什么语言好?PHP、ASP还是ASP.NET。这是一个 经常被提出的问题,并且它很容易把人们带入争论Linux还是Windows的歧途。这样的争论事实上反映出了对于相互竞争的Web开发技术要进行并行分 析是多么困难的一件事情,而这一难度同时因为开发人员对任何可比较操作系统的不同意见而大大增加。

我们来看看每一项技术对于特定Web开发以及运行环境所表现出的优势。尽管ASP和PHP的相似程度大于其中任庖恢钟階SP.NET的相似程度,我 们还是要讨论ASP.NET。原因是开发人员常常将其与ASP相混淆,并且在微软的努力下ASP.NET的确会在将来完全取代ASP。

基本理论——特点概述

ASP——动态服务页面(Active Server Pages)

微软将ASP引入Windows NT Server 4并将其作为IIS Web服务器下的动态Web应用程序的默认使用平台。由于它使用VBScript(Visual Basic语言的一个分支),ASP立即被熟悉Microsoft IDE——Visual Studio编程的开发人员所追捧。随着脚本语言的不断发展,研究人员对ASP并没有引入太多功能使之加入到技术竞争的行列。因此,在PHP中可以看到的 诸如图像操作等功能没有集成到ASP中。但开发人员仍然可以通过DLL文件的形式编写(或者安装)第三方COM对象来完成类似的工作。在服务器自身允许的 情况下,通过这种方式可以编写代码来完成任何动作。当然,造成的缺陷是这将导致为了配置这些服务开发人员不得不与桌面系统进行交互——对于Web开发人员 来说这项功能并不是必须的。

ASP的优势是在企业环境中微软服务器几乎无处不在。此外,MS SQL Server同样具有广泛的市场,并且能很好的支持ASP(这并不会让人感到惊奇)。尽管事实上通过ODBC可以兼容任何数据来源,但SQL Server以及文件DSN访问(file DSN access)可以在代码一级得到实现

PHP——超文本预处理器(Hypertext Pre-processor)

PHP是开放源代码服务器端的脚本语言,在语法上同C语言非常类似。尽管最初是被设计用于基于Linux的Apache Web 服务器系统,现在的PHP已经被移植到了任何操作系统并兼容任何标准Web服务器软件。由此也可以得出PHP的三大主要优势。首先它是跨平台的技术,因此 PHP应用程序可以被方便的移植——当然这还要取决于诸如厂商特定数据库等需要集成的额外组件。这样的可移植性还带来了另一方面的优势,即绝大部分的 Web主机提供商都会支持PHP,因此根据需要更改主机将会非常方便。

第二点,由于PHP同C编程语言有很多相似之处,对于熟悉相关语法的开发人员来说,PHP则非常容易上手——这种语法同样在Java、 JavaScript以及Perl中得到应用。第三,由于是开放源代码产品,PHP将继续快速发展,更为重要的是相关漏洞补丁将免费的定期植入到核心库 中。

此外,在一些特定的编程需求下,PHP对于开发人员显示出了更为诱人的吸引力。首先,PHP有内建库支持对于图片及PDF文档的直接创建和相关操 作。这意味着当一个应用程序调用包含有anti- aliased类型文本的动态创建菜单图像,或者是需要导出Acrobat格式页面时,PHP都将是解决此类问题的理想技术。尽管这些功能在理论上也可以 通过其他与PHP相竞争的技术获得,但往往其他技术需要安装第三方自定义组件才能实现。

另一点使得PHP成为编写服务器脚本最佳选择的是在处理连接mySOL或者Postgres数据库一类的问题时PHP的良好表现。尽管对于 mySOL或者Postgres数据库的访问可以通过 ASP技术借助ODBC连接来实现,但这常常需要系统管理员进行额外的配置。幸运的是,这点限制在ASP.NET中得到了改正,当需要建立类似于使用MS SQL Server的直接数据库连接时可以通过mySQL提供数据。

ASP.NET

是选择ASP还是PHP的争论正在随着.NET的崛起而越来越显得多余。的确,过去长达数年的争论将随着是选择Java还是.NET技术(或是两 者)答案的揭晓而终结。 ASP以及ASP.NET的唯一联系是二者都使用VBScript。而单独就.NET而言,它可以使用VBScript以及其他大约20种语言。

对于ASP以及PHP来说,将ASP.NET看作是另外一种语言的原因是它运行在完全不同的构架之上。前者是翻译脚本语言,而.NET则是经过编译 的 framework。这就意味着首先Web页面的运行速度将会有极大提高。同时,源代码更加安全且更为健壮。此外,ASP.NET给Web编程带来了新的 理念——即“code-behind页面”的思想。按照code-behind思想,每一个HTML页面都是由自身经过编译的程序化指令进行驱动。因 此,HTML——或称之为表现层——很大程度上脱离了应用程序的商业逻辑。尽管这样的分离也可以通过PHP和ASP来实现,但这并非同ASP.NET一样 属于自身技术的主要部分。

ASP.NET的另一好处是它完整的集成了对XML以及Web服务的各种支持。对.NET而言可以使用非常广泛的安全以及密码系统库,这对于金融机 构和企业数据应用程序尤为有用。就缺陷而言,即使是具备丰富经验的开发人员也会发现使用.NET可能把自己搞糊涂。不考虑开发者对于所使用的编程语言的熟 悉程度,对于Web开发人员来说,在程序范例方面难度的大幅提升可能会成为他们融入ASP.NET的主要障碍。对ASP.NET应用程序来说主机同样是个 问题,ASP.NET并未同ASP或者PHP一样获得了主机提供商的广泛支持,无法在同一级别上展开竞争。

分享到:
评论

相关推荐

    ASP.NET WEB API 程序设计

    《ASP.NET Web API设计》依托ASP.NET Web API阐述API设计与开发的通用技术,是一本全面介绍如何构建真实可演化API的实践指南。本书共分三部分。第一部分介绍Web/HTTP和API开发的基础知识,介绍ASP.NET Web API,为...

    ASP.NET Web API 高级编程(Pro ASP.NET Web API HTTP Web Services in ASP.NET)

    最新的Pro ASP.NET Web API HTTP Web Services in ASP.NET; 英文高清pdf; 2013年新书,学习ASP.NET Web API 现阶段最权威的一本专业教材; 前置技能:C#(掌握) , MVC(掌握或了解) ,数据库(掌握),HTML(掌握)...

    最新的Pro ASP.NET Web API HTTP Web Services in ASP.NET;

    2013年新书,学习ASP.NET Web API 现阶段最权威的一本专业教材; 前置技能:C#(掌握) , MVC(掌握或了解) ,数据库(掌握),HTML(掌握) 学会后能做: 多客户端(android,ios,web,win等)项目的共同Web服务器端,...

    ASP.NET Web程序设计 ppt

    ASP.NET Web程序设计,详细的php适合初学者使用

    完整版 web应用开发 web网站建设实用教程 第6-4讲 ASP.Net开发环境(共49页).ppt

    web应用开发 web网站建设实用教程 第6-4讲 ASP.Net开发环境(共49页).ppt web应用开发 web网站建设实用教程 第6讲 DNS服务器(共42页).ppt web应用开发 web网站建设实用教程 第6讲 JSP开发环境搭建(共81页).ppt ...

    ASP.net+Word

    Web开发技巧不断的完善,更多更加丰富的应用程序也随之诞生,ASP.NET使用.NET平台进行Web应用程序的开发有着先天性的优势,开发人员能够快速的使用ASP.NET提供的控件和开发方法进行复杂的应用程序开发,同时ASP.NET...

    《ASP.NET程序设计实用教程》配套资料-cd, ppt

    内容提要 <br> 本书系统地介绍了ASP.NET程序设计开发,全书案例程序使用C#编写,并遵守C#的编码规范。所有案例程序均来自课堂教学和工程实践,注重知识的兼容性和规范性。  依照ASP.NET编程体系,本书...

    不重复顺序递归,递归,排序,WEB,.NET,PHP,ASP.NET

    不重复顺序递归不重复顺序递归,递归,排序,WEB,.NET,PHP,ASP.NET

    Programming ASP.NET 中文版 (第3版) pdf Part06

    Programming ASP.NET中文版(第3版) 本书主要介绍.NET平台和ASP.NET;HTML编程基础;比较ASP和ASP.NET;ASP.NET中的事件;比较HTML控件和ASP控件;基本的ASP控件API;代码隐藏窗体;使用Visual Studio .NET集成开发...

    ASP.NET+程序习题答案+上机答案+模拟题+尚俊杰编著

    动态网页是用标准html代码和动态语言(如:asp,jsp,php,asp.net等)编写的。 关于静态动态网页的概念请参照P1.(P1=第1页,下同) 服务器端:在万维网中提供网页服务的一端称为服务器端。 客户端:接受服务的一端...

    完整版 web应用开发 web网站建设实用教程 第6-3讲 PHP web开发环境(共152页).ppt

    web应用开发 web网站建设实用教程 第6-4讲 ASP.Net开发环境(共49页).ppt web应用开发 web网站建设实用教程 第6讲 DNS服务器(共42页).ppt web应用开发 web网站建设实用教程 第6讲 JSP开发环境搭建(共81页).ppt ...

    ASP.NET第一团购网源码(自动部署,有说明)- ASP.NET 团购网源码

    第一团购系统是基于Web应用的B/S架构的团购网站,本程序采用目前软件开发IT业界较为流行的ASP.NET和SQLSERVER2000数据库开发技术架构。从功能层面来看,前台首页每天显示一个服务或插产品的限时限最低成团人数的团购...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    开发人员不需要了解HTML、JavaScript、Http协议也可以快速开发出一个Web系统,正因为如此,社会上充斥着大量这样的“拖控件的开发人员”,使得很多Java、PHP等语言的开发人员诋毁ASP.Net开发人员的时候经常会说...

    Asp.net 实现验证码功能的Web控件

    Asp.net的设计方式和设计...其中差异较大的特点之一,Asp.net除了可以用Include以外,还提供了比较有特点的Web控件,包括:Ascx形式和带设计 时支持的控件[本文属于后者],为了熟悉这些新概念,我自己写了个Web控件。

    中美 IT 培训 C# Asp.net 笔记3

    (160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...

    ASP.NET 3.5 (1)

    Web开发技巧不断的完善,更多更加丰富的应用程序也随之诞生,ASP.NET使用.NET平台进行Web应用程序的开发有着先天性的优势,开发人员能够快速的使用ASP.NET提供的控件和开发方法进行复杂的应用程序开发,同时ASP.NET...

    web截屏,ASP.NET截屏,JSP截屏,PHP截屏

    web截屏,ASP.NET截屏,JSP截屏,PHP截屏 ,具体看代码

    ASP.NET常用代码

    ASP.NET常用代码 1. 打开新的窗口并传送参数: 传送参数: response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 接收参数: string a = Request....

    基于ASP.NET的复杂表格打印控制及实现

    本文结合实际应用,以班级重修成绩单打印为例,详细阐述了基于ASP.NET的复杂表格打印控制及...该打印控制程序,既可以直接应用于其他基于asp.net技术的管理系统中,也可为Jsp、php等web打印控制实现提供良好的设计思路。

    完整版 web应用开发 web网站建设实用教程 第6讲 Web服务器(共86页).ppt

    web应用开发 web网站建设实用教程 第6-4讲 ASP.Net开发环境(共49页).ppt web应用开发 web网站建设实用教程 第6讲 DNS服务器(共42页).ppt web应用开发 web网站建设实用教程 第6讲 JSP开发环境搭建(共81页).ppt ...

Global site tag (gtag.js) - Google Analytics