Java有能力抵挡LAMP的进攻吗?

2016-02-19 20:03 11 1 收藏

下面,图老师小编带您去了解一下Java有能力抵挡LAMP的进攻吗?,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - 编程语言 】

随着互联网开源潮流的迅速发展,全球IT业正迎来一个新的发展格局成长期。对全球的开源体系——LAMP(Linux、Apache、mysql、PHP)而言,其所代表的开源软件及应用,以其开放性、低成本、安全性、适用性以及可靠性能,正对传统软件、硬件和系统集成商产生巨大的冲击,同时,也给创新型IT企业、程序开发者创造了前所未有的机遇。作为软件行业风尖浪口的Java,几多褒贬,几多称赞。Java有能力反抗LAMP的进攻吗?或是LAMP、。Net与Java将三分天下乎?难道昔日“酷毙了”的Java已经成为过时技术了吗?

  LAMP宣称,在Linux系统下开发软件不再需要层的概念了,Java不再是唯一的选择了。在本文中,笔者将对LAMP和Java这两种语言进行具体的比较。比较将涉及到这两种语言的起源、特点及各自的优劣势等方面的内容。希望通过这样的比较,让读者了解这两种语言各自的特点,以便于在自己的项目中,根据实际情况,尽快的看清软件语言的发展趋势。

  一、引言

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  1998年,Michael Kunze为德国计算机杂志c't写了一篇关于Free 软件如何成为商业软件替代品的文章时,创建了LAMP这个名词,Linux 操作系统、Apache网络服务器、MySQL数据库和PHP (Perl或Python)脚本语言组合而成的——LAMP (四种技术的开头字母组成),随之LAMP技术成为了自由软件业的一盏真正的明灯。

  LAMP 在英语中是“灯”的意思,但是在 IT 行业当然不是那么简单的一个意思。这个术语在德国十分流行。代表了 Linux 平台上的 Apache 网站服务器; MySQL 数据库以及 Perl 、Python 或者 PHP 编程语言的结合。笔者相信,这个术语也会在我们中国的开放源代码界,乃至整个网络界开始流行,LAMP 不仅会成为企业上网,政府上网的“明灯”,也应该会在企业内部实施的 Intranet 大有作为。

  LAMP开源软件——包括Linux 操作系统、Apache网络服务器、MySQL 数据库和PHP ——正在进军主流计算市场。

  Java与。Net 工具一统商业软件开发领域已数年,但是具有易于开发、更新速度快、成本低的特点,LAMP被许多开发者视为“黄金组合”,在近几年中由LAMP集体开源厂家,或者确切的说LAMP开源自由社区吹响向主流计算市场发起进攻的号角。甚至在2005年的TechEd大会上,微软总裁鲍尔默以“微软有能力反抗LAMP的进攻”的用词,将LAMP列为Windows 和它的。Net 开发软件的竞争者。IBM、Intel、HP、SUN等众多厂家提出开源贡献口号,收购开源公司;Intel、SAP投资PHP公司Zend科技;LAMP的开源和发展潜力可见风头正盛。

  LAMP 所代表的不仅仅是开放源码,它更是开发和实施高性能 Web 应用的重要平台。假如说 Apache 能代表 LAMP 的占有率的话,那么,采用 LAMP 的站点几乎就已经是占据了主要的市场,看看 Netcraft 每月的调查就可以知道 Apache 的流行程度。国外的开放源码站点,例如 Apacheweek、MySQL.com、Perl.com 等自不必说,现在国内的很多站点也开始扑向 LAMP.

  LAMP 无论是性能、质量,还是价格都应该是企业/政府部门上网所必须考虑的平台,LAMP 更应该是 IT 行业,非凡是系统集成商所必须选择和比较的平台。

  二、Java的反应

  人生的经验告诉我们,任何一种处于支配地们的主流技术,只要它显露出一点点的进展缓慢时,就有可能出现一种新概念或是技术,来一个落井下石。笔者认为,Java经历了一场场的良性竞争,并取得了良好的效果。同时,在一些其它领域如高性能的计算机上,Java正在发挥它的优势,而在某些方面如J2ME,Java正在快速的发展。

  Java具有良好的开源社区支持,是如此的灵活。看一看Sourceforge,就会明白,没有任何一种语言像Java一样,有如此多的开源组件与软件可以利用。那么Java没有LAMP所宣称的优势吗?我们可以一一分析一下。

  L——Java可以更加优秀的运行在Linux系统上。A——Java社区的Tomcat是最优秀的应用服务器之一。M——Java有非常高效的MySQL驱动。P——Java支持许多脚本语言,并且正处于快速的发展之中。同时,Java紧密整合与支持LAMP的堆栈。

  也许有很多Java的反对者声称,Java使用的轻易性向来是Java普及的最大障碍。而Java的应变之道不是改变语言本身使它变简单,因为假如把它变简单了,它处理高阶事务的能力也就被削弱了。Java把重点放在工具的简单性上。假如用Java Studio Creator,就可以用拖放(drag and drop)来写成AJAX元件和资料库存取等内容,订制网页也相当快。这样做的好处是工具把复杂的东西都做掉了,开发人员把应用部署在一个具有错误转移(failover)、远端治理的集成系统上,然后就无需做一大堆事情,很多事都省掉。

  有太多的人说,Java写某些东西很好,但Web开发方面就没那么好,反而是其它开发语言及框架则比较强。很多开发人员采用PHP 来制作网页。PHP这类语言是完全用在Web开发上,假如想产生一个网页,PHP真的很好用,它简直就是jsp (Java Serer Page)的双胞胎。

  但是,开发人员不可能只有做网页而已。一旦开始做大量分析或与其它系统整合,需要涉及到底层的数据分析时,光用PHP之类的东西就很难了,则需要采用Java代码来完成。通常的情况并不是一种技术替代另外一种技术,而是一种技术补充另外一种技术,发挥相乘相加效果。最常看到的是在网页上用PHP,在后端资料分析上用的是Java.

  Java正在失去发展动力吗?笔者绝对不能同意Java正在走下坡路的观点。Java到生命尽头了吗?不!Java的火爆才刚刚开始。在大型、复杂的企业级应用领域,Java仍是主流的开发工具,此外,Java在手机平台上越来越受到欢迎。据悉,目前全球有600多款手机运行Java虚拟机,全球10大手机游戏中有7款是采用Java开发。同时,Java已经成为多数科学研究和计算使用的首选语言。在大学中有越来越多的人在使用Java语言,越来越多的尖端学术研究完全使用Java语言;各个行业的公司都有很多的Java程序员在开发他们的项目。
  
  
    三、Java不倒的原因

  

  为什么说Java在LAMP、。NET及ROR的围攻下而能处于不败呢?笔者主认为主要有以下原因:

  首先,其它的语言是特定领域的语言,尤其有些只是Web应用。而Java的应用范围更加的宽广。可以开发桌面程序,手机游戏、DVD播放器及应用服务器等。Java与某些软件有着天然的内在联系,如Database,ERP等。

  其次,Java有大量的开源社区支持,看看Apache的Portfolio或SourceForge就明白这一点。这是Java发展快速的主要原因之一。采用Java作为平台而开发的软件,稳定的运行在各种操作系统上,相对竞争对手其它语言,如C++或C语言,极大的提高了人们的生产力。

  第三,Java开发平台的多样性。有多种JDK可以供选择,包括Sun、IBM、Bea及开源的JDK.同时,有大量的应用服务器可供选择,如开源阵营的JBoss应用服务器、Apache的Geronimo、Sun的Glassfish等等。除此之外,还有大量的商业服务器平台。

  第四,和Java相比,PHP 和Python等脚本语言更轻易学习,它们在开发人员当中相当的流行,尤其是那些网页开发者。很多人,包括一些前Java语言的拥护者都认为,脚本语言和所谓的LAMP开源部件正在蓬勃发展,而这种发展减弱了Java的影响。但是,有一点经常被人遗忘,那就是,Java是一种两种层面上的语言:它既是一种虚拟机,同时它也是一种ASCII 语言。很多人看不到Java作为虚拟机的神奇之处,因为非常多的脚本语言就是建立在这种虚拟机之上的。

  最后,Java会是一种通用型语言及平台呢,还是专门发展在行动或服务器平台上的东西呢?这里就存在一些似非而是道理。一方面开发人员得要把东西整合在一起、让环境可以在很多地方使用力量才会大,对Java来说,这正是它最强的地方之一。另一方面是开发人员也想专注在某一领域上。但假如专注在开发人员的技术上,Java社群最厉害的地方是可以把它用在应用服务器、交易服务器、一种网络协议、手机应用程序以及工厂自动化的控制程序或是智能型手机上。最后开发人员学到的是可携式的技能,而不只是一项技术。假如同CIO、CTO谈时,就会知道这相当重要。

  四、LAMP组合利弊谈

  LAMP组合正在逐渐获得市场认可,但是它已经具有追上非开源竞争者的实力吗?生活中最好的东西真的是免费的吗?开源支持者们当然原意让我们相信这一点。多年以来,他们已经将不断改进的LAMP组合作为构建商业系统并使之运转的一条免费之路。

  但是LAMP组合也有一些潜在的缺点。开源组合和私有软件的一个明显区别在于新特性。私有软件提供商的发展依靠于增长率,也就是说需要不断增加销售额。这就使得他们要不断开发新品。另一方面,开源开发没有这样的环境,就是说创新的步伐经常要慢许多。你很少看到走在前沿的创新是开源产品。例如,在微软在SQL Server中开发XML作为一个本地数据类型的时候,开源MySQL数据库才刚刚将存储程序作为一个新‘特性,这比它的竞争对手落后了好几代。

  同时扩展可能是对LAMP用户的一个挑战。使用集群计算机或刀片服务器和诸如Red Hat Linux这样的企业级系统扩展到LAMP系统是可能的,但是这并不轻易。

  在许多公司,LAMP仍然没有得到正式认可。但是在开源开发模式中,人人都可以做出贡献,这将推动LAMP比Java或。Net 更快的前进。不过,LAMP也不可能把现有的Java和。Net两大阵营消灭,因为大的公司客户都不会只采用一套软件。

  应用促进开源发展,理念走向务实应用。与欧美相比,国内的LAMP架构在企业要害应用中的应用还有待提高。目前我国LAMP应用存在的问题:国内开源数据库的应用已经开始起步了,但是开发还没有和开源技术挂钩。LAMP要发展,能否做出商业软件是要害。

  LAMP的商业化过程存在严重的问题。例如,PHP的产品给人留下的似乎就是,技术很好,但是客户体验服务没跟上,包括安装提示,升级以及Bug反馈等等服务都很粗糙,客户宁愿去选中商业化更浓的Java 或。Net.

  五、结论

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  毫无疑问的是,LAMP组合拥有其自身的价值,但是要小心地使用它。它是为新兴商业系统和概念业务系统的可行性寻找证据的优秀工具,但是它也需要适当的关心和关注以变得更加高效。

  在企业级开发,Java毫无疑问是完全占据优势的。Dyanimics 和Groovy 是Java 可以较大提升的一个地方,这使得Java更加动态,更适应小型应用。而EJB这些,就更不用说了,LAMP和。Net,基本上是不适用了。PHP很受欢迎,只是证实了PHP在很多简单应用上,开发者上手比较快而已。最要害的是,PHP和JAVA也不是一个层面比较的东西,假如要比较,那么就是MODE-1的JSP和PHP比较。非凡是O/R、 AOP、MVC、 Patterns、XML config files、Tag libraries 等,在PHP中要实现还是要很长一段时间。

  套用一句俗话“只要努力,就会更好”。Java有潜力成为从PDA到服务器任何领域都非常成功的平台。Java可以继续在其占优势的服务器端发展下去。还可以通过优化客户端程序的发布及安装使Java在客户端开发方面一样获得成功。不管现在的情况如何,笔者相信Java有能力成为一个完美的平台。
   通过不断的完善,降低开发人员入门的难度,提供对所有的平台和操作系统的支持,以及提供对更多语言的支持,Java平台将可以适应任何层次任何领域的开发。通过对客户端平台的优化Java在PC和移动设备领域中也会获得巨大的成功


来源:http://www.tulaoshi.com/n/20160219/1622604.html

延伸阅读
标签: 分娩
在胎儿时期,尤其是在临降世前2~3个月的胎儿,有大量无可争辩的事实已经表明,这些小生命早已在母腹中聆听世界,是一个在子宫内的“小窃听者”。还有的胎儿在母腹中时的听闻,能保持长久的记忆。 已故苏联著名提琴家列昂尼德.科根曾讲过一段有趣的事。他决定在一次音乐会上演奏一个新乐曲,在他妻子的伴奏下曾短期训练过这首乐曲,...
饥寒交迫的减肥期该如何度过?很多减肥的朋友很头疼这个问题,吃还是不吃呢?如果吃那又该吃什么呢?让e瘦健康来教教各位减肥的朋友吧! 巧选食物有妙招:四类食物增加饱腹感。 减肥期间,很容易感到饥饿?如果特别想吃东西,就不要再压抑自己。选择4类饱腹食物作为加餐:纤维多的食品、含蛋白质高的食品、含复合型碳水化合物的食品、含单...
《冲突世界之苏联进攻》苏联进攻密技 Cheat Codes In order to use cheat codes you must first activate the console. Add the -console command-line shortcut to the game.   在快捷方式后加入" -console" Example: "C:\World in Conflict\wic.exe" -console   Then, while playing, press tilde (~) twic...
选择哪种人流手术伤害较小呢 从科学的避孕流产知识角度来看,人流是会给女性的生育健康造成伤害的,虽然现在的人流技术很多,但并没有一种能够真正免除这种伤害,所以为了未来的母婴健康,我们不应该盲目进行人流手术。话说回来,一旦要进行人流手术,哪种人流术伤害较小呢?现在有一种叫做产道维护型人流术的手术方法,这种方法与传统方...
能力一:自立能力 自立是一个人在社会中保存个体生命的最基本能力之一,为了保证孩子的身心健康和安全,使孩子顺利成长,家长应从孩子幼年时就加强对他们的自我保护教育,培养和提高孩子的自立能力。有时候家长可以把一些简单的事交给孩子去做,例如自己吃饭,独自一人去买东西。 2 能力二:生活自理能力 生活自理能力,就是自己管理自己生...

经验教程

992

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部