版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、现在 CMS 基本上可归结为两大阵营,即php 阵营和 java 阵营。但对接触CMS不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实,PHP + MYSQL 不值钱不仅仅局限于CMS 软件,而是整体上PHP + MYSQL 开发的软件都不如java 开发的软件值钱。为什么 PHP + MYSQL 的 CMS 为什么不值钱呢?首先得明白php 和 java 之间的差异才行。1 、系统的技术架构比较分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,
2、易于控制、易于延展,更易于分配资源。PHP 只能实现简单的分布式两层或三层的架构,而 JAVA 在这方面就十分强大,可以实现多层的网络架构。运用MVC 的设计模式,可使CMS 系统具有更加高效、合理的系统架构。技术架构的落后,使运用 php 编写的 CMS 软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA 编写的 CMS软件系统的差距越来越大。架构的差距,注定了 php 做的 CMS 充其量是个小家碧玉,始终无法和java 这种大家闺秀同台竞技。2、数据库访问比较PHP 可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过
3、这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP 提供的数据库接口支持彼此不统一,比如对Oracle,MySQL , Sybase 的接口,彼此都不一样。由于PHP 对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。而 Java 通过 JDBC 来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从 MYSQL 数据数转到ORACLE 数据, PHP 需要做大量的修改工作,而且比较繁琐。但JAVA 开发的便只需要很少的更改便能实现。数据库访问方式的差异,奠定了 php 开发
4、出的CMS 和 java 开发出来的CMS是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。3、安全性对比在同是开源和跨平台的java 面前, php 丢掉了很多的优势。在代码的安全性上尤为突出。php 的开发程序在别人拿到代码后,可以很容易的进行修改。而 java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php 和 java 是相去甚远。如果非要将php 和 java 在安全性上做个比较的话,同一个小偷光顾php 那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一
5、辉某某到此一游。而光顾 java 的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。4、前瞻性和拓展性从整体来说,php 适用于中小型系统,而java 适用于大型系统。Php 能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢?首先, php 缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。 将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php 恰恰缺乏这种支持。其次, PHP 提供的数据库接口不统一,要将
6、多个不同的数据库数据统一需要花费很大的力气。而JAVA 则没有这种缺陷,可通过SUN Java 的 Java Class和 EJB 获得规模支持,通过EJB/CORBA 以及众多厂商的Application Server获得结构支持。如IBM的E business,它的核心是采用 JSP/Servlet的Web Sphere ,是通过 CGI 来提供支持的。如果将 Php 比作将才,具备独挡一方的能力。那么java 便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。5、开发成本比较既然 php 在诸多方面都不如java 优异, 那么 php 开发出的CM
7、S 产品何以与java 产品竞争呢?在于Php 阵营普遍走的是低端路线,而java 阵营走的是中高端路线。两者之间交集的区域较小。软件价格的高低很大程度上和自身成本和功能相挂钩。php 的入门门槛较低,绝大多数学过c 的程序员都很容易转型为php 程序员,这使得php 程序员的泛滥成灾的同时,低成本的php 软件产品也层出不穷。以 PHP 最经典的组合PHP+ MySQL + Apache 为例,由于所有软件都是开源免费的,所以投入并不高。而 java 开发需要特定的环境,成长为一个合格的java 程序员需要一定的时间, java 程序员的成本也是php 成本的几倍。Java 的 web 应用
8、服务器免费的有Tomcat 、 JBoss 等,而要想具有很好的商业化服务便必须选用Web Sphere 和Web logic 。这其中投入的成本无形中便超是php 成本的 N 倍。所以,java 开发CMS 的成本要远远高于php 开发出来的同类软件产品。但也正由于java 开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java 用开发出的产品门槛更高。不怕不识货,就怕货比货。Php 开发出来的产品也能用,但是和java 开出的同类产品是没法比较的。正因为php 开发的产品整体性能和java 开发的相去甚远,所以php 运用低成本的低价优势和同类的java 产品抗争,以价格落差来平衡
9、购买者的心态。所以,PHP + MYSQL 的 CMS 不值钱也就不足为怪了第二种PHP 和 JSP 这两个 web 开发技术,在目前的情况是其实是比较PHP 和 JavaWeb 开发。以下是我就几个主要方面进行的比较:语言比较Php 是解释执行的服务器脚本语言,首先 php 有简单容易上手的特点。语法和 c语言比较象,所以学过c 语言的程序员可以很快的熟悉php 的开发。而java 需要先学好java 的语法和熟悉一些核心的类库,懂得面向对象的程序设计方法。所以 java 不如 php 好学。Java 首先要编译成字节码.class 文件, 然后在 java 虚拟机上解释执行。Java 的w
10、eb开发首先最容易想到的就是 JSP (现在已经到JSP2.0),原来的java的web 开发都是用servlet 来实现的,用servlet 来开发需要程序员在java 的源文件中嵌入大量的html 代码。 所以后来就出现了JSP,JSP 可以方便的嵌入到html文件当中,其实jsp 文件在服务器上执行的时候首先会被应用服务器转换成servlet,然后再编译执行。Jsp可以通过servlet和JavaBean的支持产生强大的功能。 JavaBean 是一种可复用的、跨平台的软件组件。使用javabean 可以方便的实现java 代码和 html 的分离,能够增强系统的功能和软件的复用性。Ja
11、va 的 web 开发属于SUN 公司定义的J2EE 其中的规范。而且在 J2EE 中包括了 java 的 web 开发的所有方面,如:JSP、 Servlet、 JDBC、 JNDI 、 JAVABEAN 、EJB 等等。 J2EE 就特别适合于做大型的企业级的应用。二、 数据库访问比较Java 通过 JDBC 来访问数据库,通过不同的数据库厂商提供的数据库驱动方便 地访问数据库。访问数据库的接口比较统一。PHP 对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java 开发的 web 应用从 MySQL 数据库转到Oracle 数据库只需要做很少的修改。而
12、PHP 则需要做大量的修改工作。系统设计架构比较采用 Java 的 web 开发技术,需要使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。所以用Java 进行开发前期需要做大量的系统分析和设计的工作。4、 跨平台性Java 和 PHP 都有很好的跨平台的特性。几乎都可以在不作任何修改的情况下运行在Linux或者 Windows 等不同的操作系统上。5、 开发成本比较PHP 最经典的组合就是:PHP + MySQL + Apache 。 非常适合开发中小型的web应用,开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。Java 的 web 应用服务器有免费Tomc
13、at、 JBoss 等,如果需要更好的商业化的服务有: Web Sphere 和 Web logic 。六、 分布式多层架构比较PHP 只能实现简单的分布式两层或三层的架构,而 JAVA 在这方面就比较强大,可以实现多层的网络架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts 就是利用java 的 web 开发技术实现了MVC 的设计模式,而在业务逻辑层也有 Spring 框架,数据库持久化层有Hibernate 等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。下面简要的说一下Struts,
14、 它实质上是在JSP Model2 的基础上实现的一个MVC(Model、View、Controler)框架。JSP Model2体系结构是一种联合使用 JSP与 Servlet 来提供动态内容的方法。在Struts 框架中,模型由实现业务逻辑的JavaBean 或 EJB 组件构成,控制器由Servlet 实现的, 视图由一组JSP 文件组成。采用Struts 可以明确角色的定义和开发者与网页设计者的分工。而且项目越复杂,其优势越明显。七、 源代码安全PHP 开发的程序的源代码都是公开的,他人拿到php 开发的程序后都可以进行修改。Java 开发的程序,最后用户拿到的是只是一些编译好的class 类,无法看到完整的源代码,安全性高。八、性能比较有人做过试验,对这两种种语言分别做回圈性能测试及存取Oracle 数据库测试。在循环性能测试中,JSP 只用了令人吃惊的四秒钟就结束了20000 20000 的回圈。而PHP 测试的是2000 2000 循环(少一个数量级),却分别用了63秒。数据库测试中,二者分别对Oracle 8 进行 1000 次 Insert,Update,Select 和Delete: JSP 需要 13 秒, PHP 需要 69 秒。表格 1 PHP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计专业实习日记集合7篇
- 书本《背影》读后感
- DB12T 444.1-2011 公共场所集中空调通风系统清洗消毒操作规程 第1部分:清洗
- 人生大事观后感范文
- 个人打印收入证明(6篇)
- 高等数学教程 上册 第4版 测试题及答案 -测试一-答案
- 黔西南州高二下学期语文期末考试试卷
- 九年级上学期语文期中测试模拟试卷(三)(1-4单元)
- 二年级数学计算题专项练习集锦
- 继承工龄用工协议书(2篇)
- GB/T 44536-2024CVD陶瓷涂层热膨胀系数和残余应力试验方法
- 2024-2025学年七年级英语上学期期中试卷(沪教五四制2024)(含答案)
- 纸夹子市场分析及投资价值研究报告
- 神州十三号飞船知识科普宣传主题
- 《大学生创新创业基础教程》第六章创业资源与融资
- 专职会计劳务合同模板
- 2024年秋新沪教牛津版英语三年级上册课件 Unit 5 第2课时
- 中图版七年级下册信息技术 2.1规划影片任务 教学设计
- 2024中科院心理咨询师考试复习题库(官方版)-上单选题汇
- GB/T 44421-2024矫形器配置服务规范
- DB50-T 771-2017 地下管线探测技术规范
评论
0/150
提交评论