关于php的前途

作者 TombCrow, 2005 十月 21, 06:00:10

« 上一篇主题 - 下一篇主题 »

TombCrow

作者:Blue8858 中文PHP论坛

译者注:这是一篇德国人写的关于PHP的"长篇大论",作者在文中把PHP吹的神乎其神,大有一统江湖的架势。且不去管它观点是否正确,这么一篇经典的"吹牛奇文"对我们这些诚惶诚恐的PHP程序员来说,到是非常值得一看的。还是闲话少说,让我们开始欣赏这骗奇文吧!

1.序言

定义:PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。

PHP是一种功能强大的脚本语言。PHP将击败PERL/Python并取而代之。PHP是下一代的PERL/Python脚本。PHP可以胜任任何PERL/Python做的工作,并且做的更多,更好,更简洁!!

PHP是Hypertext Pre-Processor(超文本预处理器)的缩写,它是一种服务器端的HTML脚本/编程语言。PHP语法上与C相似,可运行在Apache, Netscape/iPlanet, 和 Microsoft IIS Web 服务器上。PHP作为一种工具,可以让你创建动态的Web页面。应用PHP的网页与常规的HTML页面并无二致,你可以用同样的方式来创建、编辑它们。PHP允许你直接在HTML文件里写入简单的脚本,这一点与Javascript非常相似。而不同的是,PHP不依赖于浏览器,是服务器端的语言,而Javascript却是一种客户端的嵌在HTML中的语言。概念上,PHP与Netscape的LiveWire Pro产品,Microsoft的ASP以及SunMicrosystem 的JSP相似。

PHP不仅可以用来创建Web应用程序,也可以用来开发普通的单机应用程序。

PHP的强劲之处在于:

·PHP是一项最优秀的技术。其它技术,如PERL,Python, Tcl, VB script, ASP 相对来说,都是陈旧低劣的。即使是Java/JSP,也在PHP之下。
·开放源码
·广泛的数据库连接
·大量的扩展库
·作为一种多用途的脚本语言,比PERL,VB script, ASP, JSP都要优秀。


为什么选择PHP?因为PHP是最好的,原因如下:
·PERL"味道不好",因为其程序不易阅读和维护,且不是面向对象的。把PERL忘了,转向PHP吧。PERL程序员将抛弃PERL,因为他们爱上了PHP! PHP实际上就是"现代版的PERL",只是名称不同而已。

·Java 是面向对象的,但速度很慢。Java程序远行起来很慢,对它唯一的抱怨就是——"Java,真是慢的糟糕"。而且十分复杂(具有许多层,如JVM,JIT 等等)。这往往诱发问题。既然有了Linux,为什么还要Java呢?

·Python"不错",但没有C语言中的括号和大括号,而这在vi编辑器中对操控代码非常有用。如果不能利用vi/emacs编辑器搜索括号/大括号的命令迅速操控代码,那么就好象断了手一样。PHP在技术上比Python更加先进。

·PHP是最好的,因为它面向对象,并且吸收了C/C++/Java/PERL的精华。PHP可以替代PERL,Python, Java,C, C++, awk, Unix shell 脚本,Visual Basic 和其它语言!!PHP直接运行,而且是由C写成的。

·每一个电脑程序员都知道PHP是最好的,不信问一下你旁边的程序员。
·只有PHP才能称雄于21世纪、22世纪以及更远的将来。
·为什么我们认为PERL,Python和Java程序员会将归附PHP,这里有一个很重要的原因。

以前,世界上许多公司都把PHP当作是一个"高度机密,严格保密"的电脑程序语言,但是现在它已经变成最为著名的,在Web, Internet, E-commerce以及 B2B等诸多项目上应用最广泛的面向对象的脚本语言。即使是在今天,仍有许多竞争性(competing)公司把PHP当作是高度机密的东西,决不向外界(竞争对手)透露半点。

PHP将如同暴风雨一般席卷整个世界,IT工业将为之震惊。PHP的力量在于它是跨平台的,可以运行在任何地方。如Linux,Windows 95/98/NT/2000/XP, Solaris, HPUX 以及各种UNIX。PHP只需写一次,就可以配置在任何地方。PHP可以运行在Apache,Microsoft IIS等多种Web服务器上。

PHP比Java快5到20倍!!实际的比较测试显示,PHP的运行速度是Java3.7倍左右。PHP太容易使用了,你可以用它在非常短的时间里,非常迅速的开发出非常复杂的web,e-commerce和一般的单机应用程序。(在将来,PHP将会模仿Java大多数的功能,相信Java程序员也会喜欢上它。PHP将包含Java中的关键字,如class,extends,interface, implements, public,protected, private 等等等等。)

PHP具有面向对象特性,它吸收了Java, C++, PERL 和C的最优秀的部分。PHP可以说是所有脚本/编程语言中的宝石。不久,它就会成为全世界程序员的"麦加圣地"。PHP即可以运行在Window95/NT/2000/XP上,也可以运行在各种UNIX上。

我们将大吃一惊——PHP极有可能成为21世纪的电脑编程语言。

可以使用Zend Optimizer对PHP进行编译和优化,从而使它运行的更快。PHP4.0中已经集成了Zend Optimizer。 首先,你在开发、测试、除错过程中,用PHP脚本语言编写你的应用程序。一旦项目完成,你便可以用Zend编译器,将PHP文件编译成运行速度更快的可执行程序。

对于电子商务项目,你一般需要综合使用PHP(70%),HTML/DHTML/XML(25%)和5%的Javascript(客户端验证)。

2.PHP可运行在Microsoft Windwos上!!

PHP最初是运行在UNIX平台上的,但是它的移植性很好,也可运行在Windows和IIS Web服务器之上。今天,已有了一大批基于Windows 2000/NT/95/98的PHP用户,你可以找到大量运行于Windows平台之上的PHP工具。

许多PHP程序员喜欢在Windows上开发他们的程序,完成后再配置在大型的Linux服务器上,如运行Linux的IBM小型机、Compaq DEC Alpha 以及 Sun sparc。

PHP最大的优势在于,它也可以运行在UNIX/Linux之上,UNIX上的开发者可以为MS Windows下的PHP用户服务,而Windows下开发的PHP代码也可以不经过任何改变,就用于UNIX/Linux上。

PHP自身完全是由C语言写成的,因此可广泛运行于各种平台之上,如BeOS,UNIX, MS Windows, Apple Macintosh,IBM OS/2 以及其它更多的操作系统。

PHP 运行速度非常快,要比Java快出许多。对于Web开发而言,不如忘了Java/JSP吧!PHP,PHP,到处都将是PHP! PHP也也将变成一种多用途的面向对象的脚本语言。

3.PHP下载

·PHP主站点:http://www.php.net
·PHP资源:http://ils.unc.edu/web-db/php/links.html
·PHP代码交换:http://px.sklar.com
·Vex Net:http://www.vex.net/php

在许多国家都有镜像站点,网址是//www.COUNTRYCODE.php.net,其中COUNTRYCODE可以是us,fe,,sk等等。

· http://www.fe.de.php.net
· http://www.sk.php.net
· http://php.iquest.net/

·答疑邮件地址: rasmus@lerdorf.on.ca

3.1 PHP在Microsoft Windows 95/98/NT/2000上的安装

PHP在Microsoft Windows平台上极受欢迎,而且另人惊奇的是,它比Microsoft自己的Web脚本语言还要流行。原因在于PHP是面向对象的脚本语言,而ASP却不是。PHP具有大量可重用的类(对象),在Windows平台上,PHP要比ASP快许多,而且比ASP具有更多的功能和特色。PHP比ASP更健壮,更可靠,更具威力。由于PHP可运行于MS Windows,Linux, Mac OS和所有的UNIX,所以它具有一个庞大的用户群。而其最大的优势在于,你可以在Windows上开发程序,然后配置在UNIX/Linux上,反之亦然。

Windows98/NT/2000下的PHP用户比其它操作系统都要多,那是因为在Windows98/NT/2000上安装PHP很简单。

PHP有可执行的安装程序,你只要双击exe文件,2分钟内就可以自动安装好。可从如下站下载可执行的PHP安装程序:

·Windows下的PHP可执行安装程序:http://php.weblogs.com/easywindows
·Windows平台下的PHP资料:http://php.weblogs.com
·PHP在Windows下的安装与配置:http://www.php.net/manual/install-windows95-nt.php
·PHP Triad可以在Windows平台上安装完整的PHP服务环境:http://www.phpgeek.com


3.2在Windows 95/98/NT/2000上快速安装Apache Web服务器(10秒钟)

在Windows上运行PHP,你需要一个Web服务器,你可以使用微软的IIS,也可以使用免费的Apache 。因为可以通过Apache的安装文件setup.exe进行安装,可以为你节省许多时间。

PHPTtriad是一个包括Apache、PHP、MySQL的软件包,可从http://www.phpgeek.com/phptriad.php 或其镜像站点http://sourceforge.net/projects/phptriad下载。我强烈推荐使用PHPTtriad,它在Windows用户中极受欢迎(已被下载了几百万次)。

Apache 二进制程序: http://httpd.apache.org/dist/httpd/binaries/win32


3.3 微软的SQL服务器

SQL服务器可以安装在不需要运行Windows的机器上,而你也需要一个SQL服务器来作Web开发。我推荐你在很老的PC上(如Pentium或486)安装Redhat Linux和PostgreSQL RPMs。你数据库并不需要任何Windows图形界面,可以在控制台直接启动PostgreSQL。PostgreSQL的速度大概是Oracle和MS SQL server的3倍。

PHP的PostgreSQL支持库是由Adam Sussman编写的,他的邮件地址是:asussman@vidya.com
支持Windows NT/2000的PostgreSQL可从http://www.askesis.nl下载。可从http://www.geocities.com/alavoor ... stgreSQL-HOWTO.html获取PostgreSQL的使用指南 。

3.4 PHP在UNIX和其它操作系统上的安装

参见PHP主站点//www.php.net上的安装指南和说明,或所下载的软件包中的INSTALL文件。

4.快速进阶

用PHP的面向对象机制实现一个项目的步骤如下:

·首先,你需要连接一个数据库SQL服务器——有下面两个选择:
ADODB (Active Data Objects Data Base),即动态数据对象数据库(http://php.weblogs.com/adodb)

Metabase(Database independent access and management),即数据库独立访问和管理(

http://phpclasses.upperdesign.com/browse.htm/package/20)

·第二,你需要一些通用的PHP类来创建表单、表格和其它HTML对象。这些都可以从PHP classes网站上获取(http://phpclasses.upperdesign.com)。可以参考一下该网站的下载排行榜。也可以从网站http://www.milkywaygalaxy.freeservers.com/上获取表单类、模板类等。

·第三,通过对这些通用类的继承,来设计和创建自己的PHP类。

·第四,使用模板类来分离显示样式和业务逻辑,可参见http://www.phpclasses.com
·第五,使用IDE工具进行开发(参见PHP IDE一节)。
·最后,最好把你代码封装成类,这样可以实现代码的易维护性和可重用性。

5.PHP的主要特性

·支持标准CGI,FastCGI和Apache模块——作为一个标准的CGI程序,PHP可以安装在运行任何Web服务器的任何UNIX机器上。 PHP支持新的FastCGI标准,通过这一机制,PHP获得了速度上的提高。 当配置成Apache模块时,PHP便成了功能极为强大的,运行速度如闪电般快的新的选择。

·访问日志——通过PHP的日志访问功能,用户可以维护他们的点击次数和日志。 该功能提供了实时的访问监测,而不以任何方式使用系统的中心访问日志文件。日志浏览脚本为个人用户拥有的一组页面提供快速的访问摘要。除此之外,该程序包还可以通过配置为每一个页面生成一个页脚(footer)来显示访问信息。可参考文章后面的例子。

·访问控制——个内建的基于Web的配置"筛",可实现对访问控制的配置。这样,才有可能为所有或部分Web页面创建一套规则,使得拥有这些页面的特定的人可以对他的网页设置各种限制,如,什么人可以访问这些页面以及这些页面以怎样的一种方式被访问。对页面的设置有许多方式,如密码保护、完全限制、登录失效、或者更多的以客户的域、浏览器、e-mail地址甚至涉及的其它文档为设置依据。

·支持PostgresSQL——PostgresSQL是一个先进但是免费的RDBMS(关系数据库管理系统)。PHP支持在.html文件中直接嵌入PostgresSQL的"SQL 查询语句"。

·支持RFC-1867文件上传——文件上传是Netscape2.0新增的一项功能。用户可以将文件上传到Web服务器。

PHP提供了实际的MIME解码功能,使得文件上传成为可能。PHP还提供额外的框架,可对收到的上传文件进行一些有用的处理。

·基于HTTP的身份验证控制——PHP可以用来为Apache服务器创建自定义的基于HTTP的身份验证机制。

·变量、数组,联合数组(associative arrays)——PHP支持typed(这个单词不知道怎么译,望高手指点)变量,数组,甚至Perl风格的联合数组。而这些都可以通过GET或POST方法的表单从一个页面传递到另一个页面。

·条件语句、While循环——PHP是一种类似C语言的功能完整的脚本语言。你可以使用if/then/elseif/else/endif条件语句,以及While循环和Switch/case语句来安排HTML页面显示的逻辑流程。

·扩展的正规表达式——正规表达式频繁地应用于模式匹配、模式替换以及一般的字符串操作。PHP支持所有常用的正规表达式操作。

·原始的HTTP Header控制——根据某种条件,让Web页面能够发送自定义的原始HTTP头对一些高级的网站设计来说是非常必要的。一个常见的用法就是发送一个Location:URL头,把客户端的请求重定向到另外一个URL上。也可以用来关闭缓存或操作页面最新更新的HTTP头。

·动态创建GIF图片——PHP已经支持Thomas Boutell的GD图片库,可以实现GIF图片的动态创建。

·支持ISP"安全模式"——PHP支持独特的"安全模式",从而使得多个用户运行同一台服务器上的PHP脚本变得更加安全。

·新发布的PHP中又增加了许多新的功能。可访问PHP的主站点http://www.php.net。
·PHP是免费的!——这是最后一个重要特色。PHP的程序包是完全免费的。它遵守GNU/GPL。你可以把这个软件用于实现商业或者其它任何目的。


5.1 PHP相对于Java的优势

PHP是一种已经确定下来的,用于创建动态网页的服务器端的脚本语言。作为一种为Web而特别设计的语言,PHP带来了许多商业机构渴望的特性。

·极短学习周期
·快速的开发时间
·非常高的性能

这对于缺乏熟练编程人员,时间又非常紧迫的公司来讲,具有非常重要的意义。PHP可以在所有主要的操作平台(UNIX,Windows,甚至是大型机)上运行,而且生来就支持各种流行的数据库。所有这一切决定它是一种进行Web开发的非常理想的选择:曾有运用PHP技术的网上商店称,他们只需雇佣业余的程序员,几天内就能够开发出可重用的代码。那些熟悉诸如C,C++或Java等语言的程序员们,也总是发现他们能够在几个小时之内就能够进行PHP编程。

PHP是针对Web开发而设计的,这一事实使它成为一种独具特色的开发工具,就象Intranet Design杂志评价的那样:

"PHP是构建在Web开发人员现实需求之上的....不同于其它笨重的,高负荷的方法,PHP非常轻便,是为Web开发度身定做的。它可以比其它同类技术更快,更容易的解决复杂的问题。"

Java作为一种新的编程语言,最初用于运行嵌在浏览器中的客户端应用程序。在过去短短几年中,"applet"所暴露的问题迫使SUN和其它Java开发人员为该语言寻找新的出路。其中最为突出的就是服务器端编程,它允许Web站点连接数据库并产生其它服务器端的应用程序,即"servlets"。SUN最终推出了Java Server Pages(JSP)作为编写servlets的手段。与PHP一样,JSP在不同平台间也具有高可移植性(尽管PHP支持任何32位以及32位以上的平台,而JSP只能在安装了Java虚拟机的平台上运行)。 然后,一个没有编程背景的新手会发现,使用servlets编程是一件极为困难的事,原因在于该语言的复杂性以及JSP系统复杂的设计方式。

JSP的性能也存在许多待改进的地方:ZDnet的在线刊物eWeek最近的一项调查发现,PHP的运行速度差不多是JSP的3.7倍。可以说,JSP是Web环境中非常差的一种解决方案,这是因为它每秒钟只能处理很少的事务,而且响应速度相当的慢。

ZDnet的eWeek杂志还提到:
"JSP是一项相对较新的技术,从开发工具、资源、人才方面来看,还未具有完全的市场成熟度。"......由于JSP是基于Java的,而Java由是一种强类型的语言,所以我们不得不声明变量的类型,并在需要的地方手工转换类型。这使得JSP成为业余程序员最难于学习的一种脚本语言。

PHP与Java协同工作

JSP仅仅是一种能够访问Java对象的语言罢了,认识到这一点很重要。而PHP也可以整合Java,这意味着,PHP可以象JSP一样,成为一种能够调用Java逻辑的脚本语言。但与JSP不同的是,PHP还可以调用其它组件模型,如Microsoft的COM,而且增加对新的对象模型的支持也极为容易。可见,PHP的扩展能力是无穷的。而另一方面,JSP完全依赖于Java。

IBM程序员Sam Ruby联合使用PHP和Java。通过PHP对Java的良好支持,使得Java对象如同常规的PHP对象一样,透明地被创建和使用。

AutionWatch网站使得各种规模的商业团体都可以从其动态竞价环境中获益。它每月的访问人数在二百六十万以上;已有三十多万个注册用户;每个月进行一百二十万次拍卖。 他们曾尝试使用Java,但还是选择了PHP,就因为它更容易使用,开发速度更快。若想知道的更多,请联系Ben Margolin,他是AuctionWatch网站销售服务部的主任(ben@auctionwatch.com)。

编程顾问Reuven Lerner曾在各种语言之间作过比较。他对PHP的看法概括如下:
"这是门容易学习的语言。美工和Web设计师可能会说他们并非程序员,但事实上,他们在大型项目中,越来越多的使用了JavaScript,VBScript以及其它一些简单的编程语言。与Perl相比,PHP更加正规和明确;对一个新手来说,PHP比Java更容易掌握。确实,PHP有点象JavaScript(如果存在服务器端版本的话)。任何人,不管有无编程经验,都可以在很短的时间里学会并使用PHP。这一点也许VBScript可以做到,但Perl和Java肯定不行.....PHP绝对是一个非凡的,强大的系统。无怪乎能够成为创建Web站点的流行语言.....我认为,PHP将成为Java和JSP强有力的竞争对手,我会在某些客户和公司内部项目中极力推荐PHP。"

PHP:一直在前进

JSP有Sun作为其后盾,因此不断获得媒体的关注。但有趣的是,尽管没有任何宣传攻势,PHP的流行度仍然以8-11%的速度在增长,远远大于服务器端应用程序4%的月增长率。有六百五十万个站点使用了PHP(参见Netcraft 2001年5月的调查报告)。39%的Apache服务器上配置了PHP;而Perl占了11%的市场分额,名列第四。Apache保持着59%的Web服务器市场占有率;Microsoft次之,仅28%(参见E-Soft Inc./SecuritySpace 2001年5月的调查报告)。

使用PHP的著名公司有:Unilever、Philips、NTT、Cisco、 Japan Airlines、 Air Canada、 Lufthansa、GE Marketplace、 Wallstreet:Online Germany、 AuctionWatch、 VillageVoic、 Dialpad以及BMC。

1.Intranet Design杂志:一个IT经理对PHP的看法,2000年6月4日。
http://linuxtoday.com/news_story ... -04-002-04-NW-HL-SW
2.eWEEK:四中脚本语言的速度开发,2000年10月30日。
http://www.zdnet.com/eweek/stories/general/0,11011,2646052,00.html

subaru

转帖一个很早前看过的帖子,这个测试也比较古老了了吧
===============
ASP、JSP、PHP 三种技术比较

作者: 吕海鹏 来源: 深度空间

--------------------------------------------------------------------------------



目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。

简 介

  ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。ASP采用脚本语言VBScript(Java script)作为自己的开发语言。

  PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

  JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。

  三者都提供在 HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP 、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML页面只依赖于Web服务器,而ASP 、PHP、JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP 、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

技术特点:
ASP:
1. 使用VBScript 、 JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。
2. 无须compile编译,容易编写,可在服务器端直接执行。
3. 使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
4. 与浏览器无关(Browser Independence), 客户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。Active ServerPages 所使用的脚本语言(VBScript 、 Jscript)均在WEB服务器端执行,客户端的浏览器不需要能够执行这些脚本语言。
5.Active Server Pages能与任何ActiveX scripting语言兼容。除了可使用VB Script或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其它脚本语言,譬如REXX 、Perl 、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model) 对象。
6. 可使用服务器端的脚本来产生客户端的脚本。
7. ActiveX Server Components(ActiveX 服务器组件 )具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序设计语言来编写你所需要的ActiveX Server Component 。

PHP:
1 数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的群组合。你还可以自己编写外围的函数去间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松地修改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。这也是PHP的一个弱点。

JSP:
1.将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。

2.强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。

3.采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。 JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java程序设计语言"一次编写,各处执行"的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。

应用范围:
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,只能执行于微软的服务器产品,IIS(Internet Information Server) (windows NT)和PWS(Personal Web Server)(windows 98)上。Unix下也有ChiliSoft的组件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的群组合来扩充,Unix下的COM实现起来非常困难。

PHP3可在Windows,Unix,Linux的Web服务器上正常执行,还支持IIS,Apache等一般的Web服务器,用户更换平台时,无需变换PHP3代码,可即拿即用。

JSP同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。

性能比较:
有人做过试验,对这三种语言分别做回圈性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。(参考PHPLIB)。 数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。

前景分析:
  目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,群组成二维数组。而PHP则缺乏这种支持。还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。

ASP和JSP则没有以上缺陷,ASP可以通过Microsoft Windowsd的COM/DCOM获得ActiveX规模支持,通过DCOM和Transcation Server获得结构支持;JSP可以通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。三者中,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。

总之,ASP,PHP,JSP三者都有相当数量的支持者,由此也可以看出三者各有所长。正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。



subaru

不过,这个测试中的关于 JSP完成20000*20000循环 只需四秒值得斟酌。
2。连接数据库,PHP比jsp快很多
3。"php做大型网站的开发时好像有点力不从心"

TombCrow

我还是比较倾向jsp的~

subaru

晕~老大什么都会啊!佩服~海运用这么多语言吗?【动作】 subaru 仰天狂笑:"普天之下,竟然没有我的对手..."

TombCrow


subaru

html asp jsp(java) php(c)

en fr cn

呵呵呵呵

TombCrow

subaru,你转的那篇确实是比较老了,还在说php3......

html asp jsp(java) php(c)
html/css还算可以,但是后面那三个......其实我也不太懂,就php能看看而已......

en fr cn
cn和en这里人人都会吧?那个fr......就为了它,我现在的en......55555......

风水先生

无论php有多少优点
没有大公司的支持是它的致命伤,未来是j2ee和.net的天下

subaru

对对,.net!

嗯~~我只看了那个测试:D