成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

架構(gòu)選型之Nodejs與Java

開發(fā) 后端
身邊越來越多的同事談?wù)揘odejs,談其異步IO、事件回調(diào)、前后臺統(tǒng)一一門語言,創(chuàng)業(yè)的朋友的第一個創(chuàng)業(yè)項目也選擇了Nodejs,期望能夠使用一種語言節(jié)省成本快速完成需求開發(fā)。

 前言:

身邊越來越多的同事談?wù)揘odejs,談其異步IO、事件回調(diào)、前后臺統(tǒng)一一門語言,創(chuàng)業(yè)的朋友的第一個創(chuàng)業(yè)項目也選擇了Nodejs,期望能夠使用一種語言節(jié)省成本快速完成需求開發(fā)。與其他項目組的同事聊項目選型Java時被他們嘲笑了一把,怎么這么不與時俱進怎么還在用Java。而且發(fā)現(xiàn),越來越多的前端同事通過Nodejs輕松上手后端功能開發(fā),作為后端開發(fā)工程師倍感壓力。

[[275354]]

借新項目的機會系統(tǒng)了解了下Nodejs的知識體系,本文對了解到的Nodejs技術(shù)作了總結(jié),同時將其與Java的相關(guān)技術(shù)進行了總結(jié)對比,為其他考慮兩種語言選型的架構(gòu)師提供選型的決策依據(jù)。為了避免爭議,本文避免對選型語言的推薦,也不對未來的發(fā)展趨勢做出預(yù)測。

語言背景分析:

簡單對兩門語言進行“拼爹”對比,發(fā)現(xiàn)有技術(shù)深度的事情還是博士比較擅長,計算機專業(yè)的技術(shù)又未必是計算機專業(yè)的人貢獻:

架構(gòu)選型之Nodejs與Java

語言及SDK分析:

Nodejs選擇javascript語法導(dǎo)致了其靈活、面向過程、單進程單線程執(zhí)行的基本特性。然而得意其語言的靈活性,一些面向?qū)ο蟮奶卣饕部梢酝ㄟ^邏輯代碼實現(xiàn),但受阻于ECMAScript的發(fā)展速度,整體上Nodejs向企業(yè)級應(yīng)用語法轉(zhuǎn)型還暫時較慢。Nodejs主打的異步IO事件回調(diào)使其更適合服務(wù)器的編程,其單進程單線程的特質(zhì)使得開發(fā)變得簡單。得意與社區(qū)的活躍語言處于高速發(fā)展、SDK不斷地發(fā)展穩(wěn)定豐富。

相比之下,Java是面向?qū)ο蟮木邆淞嗣嫦驅(qū)ο蟮娜刻卣?,?jīng)歷了20年的發(fā)展沉淀越發(fā)的強大、穩(wěn)健。與Nodejs相比Java是個在各個領(lǐng)域作精作深的技術(shù)巨人,然而也正因如此,學(xué)習(xí)Java的成本要比Nodejs高很大一個臺階,每一個小的技術(shù)方面都能找到很厚的一本書來。面對異步IO事件回調(diào)的新技術(shù)Java也在其新的SDK中提供支持與時俱進,相關(guān)Java的開源項目也及時跟進。

架構(gòu)選型之Nodejs與Java

三方開源框架選型:

語言選型后面即框架選型,好的框架可以去除很多不必要的重復(fù)工作使項目輕松獲取強大的功能。當然三方開源框架的引入也帶來的相應(yīng)的學(xué)習(xí)成本,同樣的,Nodejs框架由于發(fā)展時間相對較短學(xué)習(xí)成本相對較低,開發(fā)人員更容易了解到更多底層的實現(xiàn)源碼,但相對的部分框架容易出現(xiàn)穩(wěn)定性兼容性問題,加之NPM開發(fā)人員水平不一而又沒有很好的審核機制,選擇一些模塊(尤其是C/C++模塊)時需要慎重。Java三方開源框架大都已被大量企業(yè)大量使用、成熟穩(wěn)定,提供強大能力的同時作了很好的封裝分層,開發(fā)人員付出較高的學(xué)習(xí)成本后更多的是“傻瓜“式的使用。就WEB開發(fā)體系而言,兩者都可以找到很多可服用引入的開源框架。

架構(gòu)選型之Nodejs與Java

產(chǎn)品化分析:

就產(chǎn)品化而言,Nodejs雖然在各個方面都有建設(shè),但相對Java還有很多需要繼續(xù)完善發(fā)展的地方,如系統(tǒng)監(jiān)控和性能分析領(lǐng)域還不如Java體系那么完善,受限于單進程單線程模式穩(wěn)定性部署方面還不如Java那么靈活,靈活的腳本語言加上Nodejs發(fā)展時間相對較短使得系統(tǒng)的安全性還需要經(jīng)受更多的考驗。同時,前后端代碼都可以使用到j(luò)s并同時保存在一個開發(fā)分支時,單純的依賴目錄去區(qū)分前后端代碼,容易造成前后端代碼的混淆,相對不夠清晰。但相信爭議和問題都是暫時的,高速發(fā)展的Nodejs會逐步完善完美。

架構(gòu)選型之Nodejs與Java

執(zhí)行引擎分析:

在瀏覽器方面V8引擎大名鼎鼎贊不絕口,這也是Nodejs選型V8這個最快的Javascript執(zhí)行引擎的原因。然而另一方面,V8引擎專門針對瀏覽器的設(shè)計也嚴重限制了Nodejs在服務(wù)器領(lǐng)域的大有作為,仿佛帶著手鏈腳鏈在高速奔跑。因V8引擎的創(chuàng)始人和技術(shù)都是來自Java虛擬機,使用了部分Java虛擬機技術(shù)適配瀏覽器業(yè)務(wù)實現(xiàn),所有相比之下Java虛擬機更加的成熟完善,也必然相對的復(fù)雜沉重。

架構(gòu)選型之Nodejs與Java

其他一些對比:

其他一些簡單對比如下:

架構(gòu)選型之Nodejs與Java

結(jié)束:

Nodejs的異步IO、事件回調(diào)雖是殺手锏能力,但其他程序開發(fā)語言也都有相應(yīng)的跟進支持,但Node成功將前后端統(tǒng)一一門語言開發(fā),這絕對是無人能及,吸引了大批的開發(fā)者加入。得益但又受限于V8引擎,其發(fā)展還帶著包袱,但Nodejs還年輕還處在高速發(fā)展中,相信隨著IO.js與Node.js合并、越來越多的開發(fā)者進行共建,Node會越來越穩(wěn)定成熟。

相比之下Java是編程領(lǐng)域的巨人,20年的發(fā)展,越發(fā)的成熟穩(wěn)定,形成完善的體系完善的生態(tài),Android的流程再次將這門語言推到了巔峰,架構(gòu)選型永遠是個重點選項。

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2016-11-15 14:18:09

神策分析大數(shù)據(jù)數(shù)據(jù)分析

2023-08-27 16:13:50

架構(gòu)微服務(wù)器

2021-01-18 05:20:52

數(shù)倉hive架構(gòu)

2023-07-06 00:41:03

SQLNoSQL數(shù)據(jù)庫

2017-06-22 11:03:58

大數(shù)據(jù)大數(shù)據(jù)平臺架構(gòu)技術(shù)

2012-02-13 16:00:35

內(nèi)網(wǎng)安全技術(shù)選型安全產(chǎn)品

2022-06-14 08:02:35

關(guān)系模型數(shù)據(jù)模型文檔模型

2024-06-07 13:42:41

2023-09-15 14:37:55

2022-05-23 10:02:39

軟件選型

2019-12-12 10:58:37

Docker容器引擎

2020-09-15 09:55:13

架構(gòu)師架構(gòu)選型

2021-01-18 05:11:14

通信Nodejs進程

2013-04-18 11:01:10

手機游戲手機游戲引擎技術(shù)選型

2016-10-13 10:49:57

云平臺選型信息安全

2022-11-22 08:42:38

數(shù)據(jù)庫

2020-01-15 07:43:45

架構(gòu)redis開發(fā)

2022-08-19 14:06:56

前端架構(gòu)技術(shù)

2023-11-13 08:37:33

消息中間件分布式架構(gòu)

2024-07-25 08:52:13

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 伊人久久精品一区二区三区 | 亚洲黄色高清视频 | 日韩中文字幕 | 日本高清中文字幕 | 国产黄色小视频在线观看 | 成人毛片网站 | 在线观看黄色电影 | 欧美精品一二三 | 亚洲一区二区在线视频 | 亚洲午夜av久久乱码 | 亚洲乱码一区二区 | 国产九九av | 久久久久精| 免费视频成人国产精品网站 | 丁香综合 | 久久在线 | 国产影音先锋 | a免费在线 | 91精品久久久久久久久久 | 日韩久草 | 国产精品久久久久久吹潮 | 四虎在线观看 | 国产午夜精品一区二区三区嫩草 | 激情久久网 | 呦呦在线视频 | 久久精品视频9 | 国产一区 在线视频 | 日本精品一区二区 | 久久久久久久久91 | 国产三级大片 | 日本精品裸体写真集在线观看 | 久久精品av | 久久久www成人免费精品张筱雨 | 99精品视频一区二区三区 | 亚洲在线一区 | 欧美日韩精品一区二区三区蜜桃 | 一级毛片免费看 | 欧美综合国产精品久久丁香 | 97精品久久| 99久久精品国产毛片 | 亚洲成av|