华山论剑:B2B电商系统开发语言选择

刘祺 B2B研究院 2016-10-31 17:33:54

B2B研究院(微信公众号B2B-College)按:当传统企业向B2B电商转型时,电商系统的建设就变成了横在企业家面前的一道难关。在B2B研究院的咨询活动中,我们多次遇到企业家询问电商系统该选择哪种语言栈,也听到不少企业家抱怨前期语言栈的选择拖累了现在的业务发展。那么各语言栈是否真有优劣之分?纵观市场上各家电商企业,其系统开发语言无外乎PHP、.Net、Java三种。下面我们借助金庸武学典籍对这三种技术平台进行华山论剑。

华山论剑

PHP - 辟邪剑法

“天下武功,无坚不摧,唯快不破。”如同辟邪剑法追求快剑极致一样,创业企业和大多数转型企业在初期需要得是一套能够最快验证商业模式的电商系统。市面上大量开源PHP电商系统的存在,脚本语言快速开发的特性,以及傻瓜式的LAMP/LNMP web开发工具,使得PHP成为大多数企业前期自研电商系统时的最常见选择,比如美菜网商城。当然也要看到,在实现了初期快速开发、快速交付的同时,PHP电商系统通常都会造成如下两个痛点: 1. 代码和数据重度耦合,但凡后期业务逻辑上有一点变动,都可能导致系统代码大面积修改,甚至重构;2 缺乏大规模系统框架性设计思想,导致电商系统难以扩展或对接其它外部系统。与此同时,由于大量初创公司的出现,吸收了市场上多数PHP开发人才,导致PHP技术栈企业发展到一定阶段以后,会发现很难以一个合理的价格招到足够的PHP开发。如同辟邪剑法自带的自残光环一样,以上问题都是PHP语言栈企业所必须经历之痛。

Net - 少林易筋经

犹如少林执武林之牛耳,微软在全球软件行业也曾一时风头无两。为了推广.Net语言栈,微软提供了大量的技术工具来降低.Net编程门槛,包括号称世界上最强大的IDE工具VS。依托于微软的技术优势,.Net确实如少林易筋经一样,成为了一套功能强大的开发语言,吸引了一大波电商企业,典型的有携程网、艺龙网,找钢网。如果把典型扩散到B2C电商领域,则还能看到京东、大众点评等。近十年随着软件开源浪潮的强势来袭,在各种开源技术和Linux平台开发需求的冲击下,.Net语言栈因其长期坚持闭源和只支持windows开发平台而逐渐势弱,如同修炼了易筋经的少林僧人,虽内功深厚,亦无法抵御外界的枪林弹雨。前文提到的京东、大众点评、找钢网数年前就已开始从.Net转投Java。可谓成也微软、败也微软。

Java - 北冥神功

逍遥派的北冥神功,以其善同化各派内力并增强己身的特性闻名于金庸武侠世界。这一特性也正是当今Java语言栈的真实写照。时间回退到十余年前,即使在IBM和Sun(今Oracle)的扶持下,Java仅能勉力与C语言家族和.Net相抗衡,且以性能差而著称。随着对开源浪潮的持续拥抱,Java在兼容并蓄各类新技术中得到不断增强和扩充,新的java开源框架和开发工具层出不穷,市场上也不断有Java研发人才的新鲜血液补充进来。再加上Java适合大规模系统开发的特性,使得Java语言栈成为如今大多数电商企业在开发大型电商系统时的首选。当然,不确定性和不稳定性是开源技术的天生缺陷。在享受开源技术的福利时,开发人员也需要对新技术的深入理解和不断试错来真正将新技术归于己身。

结语

在人类编程语言的世界里,每种存活下来的编程语言都有其各自适合的场景,并没有绝对的优劣之分。每家企业都应根据自身所处的发展阶段和行业特性来合理规划IT系统建设,这包括了技术团队的组建、自研软件和商业化软件的分配、各类语言栈的选择等等。就B2B电商系统来讲,java体系的完备与开源使之相较另外两种语言有较大优势。纷至科技与找钢、海尔、京东等著名企业合作设立的B2B研究院,在企业内部信息化和外部电商化建设方面积累了大量的实际经验,能够以咨询方式为B2B企业在转型中遇到的IT难题提供有效的方案建议。


作者简介:

刘祺,纷至科技联合创始人,B2B研究院发起人之一;原天旦资深架构师、IBM TSS大中华区技术专家团队成员,在系统架构、企业服务领域有着深刻的洞见及实践经验,曾为人行、交行、太平保险等众多企业提供技术讲座。


长按二维码关注我们