建站百科Website News

当前位置:首页 »西安网站建设公司网站开发语言的选择

西安网站建设公司网站开发语言的选择

至成科技2019-02-16访问量(1086)评论(0)
摘要:西安网站建设公司如何将Node与现有的架构融合以面对新的无线场景,并更好地提升开发效率,我们主要阐述了在当前成熟的体系下向Node演进的一个思路,当然这并不是唯-路径。也有很多程序员讨论是否要将后端的Java体系全部替换为Node体系,这就涉及Java技术栈和Node技术栈的比较,以下是笔者关于该问题的思考。  我们从语言特性、开发效率和


西安网站建设公司如何将Node与现有的架构融合以面对新的无线场景,并更好地提升开发效率,我们主要阐述了在当前成熟的体系下向Node演进的一个思路,当然这并不是唯-路径。也有很多程序员讨论是否要将后端的Java体系全部替换为Node体系,这就涉及Java技术栈和Node技术栈的比较,以下是笔者关于该问题的思考。

 

 我们从语言特性、开发效率和成本因素三个方面比较Java与作为后来者的Node。

  

 1.语言特性

  

 JavaScript作为Node上运行的语言,和Java相比,优缺点很明显。JavaScript 语法简单,很容易编写基于事件的驱动的实现,但是JavaScript 基于面向对象的描述能力偏弱,不像Java是真正的面向对象语言,同时JavaScript对数据类型的定义也比较单一,要么是数值类型要么是字符类型。很明显,Java 更擅长构建复杂逻辑的大型应用程序。在语言运行效率上,JavaScript 原本是解释执行,Java是编译执行,但由于Node做了优化,所以两者运行效率差别不大。

  

 2.开发效率

  

 开发效率可以从语言的复杂度、程序员培养、开发工具包的丰富性以及编码效率几个方面比较。

  

 ●语言的复杂度。从开发角度来看,Java和JavaScript都不需要关心内存的管理,都是基于虚拟机来管理内存;从并发角度来看, JavaScript是基于事件触发的,而Java是基于线程的,因此JavaScript更占优势;此外,JavaScript是无阻塞IO的,在I/O效率上比Java有优势(尽管Java8也将更好地支持异步I/O)。

  

 ●程序员培养。目前Java 语言仍然是仅次于C语言的第二大编程语言,而JavaScript排在第10位,Java 程序员队伍要比JavaScript大很多,很显然招聘Java程序员要比招聘JavaScript程序员更容易。

  

 ●开发工具包。很多时候-个语言的开发效率要看这个语言的支持工具包和组件的丰富性,Java 经过这么多年的发展,工具类库已经非常丰富,几乎任何你想要的工具类库都能在网上找到。JavaScript 虽然也发展了很长时间,但是基于JavaScript的工具类库主要集中在前端,能够直接用于Node的仍然很少。当然Node的社区非常活跃,可以预见Node的工具类库增长也会非常迅速。但是要达到Java的规模尚需时日。

  

 ●编码效率。Java 语言的运行基于JVM,但是Java的部署效率稍差; JavaScript使测试更加简单,但是debug机制仍然不完善。

  

 3.成本因素

  

 前面主要是从技术角度考虑,但是如果要从成熟的Java体系迁移到Node,成本也是一个重要的考虑因素。

  

 *先是学习成本。如果公司大部分是Java程序员,现在要迁住Node,很明显这个学习成本会非常巨大,即使这个迁移是渐进式的,长期来看仍然是要将一部分Java程序员替换成 Javascript程序员。先不管程序员是公司内部培养的还是从外部招聘的我们都可以算一下公司招聘一名程序员的成本有多大:一名普通工程师的年薪假定为10万元,猎头费一般是年薪的20%以上,也就是2万元、再加上一个月的实习成本1万元,加在一起约3万元。这对于有1万名以上开发人员的大公司而言,人力成本可想而知。如果招聘应届生,由于应届生的培养周期更长,学习成本会更高。

  

 其次是环境成本。公司的基础服务产品如中间件是基于Java开发的,如果要替换成 Javascript,必然要再另外开发,还得开发配套的运维工具等,这个成本也可想而知。更后是维护成本。Java和 Javascript i都是基于容器运行的,和V8引擘相比,程序员显然对JVM更熟悉。另外,从排查问题的难易程度来看,针对JM的工具显然更完善。

  

 4.人的因素

  

 对于一家成熟的

西安网站建设公司而言,假如现有的Web系统都改用Node实现、必然会有很多Java工程师要从事Node的开发,因为已有的前端工程师人数肯定支撑不了现有业务的发展。我们假定一部分Java工程师愿意学习 Javascript并成为全栈工程师,那么他们是否也愿意用两种不同的语言完成同一个任务呢?正常来说,如果能用同一个任务分成神不同的方式来完成的必要性就会大打折扣。所以从这些角度来看,要让一家很成熟的公司切换语言是非常困难的。

  

 尽管替换技术栈很困难,但是无论如何都应该统一技术栈,尤其是主流的西安网站建设公司网站建设业务开发,更应该使用统一的技术栈这就像秦始皇统一语言一样所带来的好处显而易见。


扫描左侧二维码
关注至成微信公众号

西安至成信息科技有限公司  Copyright 2012-2025  xazcit.com  All rights reserved.

Email:zcit@zcit.net     邮政编码:710016     《中华人民共和国增值电信业务经营许可证》陕B1.B2-20140011     陕ICP备12008874号-1

联系地址:西安市经开区凤城四路西安国际企业中心B座23层06-10室    售前咨询热线:02989390727    售后服务电话:02989390727

西安网站建设、网站设计制作公司-至成科技,已为众多企业提供网站建设网站制作响应式网站设计手机网站建设虚拟主机云主机服务器租用等建站解决方案。

域名合作伙伴:新网互联软件服务有限公司 陕公网安备 61019102000393号

网络警察12321垃圾信息举报不良信息举报中国文明网西安工商高新技术企业证书