回覆列表
-
1 # 重慶新華電腦學校07
-
2 # 網路圈
Node.js與Java的關注點劃分,那我們就要對兩者進行一個比較全面的比較,找出差異,所以要從兩者的相同點、差異點來詳細闡述:
一、相同點
1、Node.js與Java均是跨平臺的語言(注:Node.js本身是一種執行時環境,可以理解為“在服務端執行的JavaScript”,現在開發同學說的Node.js更多的理解為是JS“語言”);
2、兩者均可做為後端開發語言(服務端開發語言);
二、差異點
1、Node.js本質上是跑在服務端的JS指令碼,它是指令碼語言(解釋型語言);Java既可以說是編譯型語言,也可以說是解釋型語言;
2、Node.js因為是解釋型語言,所以一些潛在錯誤在開發時可能不能及時發現;而Java做為編譯型語言,很多潛在錯誤在開發期間就能直觀發現;
3、Node.js單執行緒;Java多執行緒;
4、開發效率上Node.js較Java開發更快;
三、兩者側重點
1、Node.js
因為開發效率上的優點,它更多的作為“膠水語言”,適合做“前端”,此處前端並不是指HTML+CSS,業內把PHP端也稱為前端,此處“前端”指的是展示層。
另外,Node.js畢竟是新秀語言,生態圈較Java要低很多,它不適合大型模目開發(缺乏整體的規範)。
淘寶現在前端以前是PHP,現在基本上都是Node.js了。
2、Java
毫無疑問,做為後端服務開發首選,Java的生態圈非常好,你能想到的功能基本上都有成熟的解決方案。而且在Spring框架的推動下,Java發展也越來越好。一線網際網路企業的後端服務(API)大多數都是由Java開發。
Node.JS是執行在伺服器端的JavaScript。事實上Web伺服器端一直都存在兩個陣營,以Java/C#為代表的工業設計語言和以PHP/RoR為代表的快速開發語言。前者一直牢牢地佔據著企業應用開發市場,而後者則普遍認為更適合靈活多變的網際網路,Node.JS顯然是屬於後者的。