动态网站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 是微软开发的一种新一代开发语言,它借鉴了 Java 技术的优点,使用 C Sharp (C#) 语言作为 ASP.NET 的推荐语言,同时改进了以前 ASP 的安全性差等缺点。 ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他...
《ASP.NET Web API设计》依托ASP.NET Web API阐述API设计与开发的通用技术,是一本全面介绍如何构建真实可演化API的实践指南。本书共分三部分。第一部分介绍Web/HTTP和API开发的基础知识,介绍ASP.NET Web API,为...
ASP.NET MVC 5 是微软开发的一个强大的Web应用程序框架,它结合了ASP.NET Web Forms、Model-View-Controller(MVC)设计模式以及单页应用程序(SPA)架构的优点,为开发者提供了一个高效、灵活且可测试的平台来构建...
最新的Pro ASP.NET Web API HTTP Web Services in ASP.NET; 英文高清pdf; 2013年新书,学习ASP.NET Web API 现阶段最权威的一本专业教材; 前置技能:C#(掌握) , MVC(掌握或了解) ,数据库(掌握),HTML(掌握)...
【描述】提到的"基于ASP.NET的医院网站源码.zip",意味着该源码是用微软的ASP.NET框架编写的,这是一个用于构建动态网站、Web应用和Web服务的强大工具。ASP.NET提供了丰富的特性和功能,包括自动页面状态管理、内置...
"ASP.NET Web课后习题详解" 本文将对ASP.NET Web课后习题进行详细的解释和总结,涵盖了HTTP协议、B/S结构、ASP.NET页面处理过程、客户端脚本语言、服务器端脚本语言、HTML、JavaScript、结构和类的区别等多个知识点...
1. ASP.NET:ASP.NET是由微软公司推出的服务器端Web应用程序框架,用于构建动态网站、Web应用程序和服务。它提供了丰富的功能,如自动处理HTTP请求、事件驱动模型、控件模型以及多种编程语言支持(如C#和VB.NET)。 ...
ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它构建于.NET Framework之上,提供了全面的开发环境,用于创建高效、功能丰富的网站和Web应用程序。.NET Framework是一个完整的Windows平台组件,其核心是...
根据Valerio De Sanctis的介绍,他是具有超过12年经验的IT专业人士,擅长使用***、PHP和Java进行领导编程、基于Web的开发和项目管理。他在金融和保险公司的高级职位上积累了丰富的经验,并在一家领先的售后服务和IT...
2013年新书,学习ASP.NET Web API 现阶段最权威的一本专业教材; 前置技能:C#(掌握) , MVC(掌握或了解) ,数据库(掌握),HTML(掌握) 学会后能做: 多客户端(android,ios,web,win等)项目的共同Web服务器端,...
这个源码是一个基于ASP的动态网站项目,不同于ASP.NET,它不使用.NET框架,而是基于经典的VBScript或JScript语言。这个小动态网站源码能够与Access数据库连接,这意味着它可能用于实现简单的数据管理功能,比如用户...
这个插件控件兼容多种编程语言,如C#、VB.NET、ASP、PHP和JSP,这意味着无论你的后端技术栈是基于.NET Framework(如ASP.NET)还是开源的PHP或Java(如JSP),你都能无缝集成这个插件。下面将详细解释这些语言和技术...
ASP.NET WEB程序设计是微软公司推出的用于构建动态网站、web应用程序和web服务的框架。它基于.NET Framework,提供了丰富的功能和高效的语言支持,如C#和VB.NET,使得开发者能够快速构建高性能、安全的网络应用。 ...
总结来说,ASP.NET是一个强大的Web开发平台,结合了Web服务器控件、内置对象和ADO.NET等工具,简化了动态网页和Web应用程序的开发。B/S结构和C/S结构各有优缺点,而静态网页与动态网页则反映了Web开发中不同级别的...
ASP.NET是微软推出的一种用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和组件,方便开发者快速构建动态网站和Web服务。 描述中同样提到"基于ASP.NET的在线考试答题系统源码.zip",这确认了该...
它提供了丰富的控件、事件驱动模型以及自动页面生命周期管理,使得开发人员能够用C#、VB.NET等语言编写高性能、安全的Web应用。 这款HTML编辑器能支持这四种语言,意味着开发人员可以在同一环境中进行多语言的Web...
这本书的随书代码库包含了使用C#和VB.NET两种主要.NET编程语言实现的示例和项目,旨在帮助读者更好地理解和应用ASP.NET技术。 ASP.NET是Microsoft .NET Framework的重要组成部分,它为构建动态、数据驱动的Web应用...
使用ASP.NET,你可以构建高效、安全的后端服务来处理批量上传请求,利用C#或VB.NET等语言编写代码。 在压缩包中,"updateForASP.NET"、"updateForPHP"和"updateForASP"这三份文件或文件夹可能包含了对应后端语言的...
ASP.NET的核心优势在于它的事件驱动模型、编译式编程以及内置的安全特性,使得开发者可以更快速、更安全地构建动态网站、Web服务和富互联网应用程序。 【C#语言基础】 作为ASP.NET的主要编程语言,C#(发音为"C ...
标题中的“PHP TO ASP.NET 2.0开发系列课程(1):PHP与ASP.NET2.0之比较分析”表明本课程主要关注的是对两种不同的Web开发技术——PHP和ASP.NET 2.0的对比研究。这个课程可能是针对那些希望了解这两种语言优缺点,...