主流WEB开发技术对比
- 格式:pdf
- 大小:140.15 KB
- 文档页数:3
WEB APP、HYBRID APP及NATIVE APP的综合对比说明目前主流应用程序大体分为三类:Web App、Hybrid App、Native App。
一、Web App、Hybrid App、Native App 纵向对比首先,我们来看看什么是Web App、Hybrid App、Native App.1。
Web APPWeb App 指采用Html5语言写出的App,不需要下载安装.类似于现在所说的轻应用.生存在浏览器中的应用,基本上可以说是触屏版的网页应用.优点:(1)开发成本低,(2)更新快,(3)更新无需通知用户,不需要手动升级,(4)能够跨多个平台和终端。
缺点:(1)临时性的入口(2)无法获取系统级别的通知,提醒,动效等等(若需要可变相通过手机等第三方工具形式在对接实现)(3)用户留存率低(4)设计受限制诸多(5)体验较差(6)相对而言网络环境要求较大(7) 手机上本地资源调用上(相机、GPS、通讯录等)有一定局限性(8) 受限浏览器版本(相对而言在设计时可能考虑基于微信和QQ浏览器的专项定制开发)2. Hybrid AppHybrid APP指的是半原生半Web的混合类App。
需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是Web 。
例如Store里的新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。
Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。
尚不完美。
3。
Native AppNative APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。
需要用户下载安装使用。
优点:(1)打造完美的用户体验(2)性能稳定(3)操作速度快,上手流畅(4)访问本地资源(通讯录,相册)(5)设计出色的动效,转场,(6)拥有系统级别的贴心通知或提醒(7)用户留存率高(注:看似的效果,源于对装机量能有所监控,但仅为虚数,时间上这个未来必将被摒弃,更多要体现注册用户数、用户活动率等所取代)缺点:(1)分发成本高(不同平台有不同的开发语言和界面适配)(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2,V3, V4版本,需要更多的开发人员维护之前的版本)(3)更新缓慢,根据不同平台,提交–审核–上线等等不同的流程,需要经过的流程较复杂二、Web App、Hybrid App、Native App 技术特性由上图可见,Web APP 的开发基于Html5语言。
58软件开发与应用Software Development And Application电子技术与软件工程Electronic Technology & Software Engineering●社科项目:武汉职业技术学院2020年社科项目(2020YJ010)。
1 引言1995年,网景公司发布第一款商业浏览器Netscape Navigator ,为了提高网页互动性,网景公司设计出第一个能够在浏览器端运行的脚本语言,命名为LiveScript 。
为了借助Java 语言的营销效应,遂改名为JavaScript 。
1996年,微软发布VBScript 和Jscript 两个脚本语言,内置于其IE 浏览器中。
为了确保JavaScript 占有市场领导地位,网景公司将JavaScript 提交到欧洲计算机制造商协会(ECMA )以便将其进行国际标准化,产生了ECMAScript 。
为了取得浏览器市场,网景公司在1998年成立了Mozilla 开源项目,准备开发下一代浏览器。
2003年,苹果公司发布了Safari 。
随着浏览器产品越来越多,即使有了ECMAScript 标准,但是由于标准制定较晚,所以每个浏览器都有各自的标准。
网页开发人员需要对同一个功能编写出多份代码,以适应不同浏览器。
直到2006年,John Resig 编写出jQuery ,封装实现浏览器兼容的JavaScript 细节代码,从此解决了网页开发人员处理网页兼容性问题的痛点,极大简化了前端编程。
直到今天jQuery 仍旧是使用最广泛的框架之一。
随着MVC 设计模式广泛应用于前端开发当中,Angular JS, Backbone JS, React JS, Vue JS 依次诞生并为大家所广泛使用。
本文将详细介绍五种框架的原理及优缺点,为立志于与做前端开发的学生普及框架知识,同时给出学习和实践中选择框架的建议和启示。
2 五大主流框架介绍下面按照前端框架诞生的时间线,依次讲解jQuery 、Angular JS 、BackBone JS 、React JS 、Vue JS 这五种广泛流行的框架。
前端开发:前端开发的技术和应用前言随着互联网的快速发展,前端开发逐渐成为了IT行业中的一股不可忽视的力量。
就像房子的门面一样,前端开发是网站和应用程序的门面,是用户第一步接触的部分,因此前端开发技术的不断拓展和应用,成了技术和产品竞争中的重要一环。
本文将介绍前端开发的技术和应用,总结前端开发的重要性和发展趋势,以及未来前端技术的应用方向和发展动向,希望对想了解前端开发的朋友们有所帮助。
一、前端开发技术1.HTML/CSSHTML:是Hyper Text Markup Language的简称,即超文本标记语言。
HTML 是用于创建网页和其他Web应用程序的标准标记语言。
CSS:是层叠样式表的缩写,用来定义网页元素的样式。
它支持一系列的样式,包括字体、颜色、布局及其他效果。
2.JavaScriptJavaScript是一种脚本语言,通常用于客户端的Web应用程序中。
JavaScript可以用来增强HTML和CSS,并为Web应用程序增加交互功能。
3.前端框架前端框架是一种编程语言框架。
由于JavaScript本身很难编写大型Web 应用程序,因此前端框架诞生了。
AngularJS:AngularJS是一个基于JavaScript的前端开发框架,它被广泛应用于创建单页Web应用程序和增强现有Web应用程序的功能。
React:React是一种使用JavaScript的开源JavaScript库。
React可用于开发单页Web应用程序和移动应用程序。
Vue.js:Vue.js是一种用于编写现代Web应用程序的渐进式JavaScript 框架。
Vue.js用于创建单页Web应用程序和复杂的Web应用程序。
二、前端开发应用1.华丽UI设计在现代互联网的设计中,用户体验往往是第一位的。
UI设计是前端开发工程师的任务之一,拥有一个漂亮而简单易用的UI界面是吸引用户的关键。
2.响应式网页设计由于移动设备的普及,响应式网页设计因此成为了常态。
JavaWeb开发框架的对比与应用案例JavaWeb开发框架是当前Web应用开发中非常重要的一环。
随着互联网的发展,JavaWeb开发框架的种类也越来越多,其中比较知名的有Spring、Struts、Hibernate等,本文将对这些框架进行对比,并给出一些开发案例。
一、Spring框架Spring是一款轻量级的Java开发框架,它是目前最为流行的框架之一。
Spring提供了一系列可重用代码,让JavaWeb应用的开发更加容易和高效。
Spring的主要特点包括控制反转、依赖注入、面向切面编程等。
Spring框架可以被用于开发各种类型的Web应用,如社交网络、企业应用等。
Spring的优点在于它所提供的灵活性和可扩展性,同时也支持多个不同的程序设计模式。
举个例子,Spring MVC框架可以支持Web应用程序的开发,并且提供多种不同的视图技术,如JSP和Thymeleaf模板等。
Spring的使用可以大大简化JavaWeb应用程序的开发难度,并且降低代码的复杂性。
此外,开发者可以很容易地使用Spring提供的工具来管理和维护应用程序。
二、Struts框架Struts是一款基于MVC模式的开发框架,它是最早的JavaWeb框架之一。
Struts的特点在于它所提供了应用程序组件的相对简单易用性,从而使得应用的开发变得更加快速和高效。
Struts的核心是其控制器,它可以将Web请求分配给各个组件,并且可以自动地处理必要的转换和数据验证。
对于大部分JavaWeb应用程序来说,Struts是一个理想的开发框架。
Struts的优点在于它所提供的模板功能,这可以让开发者通过简单地定义模板和组件的形式,来开发应用程序。
三、Hibernate框架Hibernate是一款完全由Java编写的Object-RelationalMapping(ORM)框架。
它允许Java开发人员使用对象方式访问数据,这意味着开发者不需要编写复杂的SQL查询,并且可以使用Hibernate进行简单的数据库操作。
Web后端开发技术Web后端开发技术是目前互联网行业的热门技术之一,各种网站、APP都需要后端开发人员为其支撑服务。
本文将围绕Web后端开发技术展开探讨,主要包括以下几个方面的内容。
一、Web后端开发技术的基础知识Web后端开发技术必须具备良好的编程基础知识,其中包括Java、Python、Ruby等编程语言,并熟练掌握数据库相关知识。
关于编程语言的选择,目前市面上流行的编程语言有很多,最常用的是Java和Python。
1. JavaJava是一种广泛使用的编程语言,被广泛应用于企业软件开发领域,尤其是Web后端开发。
其主要特点是操作简便易懂,拥有强大的类库,实现跨平台编程等。
如果你希望从事后端开发工作,学习Java是一定要的。
2. PythonPython是一种简单易学的编程语言,以其易于阅读和编写的语法而著称。
Python的特点是代码简单,具有更高的灵活性和可读性,适用于快速开发,并且可以快速集成第三方库。
二、Web服务Web服务是Web后端开发中不可少的部分。
Web服务通常基于RESTful API设计方式,既可以通过HTTP协议提供服务,也可以使用XML、JSON等格式传输数据。
RESTful API的概念目前已经被广泛采用,因为它使得服务端提供友好的RESTful接口成为可能。
1. RESTful APIRESTful API即Representational State Transfer,是设计Web服务架构的一种方式。
它通过HTTP协议在客户端和服务器之间传输数据,就像浏览器请求Web页面一样。
RESTful API对资源进行增删改查操作,以资源的状态作为统一的标识。
2. JSON/XMLJSON和XML是Web后端开发中常用的数据格式,都可以传输结构化数据。
其中,JSON最近更受欢迎,因为相对于XML更轻量级且易于阅读。
三、数据存储技术Web后端开发中的数据存储和管理是一个重要的问题。
最流行的5大开源web服务器统计数据显示,超过80%的web应用程序和网站都是使用的开源web服务器。
在本文中,我们将介绍目前市场上最流行的5大开源web服务器,并简要回顾它们的历史,技术特性以及更多相关内容,方便你自己能够更加轻松的部署这些流行的web服务器。
根据维基百科介绍,web服务器是“通过HTTP协议处理web请求的计算机系统”(a computer system that processes requests via HTTP)。
这个词可以指代整个系统,也可以指代可接收和管理HTTP请求的的程序。
本文中介绍的web服务器指的是为终端用户处理web请求的程序。
NGINX服务器Igor Sysoev从2002年开始开发NGINX,并在2004年发布了第一个公开版本。
NGINX的开发是为了解决C10K(C10K是如何处理1万个并发连接的简写)问题,目前,全球有超过30%的网站在使用它。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
NGINX依靠异步事件驱动架构来帮助其处理大量的并发会话,由于其对资源的轻量利用和伸缩自如的特性,它成为了广受欢迎的web 服务器。
NGINX在类BSD(Berkeley Software Distribution)许可协议的授权下发布的,它不仅可作为web服务器进行部署,也可作为代理服务器或负载平衡器。
你可以在NGINX社区网站找到它的更多信息。
NGINX的特点:服务器Nginx作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务器对外进行服务。
Web前端开发技术(Web客户端编程)学分:3.5 学时:56 (28时理论/28时上机)一、课程的性质、地位与任务《Web前端开发技术》(又名“Web客户端编程”)课程是计算机科学与技术、信息管理与信息系统、软件工程、网络工程、数字媒体、物联网工程等专业的一门专业课程,也是其他计算机相关专业的普及型课程,通过对Web前端三大主流开发技术学习和研究,让学生理解和掌握HTML5、CSS3、JavaScript等脚本语言的相关知识,通过项目实践培养学生开发和设计Web站点的基本操作技能和工作岗位适应能力。
二、课程的教学目标与基本要求本课程教学基本要求是让学生理解Web前端开发与设计的基本原则、Web网站的目录结构定义、主流页面布局方法、导航菜单制作、图文排版、页面交互等方面的基础知识。
掌握网站规划、设计、制作、管理、发布的相关技术及Web前端设计的操作技能;并熟练运用HTML中的文字、链接、列表、表格、表单、图像、多媒体、框架标记及属性设计出框架网页、表格与表单网页、多媒体动态网页;掌握使用DIV+CSS结合技术进行网页布局的基本方法。
掌握JavaScript脚本语言的基本语法知识,HTML中JavaScript程序的嵌入方法,理解对象的概念及使用JavaScript来进行开发、维护、管理和设置Web应用程序;掌握综合网站设计和发布的基本流程和方法。
本课程的教学目标是让学生理解HTML5、CSS3、JavaScript三大脚本语言的基本语法,掌握常用的Web页面布局技术,理解并熟练应用JavaScript常用的对象的属性与方法,熟练地使用DOM 技术编写页面交互的客户端程序,通过项目实训,培养学生Web页面布局和页面交互设计初步能力。
三、课程内容(重点△,难点★)1 Web前端开发技术综述1.1 Web概述1.1.1 了解Web起源1.1.2 理解Web特点1.1.3理解Web工作原理1.1.4 掌握Web相关概念,掌握URL构成、Web服务器、超链接基本概念。
WEB开发框架性能排行与趋势分析2-三大惊喜变化WEB开发框架性能排行与趋势分析2-三大惊喜变化Web框架性能排名上一次基于TechEmpower的《Web Framework Benchmarks》性能基准测试的解读之后,时隔两年此次Round19(2020-05-28)榜单有了三个令人兴奋的变化:注:带星号的项目支持完整的ORM和模板技术一、神奇的LithiumC++和Rust都是只提供编译期反射的,所以实现ORM的方法有两种,一种是带生成器,需要工具和预处理。
一种是利用宏和模板技术来生成代码。
Lithium这个项目和其它妖艳贱货不一样,代码优雅得一塌糊涂,而且性能惊人Lithium(ORM)(RAW)以 59.2%的成绩一骑绝尘。
虽然使用宏和模板有点烧脑,但还是值得一看。
对比Rust的Diesel,仅取得了24%的成绩还是有很大提升空间的。
Golang的框架测试代码中没有一个带ORM,是因为Golang的反射机制还是很慢的,直接拖累了性能。
auto fortunes = sql_orm_schema(sql_db, "Fortune").fields( s::id(s::auto_increment, s::primary_key) = int(),s::message = std::string());my_api.get("/fortunes") = [&](http_request& request, http_response& response) {sql_db.max_async_connections_per_thread_ = fortunes_nconn;typedef decltype(fortunes.all_fields()) fortune;std::vector<fortune> table;{auto c = fortunes.connect(request.fiber);c.forall([&] (const auto& f) { table.emplace_back(metamap_clone(f)); });}table.emplace_back(0, "Additional fortune added at request time.");std::sort(table.begin(), table.end(),[] (const fortune& a, const fortune& b) { return a.message < b.message; });li::growing_output_buffer ss;ss << "<!DOCTYPE html><html><head><title>Fortunes</title></head><body>< table><tr><th>id</th><th>message</th></tr>";for(auto& f : table){ss << "<tr><td>" << f.id << "</td><td>";escape_html_entities(ss, f.message);ss << "</td></tr>";}ss << "</table></body></html>";response.set_header("Content-Type", "text/html; charset=utf-8");response.write(ss.to_string_view());};二、恐怖的WorkermanPHP一直热衷于各种用底层代码来提升性能,但是由于各种原因,成果有限。
软件开发技术日新月异,流行的技术三五年就换一茬,目前在企业架构中都流行哪些技术呢?
互联网主流技术框架有以下几点:
1、反向代理和web服务器集群架构
2、缓存框架memcache等
3、noSql
4、模板技术
5、ssi,互联网估计很少用hibernate
6、zookeeper分布式协作框架
7、消息框架rabbitmq、activemq等
8、通讯框架mina、netty、hession
9、前端框架jquery、extjs等
每种类型的框架都有不止一种实现,涉及到的东西很多,可以选择几个自己感兴趣的学习使用一下,然后总结出其中优缺点,只有实践了才能知道该框架最核心的优点和缺点。
汇桔网精选全国专业开发公司,寻求互联网前沿技术+专业开发技术,上汇桔网查看最专业的开发外包公司,让互联网商业变得更简单,您的需求,我们全力满足,点击进入汇桔网咨询。
主流的网站开发语言优缺点-ASP、JSP、PHP 三种技术比较现在主流的网站开发语言无外乎asp、php、、jsp等。
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码内嵌到HTML页面中。
虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
目前在微软的 .net 战略中新推出的 借鉴了Java技术的优点,使用C Sharp (C#) 语言作为的推荐语言,同时改进了以前ASP的安全性差等缺点。
但是,使用 ASP/仍有一定的局限性,因为从某种角度来说它们只能在微软的 Windows NT/2000/XP + IIS 的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP 的解决方案,但是目前ASP在UNIX/Linux上的应用可以说几乎为0)。
所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
主流网站开发语言之PHPHP 的全名非常有趣,它是一个巢状的缩写名称——“PHP: Hypertext Preprocessor”,打开缩写还是缩写。
PHP是一种HTML 内嵌式的语言 (就像上面讲的ASP那样)。
而 PHP 独特的语法混合了C,Java,Perl以及 PHP 式的新语法。
它可以比 CGI 或者 Perl 更快速地执行动态网页。
主流web开发技术对比目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)。
简介:ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序(1)ASP采用脚本语言VBScript(Java script)作为自己的开发语言。
(2)PHP是一种跨平台的服务器端的嵌入式脚本语言。
它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态产生页面。
它支持目前绝大多数数据库。
还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http: //)自由下载。
而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
(3)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技术家族的一部分,以及Java2EE的一个成员,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)(windows98)上。
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)。
数据库测试中,三者分别对Oracle8进行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三者都有相当数量的支持者,由此也可以看出三者各有所长。
正在学习或使用动态页面的朋友可根据三者的特点选择一种适合自己的语言。