PHP.vs.JAVA


Posted in PHP onApril 29, 2016

PHP.vs.JAVAPHP.vs.JAVA

现在市场上的OA基本上可归结为两大阵营,即php阵营和java阵营。但对接触Oa不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP + MYSQL 不值钱不仅仅局限于oa软件,而是整体上PHP + MYSQL开发的软件都不如java开发的软件值钱。为什么PHP + MYSQL 的OA为什么不值钱呢?首先得明白php和java之间的差异才行。 

1、系统的技术架构比较 

分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使oa系统具有更加高效、合理的系统架构。技术架构的落后,使运用php编写的oa软件系统先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的oa软件系统的差距越来越大。架构的差距,注定了php做的oa充其量是个小家碧玉,始终无法和java这种大家闺秀同台竞技。 

 2、数据库访问比较 

PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle, MySQL,Sybase的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。 

而Java通过JDBC来访问数据库,通过不同的数据库厂商提供的数据库驱动方便地访问数据库,访问数据库的接口比较统一。如果同样是将开发的web应用从MYSQL数据数转到ORACLE数据,PHP需要做大量的修改工作,而且比较繁琐。但JAVA开发的便只需要很少的更改便能实现。 

数据库访问方式的差异,奠定了php开发出的oa和java开发出来的oa是马车和火车的差距,前者只能亦步亦趋而且额度有限,后者却是工业化的结晶,不仅能够包容万物而且速度上稳步提升。 

3、安全性对比 

在同是开源和跨平台的java面前,php丢掉了很多的优势。在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。 

如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾java的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。 

4、前瞻性和拓展性 

从整体来说,php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说php适合中小型系统而不适合做大系统呢? 

首先, php缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而php恰恰缺乏这种支持。 

其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN Java的Java Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere,是通过CGI来提供支持的。 

如果将Php比作将才,具备独挡一方的能力。那么java便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。 

5、开发成本比较 

既然php在诸多方面都不如java优异,那么php开发出的oa产品何以与java产品竞争呢?在于Php阵营普遍走的是低端路线,而java阵营走的是中高端路线。两者之间交叉的区域较小。 

软件价格的高低很大程度上和自身成本和功能相挂钩。php的入门门槛较低,绝大多数学过c的程序员都很容易转型为php程序员,这使得php程序员的泛滥成灾的同时,低成本的php软件产品也层出不穷。以PHP最经典的组合PHP + MySQL + Apache为例,由于所有软件都是开源免费的,所以投入并不高。 

 而java开发需要特定的环境,成长为一个合格的java程序员需要一定的时间,java程序员的成本也是php成本的几倍。Java的web应用服务器免费的有Tomcat、JBoss等,而要想具有很好的商业化服务便必须选用Web Sphere和 Web logic。这其中投入的成本无形中便超是php成本的N倍。所以,java开发oa的成本要远远高于php开发出来的同类软件产品。但也正由于java开发的成本较高,很难实现抄袭和短期内逾越的可能,也使得java用开发出的产品门槛更高。 

不怕不识货,就怕货比货。Php开发出来的产品也能用,但是和java开出的同类产品是没法比较的。正因为php开发的产品整体性能和java开发的相去甚远,所以php运用低成本的低价优势和同类的java产品抗争,以价格落差来平衡购买者的心态。所以,PHP + MYSQL 的OA不值钱也就不足为怪了

PHP 相关文章推荐
PHP的FTP学习(四)
Oct 09 PHP
php 获取一个月第一天与最后一天的代码
May 16 PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
php时区转换转换函数
Jan 07 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
Apr 29 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
curl和libcurl的区别简介
Jul 01 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
php 基础函数
Feb 10 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
Yii实现简单分页的方法
Apr 29 #PHP
php实现在站点里面添加邮件发送的功能
Apr 28 #PHP
php提交过来的数据生成为txt文件
Apr 28 #PHP
php生成txt文件实例代码介绍
Apr 28 #PHP
100行PHP代码实现socks5代理服务器
Apr 28 #PHP
Yii2实现ajax上传图片插件用法
Apr 28 #PHP
thinkphp3.2实现上传图片的控制器方法
Apr 28 #PHP
You might like
php 多关键字 高亮显示实现代码
2012/04/23 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
js实现超酷的照片墙展示效果图附源码下载
2015/10/08 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
Vue中div contenteditable 的光标定位方法
2018/08/25 Javascript
Vuex 使用及简单实例(计数器)
2018/08/29 Javascript
使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置
2018/11/02 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
Python 元组(Tuple)操作详解
2014/03/11 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python实现对csv文件的列的内容读取
2018/07/04 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
巧用HTML5给按钮背景设计不同的动画简单实例
2016/08/09 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
JAVA程序员自荐书
2014/01/30 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
党员一帮一活动总结
2014/07/08 职场文书
2015年药房工作总结
2015/04/25 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技