• 为PHP摇旗呐喊!


    如今市场上的电子商务软件基本上可归结为两大阵营。即PHP阵营和Java阵营。但对接触电子商务不久的用户来说。看到的往往仅仅是它们的表相,仅仅是明显的价格差异。却非常难看出它们之间的实际差异。事实上,PHP+ MySQL高效的开发、品质优良的特性,已经让风靡大学校园的Java变的越来越难堪。

    而作为PHP+ MySQL为什么在历史的进程中,后来居上。独领风骚呢?为什么基于Java架构的的电子商务除了高额的开发成本,而变的前途暗淡呢?首先得明确PHP和Java之间的差异才行。
    1、 出身
    Java本来的设计初衷是为了家用消费电子产品开发一个分布式代码系统。
    PHP就是为了互联网的应用而生的。


      2、系统的技术架构比較
    分层是将系统进行有效组织的方式。分而治之的思想是计算机领域中很重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将详细的问题割裂开来,易于控制、易于延展,更易于分配资源。从PHP5版本号之后,PHP对于系统架构方面也有了质的飞跃。ShopNC 採用PHP语言开发,能够完美的实现多层架构分布。

    运用MVC的设计模式,可使电子商务软件具有更加高效、合理的系统架构。使得系统在可拓展性、需求应变性上与Java编写的电子商务软件系统的毫不逊色。
    Gutmans 在前年发表过一篇文章,当中也阐述了多核环境中多线程(JVM)与多进程(LAMP)的比較。当中就提到了多核系统很适合LAMP架构的多进程方式。

    随着芯片业如今把主要精力都放在了多核而不是超线程技术上,JVM这种多线程环境的长处在今天的硬件上将无法充分发挥。而多进程方式将提供很多其它稳定性和可靠性。


    这一回合。PHP旗开得胜。
      3、数据库訪问比較
      PHP可编译成具有与很多数据库相连接的函数。

    将自己编写外围的函数去间接存取数据库。通过这种途径当更换使用的数据库时。能够轻松地改动编码以适应这种变化。

    同一时候如今的PHP提供了数据库统一接口PDO,对Oracle,MySQL,SQL2000等不同数据库的訪问都能够通过桥来完毕,而不用考虑数据库接口方面问题。同一时候为了更好支持MYSQL数据库,PHP还推出了MySQLi的数据库连接,更加高效,安全。

    而Java是通过JDBC来訪问数据库,通过不同的数据库厂商提供的数据库驱动訪问数据库。而没有特别的针对性优化。假设相同是将开发的web应用从MYSQL数据数转到ORACLE数据。PHP通过PDO的接口。差点儿不用做程序方面的改动(ShopNC中已经通过自主研发的封装数据库层,已经能够非常好的完毕对多种数据库的支持,甚至无需通过PDO)。而Java开发的须要一定的的更改才干实现。数据库訪问方式的差异,奠定了PHP开发出的电子商务软件和Java开发出来的电子商务软件是2个时代的差距,Java是传统的一代。PHP却是新科技发展的成果,PHP不仅能够包容万物并且速度上稳步提升。效率比Java强悍的多。

    这一回合,Java稍逊风骚。
      4、安全性对照
      开源是安全的最大优势,LIUNX 就是一个非常成功的佐证。PHP的开发程序在别人拿到代码后,能够非常easy的进行改动。

    而Java开发的程序因为无法看到完整的源码,仅仅能看到一些编译好的类文件.class,所以底层架构的诸多隐患都无法提前预知,一旦发生灾难性的错误。后果必将及其严重。而PHP假设想要加密代码。也能够使用Zend 公司的权威产品zend guard 进行加密。以保证产品的知识产权。

    假设非要将PHP和Java在安全性上做个比較的话,仅仅能说伯仲之间。假设出差距。也是由开发程序猿的水平来决定的。

    这一回合,两者依然平分秋色。


      5、互联网应用方向上的前瞻性和拓展性
    从总体来说,PHP适用于互联网应用,而Java语言设计之初。并非以WEB为中心,而是以通用服务为中心。

    PHP可以将互联网的应用发挥到淋漓尽致,Java在通过标准的或者非标准的一些框架在迎合WEB应用的需求。
    为什么说PHP适合互联网的应用呢?
      首先。PHP对于大型系统负载方面。能够採用分布式部署。将数据库、应用逻辑层和表示逻辑层彼此分开。并将同层的依据流量分开。PHP在这个方面做的很优异。
      其次,PHP提供的数据库接口众多且还有统一的接口,要将多个不同的数据库数据统一。不须要花费非常大的力气。而Java也能够通过Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。而与即有老的Java或者.NET 应用程序通讯方面,PHP能够通过即有的API接口进行通讯。

    至于数据的通讯所使用的数据无非也都是XML,JSON等。


    假设将PHP比作互联网中的最佳表现奖。具备独挡一方的能力。那么Java应该获得的是最没有创新奖,就如同欧洲中世纪武士,唯有沉重的框架,笨重的效率。


    难怪连当年的SUN也在其J2EE方案上支持了JRuby及Jython。而IBM Websphere意识到J2EE在WEB方面的不适应而开启了Project Zero项目。 结果呢? Project Zero 的首席架构师也是非常无奈的公开承认“Java如今能够觉得仅仅是一种系统语言而不适合构建Web应用”。
    事实上Java已经在企业级E化和关键业务应用中根深叶茂。可是在Web应用上。Java语言市场份额急剧下降,颓势尽显。


    所以这一回合,Java输的哑口无言。
    6、产品化程度
         用Java做开发,差点儿没有一个程序猿会从底层写起,由于都是即有封装的类。这事实上是导致Java非常难产品化的一个重要原因。由于差点儿全部的程序猿能够做的都是比較浅层的应用开发。而就Java的类而言,放到互联网上,那仅仅有一个沉重能够形容。而唯一让Java一直宣称的跨平台的优越性,事实上那也是对于初学程序者的一种宣传。对于资深程序猿那就是一个笑话,一条鸡肋。经历了非常多大项目的资深开发人员都知道,开发伊始,程序须要跑在什么平台上,都是确定的了。越是大型项目。越是确定的明白,并且轻易不会考虑平台的移植。即便须要在其它平台架设新服务,也是在新平台上进行增项的开发。与即有产品之间也能够通过Webservice解决。

    而数据库是无所谓的。我想不会有人用ACCESS来做大型商业程序的开发吧!
    随着大多数业务应用程序包含CRM、ERP、报表、文档管理等等也都转向了Web。放眼望去,PHP的产品,琳琅满目。在互联网应用方面。能够负责的说,涵盖率在99%以上。

    尽管众多产品的质量也是參差不齐。可是每一个方向及领域都是有那么一些代表产品的。能举出范例的有Wordpress, Drupal, mediaWiki, osCommerce, SugarCRM,Discuz, QeePHP,ShopNC等等。
    产品化程度是直接佐证了工业化程度的一个关键数据。

    不能工业化的工具,事实上其本身是有着很大的悲哀的。
    这一回合,Java输的体无完肤。


      7、开发及兴许维护成本比較
      既然PHP在互联网应用诸多方面都强于Java,那么Java开发出的电子商务产品何以与PHP产品竞争呢?这在于Java阵营普遍走的是政府路线,而PHP阵营走的是全民路线。

    Java在互联网方面靠的是大学老师的言传身教。才得以在互联网世界狺狺狂啸。而PHP是靠得是自身品质而得民心,所以才一路赞歌。


    软件价格的高低非常大程度上和自身成本和功能相挂钩。

    PHP的入门门槛较低,可是不论什么方面成为高手,都是万里挑一。

    绝大多数学过c的程序猿都非常easy转型为PHP程序猿。这使得PHP程序猿如同国球一样普及。相同更是高手如云。高质量的PHP软件产品也层出不穷。
    server成本方面。PHP最经典的组合PHP+ MySQL + Apache。Java也是常常与MySQL + Tomcat、JBoss等软件配合。全部软件都是开源免费的,所以server端的投入都并不高。
    而Java程序猿的学习成本却是PHP成本的几倍。原因也非常晴朗。本身Java就不是专门给WEB开发用的。所以。Java开发电子商务的成本要远远高于PHP开发出来的同类软件产品。但也正因为Java开发的成本较高,所以往往也是做一个相同的产品。达到相同的效果,Java须要付出比PHP开发多出N倍的时间及经济成本。直接的造成了巨大的时间及成本浪费。


    最后一回合,Java在WEB之战中,输的干干净净。


    通过以上数据也能够让读者很清楚的意识到。採购了Java类的电子商务商品。你将来兴许的维护期带来多么昂贵的经济成本。及付出多少宝贵的时间。商机是稍纵即逝的,假设商业上的运作永远须要在等待漫长的技术实现后才干够施展。那恐怕真的是黄花菜都凉了。
    不怕不识货,就怕货比货。PHP开发出来的产品应用普及。口碑良好,可是Java开发出来的产品,非常难形成规模。直接导致产品化的少。项目类型的多。

    正由于PHP开发的产品总体性能经历了万千使用者的检验与完好。Java与之相比则相去甚远,所以Java仅仅有走政府路线。以价格落差来平衡採购方的心态。也就不足为奇了。
    总结全部一切,PHP才是的电子商务软件发展的最有力推动者,也将必定成为大势所趋。是不可逆转的,是不可被质疑的。
    作为程序猿。不管PHP还是Java。

    高度这个问题上,事实上对于我们而言都一样的。在这个高度上的战争事实上是各大厂商之间的事情,和我们无关。可是比如WEB方面。我还是要为自己的阵营摇旗呐喊!

  • 相关阅读:
    Spring Security -- 添加图形验证码(转载)
    Spring Security -- 自定义用户认证(转载)
    pandas agg 后降低df表层
    判断是否有人跟踪车辆的方案
    格隆汇笔记-黄勇演讲
    Mac mysql 忘记root密码的解决方法
    sql 同步2个表中的一个字段数据
    Linux下配置用msmtp和mutt发邮件
    spark StructType的应用,用在处理mongoDB keyvalue
    Idea2018旗舰版破解方法
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6708432.html
Copyright © 2020-2023  润新知