asp是什么概念?
ASP有两个含义:一是英文Application Service Provider的缩写,意思是网络应用服务供应商;另一个是英文Active Server Page的缩写,是微软推出的一种动态网页技术。
Microsoft Active Server Pages 即我们所称的 ASP
,其实是一套微软开发的服务器端脚本环境, ASP 内含于 IIS 30 和 40
之中 , 通过 ASP 我们可以结合 HTML 网页、 ASP 指令和 ActiveX
元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP
你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通
HTML
中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
以下罗列了 Active Server Pages 所独具的一些特点:
1 使用 VBScript 、 Jscript 等简单易懂的脚本语言,结合 HTML
代码,即可快速地完成网站的应用程序。
2 无须 compile 编译,容易编写,可在服务器端直接执行。
3 使用普通的文本编辑器,如 Windows
的记事本,即可进行编辑设计。
4 与浏览器无关 (Browser Independence), 用户端只要使用可执行 HTML
码的浏览器,即可浏览 Active Server Pages 所设计的网页内容。 Active
Server Pages 所使用的脚本语言 (VBScript 、 Jscript) 均在 WEB
服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
5Active Server Pages 能与任何 ActiveX scripting 语言相容。除了可使用
VBScript 或 Jscript 语言来设计外,还通过 plug-in
的方式,使用由第三方所提供的其他脚本语言,譬如 REXX 、 Perl 、
Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。
6Active Server Pages
的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
7 可使用服务器端的脚本来产生客户端的脚本。
8 物件导向( Object-oriented )。
9ActiveX Server Components(ActiveX 服务器元件 )
具有无限可扩充性。可以使用 Visual Basic 、 Java 、 Visual C++ 、 COBOL
等编程语言来编写你所需要的 ActiveX Server Component 。 </p>
<p> ASP
的奇妙之处真是不胜枚举,下面就请各位系好安全带,我将带领大家进入
ASP 的梦幻世界。 </p>
<p> 首先,让我们来看看运行 ASP 所需的环境: <ul>
<li>Microsoft Internet Information Server version 30/40 on Windows NT Server </li>
<li>Microsoft Peer Web Services Version 30 on Windows NT Workstation </li>
<li>Microsoft Personal Web Server on Windows 95/98 </li>
</ul>
<p> 正如前文所述,与一般的程序不同, asp 程序无须编译, ASP
程序的控制部份,是使用 VBScript 、 Jscript
等脚本语言来设计的,当执行 ASP
程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 )
,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。当然,同其他编程语言一样,
ASP
程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写
ASP
程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装
ASP 时,系统提供了两种脚本语言: Vbsrcipt 和 Jscript ,而 Vbscript
则被作为系统默认的脚本语言。你也可以根据自己的喜好改变系统默认的脚本语言,关于如何改变系统默认的脚本语言请看《
<a href="asp1-1htm"><font color="#026BAA">在 ASP 中使用脚本语言</font></a>》一文。
ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML
页面中的脚本程序得以运行的环境。但是,要学好 ASP
又必须掌握它的语法和规则。现在就让我们开始一步一步地认识并学习
Active Server Pages 。
ASP 程序其实是以扩展名为 asp 的纯文本形式存在于 WEB
服务器上的,你可以用任何文本编辑器打开它, ASP
程序中可以包含纯文本、 HTML 标记以及脚本命令。你只需将 asp
程序放在 WEB
服务器的虚拟目录下(该目录必须要有可执行权限),就可以通过
WWW 的方式访问 ASP 程序了。要学好 ASP
程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令
WEB
服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如
VBScript 。脚本语言是一种介乎于 HTML 和诸如 JAVA 、 Visual Basic 、 C++
等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述
ASP 所提供的脚本运行环境可支持多种脚本语言,譬如: Jscript 、 REXX
、 PERL 等等,这无疑给 ASP 程序设计者提供了广泛的发挥余地。 ASP
的出现使得广大 WEB
设计者不必在为客户浏览器是否支持而担心,实际上就算你
在同一个 asp
文件中使用不同的脚本语言,你都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在
asp 中声明使用不同的脚本语言即可
随着《魔兽世界》(以下简称wow)在世界范围内流行,脚本渐渐被人们所熟知。由于wow强大的自定义界面系统,Lua这一脚本语言一举成名。\x0d\\x0d\其实早在Lua脚本语言被大众所熟知以前,游戏业内人士就已经开始使用脚本来开发游戏了。我们熟悉的很多国内的网络游戏大都运用了脚本开发,比如网游的长青树“梦幻西游和《大话西游2就大量应用了脚本技术。特别是《大话西游2》,其实现基于Lua脚本游戏开发的时间要远早于《魔兽世界》。在脚本技术上,国内与国外其实是站在同一起跑线上的,并不存在什么差距,这也为国内游戏产业赶超国外游戏产业提供了强有力的技术保证。\x0d\\x0d\在单机游戏时代,脚本这个词几乎很少出现,那么,为什么在网络游戏时代它却成了业界的宠儿呢原因是多方面的。\x0d\\x0d\单机游戏时代,无论游戏主机还是PC机,它们的性能都非常低下,从而需要具有较高执行效率的编译型语言对机器的性能进行“压榨”。随着科技发展和硬件性能的不断提升,脚本逐渐被开发者所接受并利用,但这并不是脚本流行起来的决定性因素,真正的原因还在于游戏市场有这方面的需求。\x0d\\x0d\网络游戏时代的市场竞争激烈、变化莫测,如果延用单机时代一年半载才出一个新版本的开发方式,必然会被游戏行业激烈的市场竞争所淘汰。正是这种游戏市场需求旺盛和开发工具效率底下之间的矛盾,促使脚本语言迅速地发展起来。脚本的兴起使得传统编译型语言(asngC/C )的性能优势在硬件功效大幅攀升的今天已经不复存在。\x0d\\x0d\除了市场和硬件这两个因素之外,还有一点我们不能忽略。那就是用C/C 进行游戏开发的高成本和高项目风险。随着java/.net逐渐流行,学习C/C 编程语言的人越来越少,而网络游戏市场的需求却越来越庞大,在程序人才大量匮乏的情况下,造成了c,C 人才的高成本。即便是有能力雇佣大量C/C 程序员的公司,在开发游戏的过程中,也不能无视C/C 的高级特性和高度灵活性带来的高项目风险。C/C 是易学难精的编程语言,在开发大型项目的时候由于程序员的水平参差不齐,所以极易造成沟通不畅。不仅如此,c,C 滥用的高级特性也容易引入大量bug。正是由于这些原因,游戏公司开始在游戏中使用脚本,希望通过脚本来解决这些高成本、高风险的问题。\x0d\\x0d\二脚本的现状\x0d\\x0d\脚本不仅解决了c/C 无法解决的开发效率难题,还降低了开发的成本和风险。因此脚本技术在游戏业内蓬勃发展起来,并且已经成为游戏业中不可或缺的一环。纵观当前脚本技术现状,形势一片大好,不仅语言百家争鸣,而且书籍种类也越来越多;不仅在游戏业界开花结果,在web等其它应用领域也大放异彩。\x0d\\x0d\首先,我们来看看目前比较流行的脚本:Python、Lua、ruby和Erlang。Python和Lua是网络游戏开发的中坚力量;ruby凭借 rubyonrails的web开发框架的强劲力量,其在游戏业的发展前途亦不可小视;Erlang在高并发性上的原生优势吸引了无数追求高性能网游服务器的开发人员的目光。\x0d\\x0d\其次,我们来看看书籍方面。大家都知道,文字对语言的普及起到了催化剂的作用,甚至可以看作是语言的有机组成部分。Python经过基金会的多年经营而得到NASA、Google重用的原因,就是由于其相关书籍种类比较丰富;Ruby随着RoR的流行,这两年行情看好,书籍也出版得越来越多了;Erlang是典型的少众语言,但随着多核时代的来临和高并发网络应用的需求,Erlang有着光明的发展前景,现在>等书也已经在策划出版了;反观Lua,虽然目前越来越流行,但由于它晦涩的接口设计和缺乏大型应用的支持,使得相关书籍寥寥无几。\x0d\\x0d\最后,我们把焦点重新聚集到游戏开发行业中,其实不难发现,除了前文提到的《魔兽世界》和网易经典“西游系列”使用了脚本外,现在大多数比较流行的程序也都使用了脚本,如腾讯的QQgame))和搜狐的《天龙八部》等。不仅如此,现今的游戏引擎也都提供了脚本接口,无论是商业的unreal引擎还是开源的 OGRE,无一例外。\x0d\\x0d\三脚本的优势\x0d\\x0d\脚本之所以能够在游戏业中找到自己的一席之地,是因为网络游戏市场需要一个快速开发方案来避免C/C 开发带来的项目高成本和高风险。那么,脚本相对于C/C 这类编译型语言到底有什么优势呢\x0d\\x0d\I易于学习,代码可维护性强\x0d\\x0d\脚本的语法通常都非常简单,也没有太多高阶的特性,学习的门槛较C/C 低得多,比如Python可能只需要花一个下午即可学会。这使得游戏开发公司可以招聘完全没有脚本、编程经验的新手,通过低成本的培训,他们便能迅速地走上工作岗位。除易于学习外,脚本代码也有较强的可维护陛(尽管写出没有人看得懂的Lua代码也非难事)。因为脚本没有很多高阶特性(如c 里的模板元编程就是高阶特性),所以脚本程序员就有更多的精力去架构、模式、重用和测试等工作,从而提高了代码的可维护性。相应地,正因为没有那么多让人困惑的高阶特性,也使得脚本代码“简洁”不少。\x0d\\x0d\2.降低开发成本\x0d\\x0d\如上所言,由于脚本易于学习,游戏开发公司可以大量起用新手,这正是降低成本的有效手段。那么如何来确保新手所写代码的质量呢众所周知,新手无论用什么语言写程序肯定会出现bug,但用C/C 和Python做比较,可以看出,一个新手用C/c 编写出的程序所出现的bug肯定会比用Python编写出现的bug要多。由于c程序需要编译,而脚本程序(大部分)都可以直接解释执行,所以在排除 bug方面脚本也占有一定的优势,这也使脚本在降低成本的同时能够更好地保证代码质量。\x0d\\x0d\3.形成人才壁垒\x0d\\x0d\软件开发行业是一个颇为动荡的行业,无数的程序员都在跳槽和谋划跳槽的状态中生活,使用脚本开发形成人才壁垒是游戏业减少人才流动的有效手段。因为现在脚本除了在游戏业中非常流行外,并没有在其它行业形成广泛应用(虽然在web开发方面也有燎原之势,但终究不如在游戏业中的地位高)。这就使得游戏程序员很少会考虑非游戏行业的职位,但其它行业的程序员却可能会因为脚本的易学习性而转投游戏业。脚本除了能有效形成行业间的人才壁垒外,也能有效地形成企业间的人才壁垒。由于现有的脚本种类繁多,不同公司往往有不同的选择,甚至有些公司使用自己开发的脚本语言,所以程序员从公司A跳槽到公司B可能要学习使用另一种脚本,这就提高了跳槽的成本,从而减少了人才的流动。\x0d\\x0d\四脚本的发展趋势\x0d\\x0d\依照目前趋势来看,脚本语言一定会更加的普及,而且会逐渐渗透到其它行业中。随着网络游戏从业人员数量的增长,脚本程序员也一直增加,而且Web2、0热潮引起的网络需求,也促成了一批批新脚本程序员的诞生。网络游戏市场就像一个正在滚动的雪球,推动着脚本的普及。\x0d\\x0d\随着脚本在游戏业中越来越流行,市场对生产效率的需要也会相应提高。脚本虽然在一定程度上缓解了生产效率与生产工具之间的矛盾,但仍然不够完善。由于市场竞争日趋激烈,而网络游戏在很多功能上的实现又都相差无几,如网络、数据库、图形甚至部分逻辑,这必然会引起网络游戏生产的组装化一一大量中间件相互组合形成新的网络游戏。从目前来看,Bigwofld、PhysX和Unreal等都是比较流行的网络游戏中间件。脚本语言则是粘合各个中间件的良好胶水语言,所以随着网络游戏的生产组装化,脚本将有更大的发展空间。\x0d\\x0d\那么,当脚本发展到如日中天的时候,可能取代C/C 这些编译型语言吗笔者认为不会。脚本语言和编译型语言在生产效率和执行效率上各擅胜场,网络游戏既需要能快速应变的脚本,也需要能快速执行以提供更绚丽游戏效果的编译型语言。未来,它们之间一定会保持长久的和谐互补关系,相辅相成。\x0d\\x0d\五结语\x0d\\x0d\综上所述,网络游戏时代是上帝赐予脚本语言发展的绝好时机,脚本语言很快将迎来光芒四射的时代。脚本语言拥有编译型语言无可比拟的生产效率优势,所以它们将互补互助并肩奋战在游戏的最前线。
PHP主要使用来做网站以及Web应用开发的。跟JAVA区别如下:
一、语言优势不同
1、PHP:即“超文本预处理器”,是一种通用开源脚本语言。在服务器端执行的脚本语言。
2、JAVA:是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。
二、语法不同
1、PHP:语法混合了C、Java、Perl以及 PHP 自创的语法。
2、JAVA:作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
三、特点不同
1、PHP:利于学习,使用广泛,主要适用于Web开发领域。
2、JAVA:具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
-Java
-PHP
web开发需要学什么具体如下可供参考:
一、超文本标记语言
超文本标记语言即HTML+CSS,每个学习web开发的人员,都必须掌握好HTML+CSS,HTML+CSS是网页的核心,html是网页的框架,CSS则可以美化你的网页,让你的网页变得更美观,在色彩、图文排版等样式上符合用户的审美体验。
二、javascript语言
学习javascript语言,了解DOM。如果想让你的网页变得更加生动,那么还需要掌握javascript,学会用javascript操作网页的dom元素。当中你会接触到一些javascript库,大部分的网页开发人员都会使用jquery,jquery对提高JavaScript的开发效率很有帮助。
三、Web服务器
1、Web服务器需要学习一些Linux和Unix的知识。现在大部分的服务器都是运行在Linux和Unix系统上的。用户访问页面的时候,服务器需要响应用户的请求。
2、服务器的种类也有多种,比较常用的有Apacha、Nginx、Tomcat、IIS,可以根据项目的实际需求考虑买哪种服务器。在选购服务器的时候,也要考虑其性能配置,比如负载、CPU内核、内存、宽带等。
四、服务器端脚本语言
最好能掌握一门服务端脚本语言,常用的服务端脚本语言有php、net、java、python等。后端语言可以实现与前端操作的交互,如果想让网页有相应的后台信息管理系统,学好一门后端语言可以让自己具备独立开发网站的能力。
0条评论