三种Web开发主流技术的性价评价

ASP:MS IIS 4/Visuale Interdev 6   
PHP:Apache 1.2.x/HomeSite 4.5/PHP 4   
Java:iPlanet Web Server 4.1/JBuilder 3.5/JDK 1.2.2   
以上技术本人却实使用过,而且已经使用它们做过项目,基于以前的工作经验给初学者和正在对自己应用系统进行选择的同仁谈谈自己对它们的评价,以做参考,同时也请大家提出自己的想法和意见 ,多交流。但是我有一个这样的看法:“一个产品它存在就有存在的理由,它不可能一无是处,而是需要你去选择一个最合适你的技术、产品”。一个好的技术要用在最合适它的地方,所以本文可以做为你参考的一个文章,而不会告诉你任何一个技术的“最”。三种Web开发主流技术的评价之ASP 
ASP:ActiveX Server Page   
ASP我们先来谈谈它,因为ASP是到现在开发人郡最广的一个技术了,所以想来大家也会对它最关注。ASP是一个近乎完美的想法,可是因为MS一个大的环境的问题所以在一些方面反回使它缩小在了一个小的框架中,如果它能更好的跳出这个框架,我想由它现在的基础将无人可比。ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件来无限的扩充了ASP的能力。   
强势: 
  1、简单易学。Basic有谁不会?很少会有人举手,所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。 
2、安装使用方便。装好一个Windows 2000,只要你安装了IIS哪么ASP就可以使用了,从没有什么需要你花心思去配置的。而说实话,ASP的调优也不难做,而要做到最细时也不是一般人能做的了的。 
 3、开发工具强大而多样。这个我不用说了,可以说的就是我以前使用VB中的Web Class开发出的Web应用一点不差,当时让许多人大吃一惊,VB也能做ASP上的应用!!!其实这正说明了ASP开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项哟。   
4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求并不高。   
弱势: 
  1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(Win2K已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。   
2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。   
3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。   
4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。   
5、还无法完全实现一些企业级的功能:完全的集群、负载均横。   
总结: 
  适用人群:熟悉MS架构的人员。想用最短的时间学习,同时想用最简单的方式完成自己的应用。   
适用平台:Windows系列平台适用应用:企业内部管理信息系统、中小Internet应用、快速数据库开发的应用。   
学习方式:IIS 4 Online Help(中文)MSDN Lib相关知识市场上众多的ASP书籍。   
推荐开发工具:Visual InterDev/Home Site/Front Page   
推荐开发环境:Windows 2000 Server/MS SQL   
推荐应用环境(最少):Windows 2000 Server/MS SQL 7/PIII 500/256M RAM/18G HD 
三种Web开发主流技术的评价之PHP 
PHP:Personal HomePage   
PHP是一个什么原因出现的呢?它是一个技术人员希望能用一个快速的方面来完成他自己的个人主页中的一个小应用。而在他一发不可收时出现了php,它使一个人能在多种操作系统下迅速的完成一个轻型的Web应用。所以在短短的几年里,php迅速的升级了它的版本,同时在GNU的世界里找到了一个青梅竹马的伙伴----Apache。这终于让php有了基础,能在一个最佳的环境中运行,同时由于两个产品都是公开源代码的产品,所以大家可以使用它们的源代码将这两个产品用最完美的方式结合到一起,使用起来就如一个产品一样。个人认为php是自由软件在web应用平台上一个决胜的工具,如果没有php的出现,还会有许多人认为自由软件就代表了对开发人员的高技术要求、难记的代码、复杂的工具.....php使一个会使用basic的人员在极短的时间里快迅学习并完成用户需要的应用。  
 怎么说php呢?如果说ASP是一个COM,哪么php说的更精确了可以说php是一个纯粹的Script翻译器。这也是php由3升级为4的一个重大原因,在4这个版本里它重写了语法分析器,从而加快了php整体的效能。而且从中你也就会明白为什么php需要支持这种或是那种扩充功能时它一定要与相应系统的lib库进行再编绎的原因。正因为它是正宗的“翻译器”,所以它是将script翻译成为需要执行的函数,再去执行它们,外部扩充不能由一些“动态加载”的方式进行,所以只能静态的编绎进php中(这只能在windows中除外)。   
强势: 
  1、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。ASP比不上它的就是这种跨平台能力了,而正是它的这种能力让Unix/Linux有了一种与ASP媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书,同时Internet上也有大量的代码可以共享,对于一个初学者想学些“高深的Unix”下的开发来说是一个决好的入手点。   
2、与Apache及其它扩展库结合紧密。php与Apache可以以静态编绎的方式结合起来,而与其它的扩展库也可以用这样的方式结合(除外的就是Windows平台了)。这样的方式的最大的好处就是最大化的利用了cpu时和内存,同时极为有效的利用了apache的高性能的吞吐能力。同时外部的扩展也是静态连编,从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式,所以使用的是本地化的调用,这也让数据库发挥了最佳效能。   
3、良好的安全性。由于php本身的代码开放所以它的代码在许多工程师手中进行了检测,同时它与apache编绎在一起的方式也可以让它具有灵活的安全设定。所以到现在为止,php具有了公认的安全性能。   
弱势: 
  1、数据库支持的极大变化。由于php的所有的扩展接口都是独立团队开发完成的,同时在开发时为了形成相应数据的个性化操作,所以php虽然支持许多数据库,可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作,在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库,就需要开发人员将同样的数据库操作使用不同的代码写出n种代码库出来,让程序员的工作量大大增大。  
 2、安装复杂。由于php的每一种扩充模块并不是完全由php本身来完成,需要许多外部的应用库,如图形需要gd库、LDAP需要LDAP库.……这样在安装完成相应的应用后,再联编进php中来。这也就是我以前在代码联盟新闻组中对网友所说的一定要在FreeBSD/Linux/Unix下运行php的原因。只有在这些环境下才能方便的编绎对应的扩展库。这些都是一般开发人员在使用php前所先要面对的问题,正是这样的问题让许多开发人员转而使用其它的开发语言,必竟Unix没有那么多的用户。   
3、缺少企业级的支持。没有组件的支持,哪么所有的扩充就只能依靠php开发组所给出的接口,事实上这样的接口还不够多。同时难以将集群、应用服务器这样的特性加入到系统中去。而一个大型的站点或是一个企业级的应用一定需要这样的支持的。注:在php的4.0版本以后加入了对servlet/javabean的支持,也许这样的支持会在以后的版本中更加增强,也许这样的支持会是php以后的企业级支持的起点。 
 4、缺少正规的商业支持。这也是自由软件一向的缺点,我想在国内php的开发人员正在快速增加,相信在不久的将来,这样的支持能多起来。   
5、无法实现商品化应用的开发。由于php没有任何编绎性的开发工作,所有的开发都是基于脚本技术来完成的。所以所有的源代码都无法编译,所以做完成的应用只能是自己或是内部使用,无法实现商品化。  
总结: 
  适用人群:熟悉Unix环境,需要在最少的投入下完成快速的应用开发。  
  适用平台:FreeBSD/Linux/Unix操作系统、Apache服务器 
适用应用:Internet高访问量、快速数据库开发的应用。   
学习方式:Internet上国内丰富的资源Internet上丰富的源代码资源,完全可以参考这样的例程来完成自己的应用。市场上最近出版的好几本php手册。  
 推荐开发工具:Home Site/PHPEd   
推荐开发环境:FreeBSD 4.1/RedHat 6.1操作系统/Apache 1.3.12/MySQL 3.22/P 200/64M RAM/9G HD   
推荐应用环境(最少):FreeBSD 3.5/MySQL 3.22/Apache 1.3.12/P 200/128M RAM/9G HD   
推荐应用环境(最佳):FreeBSD 3.5/Sybase 11/Apache 1.3.12/P III 500/512M RAM/18G HD 
三种Web开发主流技术的评价之JSP 
JSP:Java Server Page   
JSP又是什么原因出现的呢?Java在推向开发人员时出现了重重困难,首先是Java缺少主流系统的广泛支持,而在所有的平台和技术上都缺少可以直接参照的应用方式。这时java就走向了在各个应用层上的积极进取,在自己擅长的与不擅长的领域都走出了坚定的脚步。其中最让Web技术人员兴奋的就是Java Servlet的出现和JSP的渐渐成熟,这一步步都让Java正式的走向了Web开发技术的舞台。Java利用了它的跨平台技术,使java的应用能快速的部署在各个平台上,而真的可以一处编写随处运行。它有较的利用了这个优势,巧妙的将java的通用性、jsp的易用性、servlet的速度结合在一起,利用平台部署上的技巧有效的屏蔽java的速度问题,所以Java迅速的在Web开发人员的团员中推广开来。携着Java Bean、EJB、Java Application Server、Java事务服务器等这样的强大后台走向了真正的成熟应用。   
Jsp到底是一个什么样的语言呢?实际上JSP就是Java,只是它是一个特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了Java Servlet Code(.java文件)->Java Runtime Bin Code(.class文件),这就是为什么我们第一次运行JSP时CPU运行能达到很高的原因,它实际上是调用了jsp引擎来生成java文件,再用javac来编译它到class文件,这才能去执行它。同时也说明了在第一次运行以后,速度为什么哪么快的原因,只要这个jsp文件不改变哪么这个操作就不再会进行了(除非你删除了class文件)。所以说,java有什么jsp就有什么样的功能,与asp一样,jsp的真正力量是我们永远看不到头的!   
强势: 
  1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的恶梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比php更出色,除了系统之外,你的代码不用做一点更改的。   
2、系统的多台平支持。我已经在差不多所有平台上见到了一致的java servlet/jsp的Web Server/Application Server……系统它可以让你在任意环境做开发,在任意环境进行系统部署,在任意环境扩展。相比asp/php的局限性是显面易见的。   
3、强大的的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均横,到多台Application进行事务处理、消息处理......一台服务器到无数以服务器,Java显示了一个巨人的生命力。   
4、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。如果你细心的使用它们会发现比自己第一面看到它们时的功能要强大的多。   
弱势: 
  1、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。这么说,它在扩展时需要的分成多少块,哪么java系统中就有多少种产品。所以你要以看到jre、jdk、jsdk、jswdk……,实际上它们只要有效的搭配在一起,就可以产生强大的效能,密不可分,但是对于一位初学者来说:“有没有搞错!难道让我运行一个jsp就要这么多乱七八糟的东西!”   
2、从出现的第一天起就被对手痛骂的:“慢如老牛”。真的,我在第一次运行我的jsp时,我竟然以为我的机器死机而将哪个进程给kill了!第一次编绎、运行对于使用者来说真是一场恶梦,在开发时我经常晚上做梦在看WinNT的任务管理器CPU格全绿时等着降下来的样子和感觉。   
3、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说却实是“最低性能价格比”了。另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。   
4、缺少系统性的资料。这也许不该说,但是sun在国内做的却实很差劲,java的资烊在国内极少,到现在我还没有在书店里看到一本jsp的书,而对java体系的论述书更是少而又少,与java相关的书(中文版)到现在不过三位数。而再看看之中大量的具然还在讲Visual J++或是Java 1.1这样的阵年旧货。   
总结: 
  适用人群:具有较强学习能力和耐心的开发人员。投入低但是希望拥有较大的伸缩能力的应用。 
  适用平台:……(太多而只不再一一列说)适用应用:Internet/Intranet高可靠性应用、Internet/Intranet与Client/Server结合的应用系统  学习方式:Java的Doc文档和java站点中的一系文档Internet的源代码资源(对不起大家,真的不能提出更好的建议了,再有的就是大家的能力和运气,以及Inetnet上网友的帮助了)   
推荐开发工具:JBuilder/Visual Age for java(这个我没用过,但是有人强力推荐)/Sun Forte for JavaKAWA   
推荐开发环境:Windows NT/Windows 2000开发系统JBuilder 3.5(它能成为Web Server,甚至不再需要其它的工具)Tomcat 3.1JDK 1.3(可以不安装)Access 2000/P II 266/128M RAM/9G HD   
推荐应用环境(最少):RedHat Linux 6.2/MySQL 3.22/Apache 1.3.12/Tomcat 3.1/JDK 1.3Beta/PIII 500/512M RAM/9G HD   
推荐应用环境(最佳):Solaris 8/Sybase 11/iPlanet Enterprise Web Server 4.1/JDK 1.3Beta/Sun Netra T1/1G RAM/18G HD

(0)

相关推荐

  • javascript实现五星评价代码(源码下载)

    废话不多说,先上个效果图: 查看演示                   源码下载 javascript中的代码 var spans=document.getElementsByTagName("span"); var flag=5;//这个值随便取,只要不是01234就行 var Expand=function(){ //扩展代码,暂无 }; onload=function(){ //循环载入鼠标移入事件 for(var i=0;i<spans.length;i++){ spa

  • Ajax 汇总以及初步评价

    Ajax接触不久,我只是为了挑选一款 Ajax 库,才收集的资料,并测试,我的测试很简单,直接看他们网站上的联机demo页面的速度,速度慢的就淘汰! 辅助js:www.formassembly.com\wForms 44k(压缩版)对表单的js扩充可实现本地校验等功能.Ajax: http://www.sarmal.com/sardalya/Download.aspx不错!速度快!有hint控件.75k. free for non-commercial http://openrico.org感觉

  • jQuery基于图层模仿五星星评价功能的方法

    本文实例讲述了jQuery基于图层模仿五星星评价功能的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&

  • 对亲历的17个广告联盟对比和评价

    一.IPLUS广告联盟,这也是我做的最早的一个广告联盟.当时该联盟建立之初,做TAOBAO的广告,注册量很高.做了大概两个多月吧,收入近4000元.可惜后来由于我的站小,他们终止了和我的合作.今年这个联盟的申请条件有所降低了.又做起了这个联盟,不过感觉得注册量已经不如一年前啦,不过付款比较及时. 二.3721联盟.这是我做的第二个联盟,这个联盟是我做站之时注册最早的一个联盟,刚开始放了近两个月,也由于我是新站,不到2块钱.04年9月份吧,又开始放这个广告,主要做雅虎邮箱和一搜图片广告,当时一天可

  • 三种Web开发主流技术的性价评价

    ASP:MS IIS 4/Visuale Interdev 6   PHP:Apache 1.2.x/HomeSite 4.5/PHP 4   Java:iPlanet Web Server 4.1/JBuilder 3.5/JDK 1.2.2   以上技术本人却实使用过,而且已经使用它们做过项目,基于以前的工作经验给初学者和正在对自己应用系统进行选择的同仁谈谈自己对它们的评价,以做参考,同时也请大家提出自己的想法和意见 ,多交流.但是我有一个这样的看法:"一个产品它存在就有存在的理由,它不可能

  • Android三种GSM手机定位技术分析

    复制代码 代码如下: // 声明LocationManager对象 LocationManager loctionManager; // 通过系统服务,取得LocationManager对象 loctionManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 方式一: 复制代码 代码如下: // 通过GPS位置提供器获得位置 String providerGPS = LocationManager.GPS_

  • 详解Spring Boot 访问Redis的三种方式

    目录 前言 开始准备 RedisTemplate JPA Repository Cache 总结 前言 最近在极客时间上面学习丁雪丰老师的<玩转 Spring 全家桶>,其中讲到访问Redis的方式,我专门把他们抽出来,在一起对比下,体验一下三种方式开发上面的不同, 分别是这三种方式 RedisTemplate JPA Repository Cache 开始准备 开始之前我们需要有Redis安装,我们采用本机Docker运行Redis, 主要命令如下 docker pull redis doc

  • 关于三种主流WEB架构的思考

    以下想法主要以PHP实现为示例,但很多体会我想Java,.NET,Ruby开发者应该也很容易理解.最后是我对于刚面世就引起无数人关注的Delphi fo PHP的评测. WEB程序的架构基本上可以分成以下三类: (一) 基于"WEB页面/文件",例如CGI和PHP/ASP程序.程序的文件分别存储在不同的目录里,与URL相对应.当HTTP请求提交至服务器时,URL直接指向某个文件,然后由该文件来处理请求,并返回响应结果. 比如http://www.website.conm/news/re

  • Go高效率开发Web参数校验三种方式实例

    web开发中,你肯定见到过各种各样的表单或接口数据校验: 客户端参数校验:在数据提交到服务器之前,发生在浏览器端或者app应用端,相比服务器端校验,用户体验更好,能实时反馈用户的输入校验结果. 服务器端参数校验:发生在客户端提交数据并被服务器端程序接收之后,通常服务器端校验都是发生在将数据写入数据库之前,如果数据没通过校验,则会直接从服务器端返回错误消息,并且告诉客户端发生错误的具体位置和原因,服务器端校验不像客户端校验那样有好的用户体验,因为它直到整个表单都提交后才能返回错误信息.但是服务器端

  • PHP、JAVA、.NET这三种技术的区别分析

    其实这三种编程技术各有优势,我们大概可以从语言.平台这二点来区分: 一.语言: PHP:PHP产生与1994年,其语法混合了C.Java.Perl 和他自创的一些编程语法:PHP是嵌入在HTML中执行的:它也是一种解释性语言.早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念. JAVA:JAVA产生与1995年,JAVA语言和JAVA平台统称为JAVA:它语法与C语言和C++语言很接近,并且JAVA是面向对象编程语言,JAVA是编译性语言,可以先将JAVA源

  • Java开发Oracle数据库连接JDBC Thin Driver 的三种方法

    Oracle的jdbc驱动三种主要分类: 1.JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动.因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置. 2.JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序.它不是

  • 详解SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba JetCache 框架)

    引言 ​前两天在写一个实时数据处理的项目,项目要求是 1s 要处理掉 1k 的数据,这时候显然光靠查数据库是不行的,技术选型的时候老大跟我提了一下使用 Layering-Cache 这个开源项目来做缓存框架. ​之间问了一下身边的小伙伴,似乎对这块了解不多.一般也就用用 Redis 来缓存,应该是很少用多级缓存框架来专门性的管理缓存吧. ​趁着这个机会,我多了解了一些关于 SpringBoot 中缓存的相关技术,于是有了这篇文章! 在项目性能需求比较高时,就不能单单依赖数据库访问来获取数据了,必

  • Java Web项目中解决中文乱码方法总结(三种最新方法)

    目录 前言 问题背景 下面我说三种方法供大家参考 方法一: 方法二: 第三种方法: Tomcat结构与介绍 bin conf lib logs temp webapps work 前言 JavaEE(Java Enterprise Edition),Java企业版,是一个用于企业级web开发平台.最早由Sun公司定制并发布,后由Oracle负责维护.JavaEE平台规范了在开发企业级web应用中的技术标准.在JavaEE平台共包含了13个技术规范(随着JavaEE版本的变化所包含的技术点的数量会

  • Oracle三种上载文件技术

    正在看的ORACLE教程是:Oracle三种上载文件技术.Oracle中有多种方法可以向数据库或服务器文件系统上载文件,这里主要介绍如下三种:Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能:Oracle 9iAS的标签库和Bean提供的文件上载功能:通过JDBC程序上载文件. 一.Oracle HTTP Server(OHS)的mod_plsql模块提供通过web页面向数据库上载文件的功能 1.在文件上载的目标模式中建立文档访问表

随机推荐