Node.js簡化云應(yīng)用程序開發(fā)
大多數(shù)企業(yè)的計(jì)算機(jī)商店致力于特定開發(fā)平臺(tái),通過使用企業(yè)計(jì)算機(jī)領(lǐng)域的兩名成員:Oracle的Java EE平臺(tái)和微軟的.NET而實(shí)現(xiàn)。當(dāng)企業(yè)架構(gòu)師和IT經(jīng)理決定避開這些技術(shù)型開發(fā)實(shí)踐,轉(zhuǎn)移到一些其他新領(lǐng)域時(shí),這就相當(dāng)成功了,但是這樣的事情發(fā)生的越來越頻繁了。什么才是新的、關(guān)鍵技術(shù)?這要取決于公司的決策者(如Yahoo、eBay和Wamart)推崇什么樣的策略。正是Node.js這樣一個(gè)強(qiáng)大的服務(wù)器端腳本語言才能保證提高可伸縮性和性能,同時(shí),具備一個(gè)簡單的編程庫,使得任何人都可以迅速地獲得編程能力。
Node.js的使用是通過許可進(jìn)行管理,免費(fèi)軟件MIT許可,維護(hù)及進(jìn)一步開發(fā)則是由Joyent之前的員工Ryan Dahl負(fù)責(zé),他在2009年創(chuàng)建了Node.js。Joyent的市場開發(fā)總監(jiān)Jim Farrell(@jimrafar),解釋了Joyent為什么會(huì)如此受進(jìn)步的企業(yè)歡迎,尤其是那些對高彈性云技術(shù)非常感興趣的企業(yè)。他說:“Node.js處于軟件運(yùn)行時(shí),是服務(wù)器端Java腳本,允許較少的代碼完成更多的任務(wù)。因此,可以更有效地利用CPU周期。它的內(nèi)存處理方式更有效?,F(xiàn)在,其創(chuàng)建移動(dòng)和Web應(yīng)用程序是處于最高運(yùn)行時(shí)。”
轉(zhuǎn)向Node.js平臺(tái)的真正意義是,隨著時(shí)間的推移,為開發(fā)節(jié)省更多的時(shí)間、簡化布局,以更少的代碼來管理和降低成本。
另一個(gè)好處是提供了一個(gè)繁榮和廣闊的社區(qū):在Node中,開發(fā)人員永遠(yuǎn)不會(huì)孤單。有一群很精明的人正在交付創(chuàng)新和實(shí)用包。Farrell說:“Node社區(qū)本身非常善于發(fā)送軟件包。Node花費(fèi)不到三年的運(yùn)行時(shí)間,但是,與Ruby相比,Node包管理器(NPM)中有更多的軟件包。”Node.js代碼非常容易編寫,許多開發(fā)人員發(fā)布了他們自己的工具和小部件,作為其他調(diào)整、完善和改造的開放資源。“Node.js允許構(gòu)建小工具,然后發(fā)出使其成為公開的資源。Node社區(qū)就會(huì)采用它、改變它,并在其中添加一些其他內(nèi)容。”因此,就會(huì)形成一個(gè)廣泛的工具集。如果現(xiàn)在你還不需要這樣的工具集,那么很可能以后就會(huì)需要。
當(dāng)然了,許多技術(shù)可以發(fā)掘其潛在益處:從增加性能到無限的可伸縮性。但是,Node.js支持者如何支持自己的觀點(diǎn)?云供應(yīng)商領(lǐng)域中,Joyent本身就是基礎(chǔ)設(shè)施即服務(wù)(IaaS)成員。云計(jì)算領(lǐng)域內(nèi),該產(chǎn)品可以與任何熟知的產(chǎn)品競爭,其中包括亞馬遜。這是因?yàn)镴oyent已經(jīng)使用Node.js和他們管理及支持的軟件構(gòu)建了自己的平臺(tái)。Joyent的公共云可以與亞馬遜競爭,這是因?yàn)镴oyent構(gòu)建了使用Node.js的云中間件。由于他們已經(jīng)構(gòu)建了系統(tǒng)方式,因此,Joyent強(qiáng)調(diào),根據(jù)指標(biāo)的使用情況,可以高出競爭對手二到二十倍的性能。Joyent理念一直是:應(yīng)用Node.js建立自己的云計(jì)算棧,而不是為數(shù)據(jù)中心和應(yīng)用程序棧購買軟件。使用Node.js已經(jīng)實(shí)現(xiàn)了一個(gè)云計(jì)算平臺(tái),可以加速移動(dòng),包括高效內(nèi)存和CPU使用在內(nèi)的上述縱向領(lǐng)域能力。
負(fù)責(zé)建立統(tǒng)一、簡單軟件棧的IT經(jīng)理和軟件專業(yè)人士正避免使用Microsoft和Oracle提供的傳統(tǒng)的應(yīng)用開發(fā)平臺(tái),其中該軟件棧既可以應(yīng)用于服務(wù)器端也可以用于客戶端。雖然有許多替代品存在,但是Node.js正處于上升期,尤其是設(shè)計(jì)師正在尋找構(gòu)建基于云的應(yīng)用程序。驗(yàn)證了Joyent的IaaS云平臺(tái)實(shí)力后,再加上應(yīng)用eBay、Walmart和Yahoo的軟件服務(wù),就可以預(yù)測到未來越來越多的企業(yè)計(jì)算環(huán)境將會(huì)轉(zhuǎn)向Node.js。