开发网站言语的选择
发布日期:2023-03-20浏览量:92
怎样将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并成为全栈工程师,那末他们是否也愿意用两种差别的言语完成统一个任务呢?正常来讲,若是能用统一个任务分红神差别的体式格局来完成的须要性就会大打折扣。以是从这些角度来看,要让一家很成熟的公司切换言语是十分坚苦的。
虽然替换手艺栈很坚苦,可是无论怎样都应该统一手艺栈,尤为是主流的网站制作营业开发,更应该运用统一的手艺栈这就像秦始皇统一言语同样所带来的益处显而易见。
相关文章: