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 相关文章推荐
DedeCMS dede_channeltype表字段注释
Apr 07 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
php下连接mssql2005的代码
Jan 17 PHP
一组PHP可逆加密解密算法实例代码
Jan 21 PHP
php对数组排序代码分享
Feb 24 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
php实现网站留言板功能
Nov 04 PHP
yii2中使用Active Record模式的方法
Jan 09 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
Dec 01 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/13 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
thinkphp分页集成实例
2017/07/24 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
JS实现的通用表单验证插件完整实例
2015/08/20 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
2015/11/30 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
Python字符串处理函数简明总结
2015/04/13 Python
python如何为创建大量实例节省内存
2018/03/20 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
2020/11/17 Python
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
Black Halo官方网站:购买连衣裙、礼服和连体裤
2018/06/13 全球购物
2014年公务员退休工资改革方案
2014/10/01 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
工作调动申请报告
2015/05/18 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
如何通过cmd 连接阿里云服务器
2022/04/18 Servers
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang