日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
架構選型之Nodejs與Java

 前言:

成都創(chuàng)新互聯服務項目包括解放網站建設、解放網站制作、解放網頁制作以及解放網絡營銷策劃等。多年來,我們專注于互聯網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯網行業(yè)的解決方案,解放網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到解放省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

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

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

語言背景分析:

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

語言及SDK分析:

Nodejs選擇javascript語法導致了其靈活、面向過程、單進程單線程執(zhí)行的基本特性。然而得意其語言的靈活性,一些面向對象的特征也可以通過邏輯代碼實現,但受阻于ECMAScript的發(fā)展速度,整體上Nodejs向企業(yè)級應用語法轉型還暫時較慢。Nodejs主打的異步IO事件回調使其更適合服務器的編程,其單進程單線程的特質使得開發(fā)變得簡單。得意與社區(qū)的活躍語言處于高速發(fā)展、SDK不斷地發(fā)展穩(wěn)定豐富。

相比之下,Java是面向對象的具備了面向對象的全部特征,經歷了20年的發(fā)展沉淀越發(fā)的強大、穩(wěn)健。與Nodejs相比Java是個在各個領域作精作深的技術巨人,然而也正因如此,學習Java的成本要比Nodejs高很大一個臺階,每一個小的技術方面都能找到很厚的一本書來。面對異步IO事件回調的新技術Java也在其新的SDK中提供支持與時俱進,相關Java的開源項目也及時跟進。

三方開源框架選型:

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

產品化分析:

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

執(zhí)行引擎分析:

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

其他一些對比:

其他一些簡單對比如下:

結束:

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

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


當前文章:架構選型之Nodejs與Java
分享網址:http://www.dlmjj.cn/article/dpojgss.html