ASP
ASP就是Active Server Pages的缩写,Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,开须使用微软的产品就能编写它的代码,能产生和执行动态、交互式的站占服务器的应用程序。
运用ASP可将VBscript、javascript等脚本语言加入到HTML中,便可完成网站的应用研究程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本都可以完成它的节节胜利。
ASP.NET
之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,而是用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大简化了编程。还可以用ASP.NET建立网络服务。
(二)总述
ASP.NET比ASP拥有更高的安全性,更高的性能,更强大的功能,更前卫的编程思维,更结构化的程序,为美工提供更方便直接的设计,更方便正式开发工具,更快速的开发周期,更低成本的维护等等,是未来程序语言发展的必要趋势。
ASP比喻为WINDOWS里面的写字板,而ASP.NET就是WINDOWS里面的OFFICE WORD文档。
ASP与ASP.NET的区别
1.开发语言不同
ASP仅局限于使用脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET允许用户选择并使用功能完善的编程语言,也允许使用潜加巨大的.NET Framework。 最新版本的.NET Framework 2.0为.NET带来更多振奋人心支持。
2.运行机制不同
ASP是解释运行的编程框架,所以执行效率加较低。
ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
3.开发方式
ASP把界面设计和程序设计混在一起,维护困难。
ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
4.开发工具
ASP没有正式的开发工具,一般只能使用本来用于网页美工设计的Dreamweaver进行开发。
ASP有微软专业设计的Microsoft Visual Studio .NET进行专业开发,最新的Microsoft Visual Studio .NET 2005为美工设计和程序开发带来更友好的开发环境。
asp网站程序和asp.net网站程序的区别
(1)在Web空间里,成千上万的站点在激烈的竞争着,要想吸引用户,简单的,静态的页面是不够的,动态的有条理的数据加上友好的交互性强的界面,最后再加上丰富的内容,才是用户所乐意访问的。利用交互性很强的应用平台,商家和用户之间进行勾通交流,并实施在线的商业服务。
(2)ASP.net交互网页技术,为Windows平台下的网站开发人员提供了一种利用动态数据库中丰富多彩的内容使其站点变得更加活跃的方式。而产生这些丰富内容的代码却都是基于Web服务器端的,客户端使用服务时无需考虑其自身所使用的语言和工具。
(3)利用ASP.NET技术,Web开发人员能够做到对于不同的用户请求,由服务端自动产生不同的页面,这为电子商务站点的设计提供了有力的技术支持。
(4)每天网站流量分析,用户每天的详细访问将影响您的企业的商务情况,网上订单,销售已不再困难,个人求职,聊天室等等令你目不暇接。如果你运用了ASP.net编程技术,你就会明白,网站管理与开发并不遥远,聊天室、BBS等的实现你也可以轻松编制,一切不过如此.
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。那么,ASP.Net有哪些改进呢?
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得 代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的的优势。
执行效率的大幅提高
ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。
世界级的工具支持
ASP.net构架是可以用Microsoft(R)公司最新的产品 Visual Studio.net开发环境进行开发,WYSIWYG(What You See Is What You Get所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。
强大性和适应性
因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000 Server上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C++和Java的结合体),VB,Jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。
简单性和易学性
ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。例如ASP.net页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。另外,通用语言简化开发使把代码结合成软件简单的就像装配电脑。
高效可管理性
ASP.net使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为"Zero Local Administration"的哲学观念使Asp.net的基于应用的开发更加具体,和快捷。一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。
多处理器环境的可靠性
ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。
自定义性,和可扩展性
ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与原来的包含关系不同,ASP.net可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。
安全性
基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。
|
ASP |
ASP.net |
常规代码编写方式 |
混杂在Html中,比较杂乱。 |
界面与逻辑相分离,项目更容易维护。 |
支持语言 |
只允许使用Vbscript和Jscript |
支持Vb.net、C#、J#、C++、Java、Python等众多语言,只要符合.net CLR规范的语言,都可以开发ASP.net程序。 |
执行方式 |
解释执行,速度慢。 |
编译执行,速度快。 |
开发方式 |
一般的文本编辑器。 |
可使用Visual Studio等开发工具,支持控件拖拽和事件驱动方式的开发,开发速度快,后期维护成本低。 |
组件库支持 |
只能使用ActiveX/COM控件,安装新控件需要拥有服务器管理权限,虚拟主机用户往往无法安装组件,如果程序依赖新组件,则虚拟主机用户无法运行程序。 |
提供了很多功能强大的服务器端控件,使得程序的开发更趋于简单化,此外.net控件可以用任何支持.net CLR的语言开发,不需要注册,虚拟主机用户也可以随意增加新的组件库支持。 |
数据库访问模型 |
|
创新的ADO.net |
|
|
|
|
|
|