- Node.js+Webpack開發(fā)實戰(zhàn)
- 夏磊
- 604字
- 2021-03-26 21:53:46
1.3 Node.js的應(yīng)用場景
1.3.1 Node.js優(yōu)缺點
在介紹應(yīng)用場景之前,需要了解一下Node.js的利弊。只有在合適的場景下使用Node.js,才能達(dá)到高性能。
Node.js優(yōu)點:
· 事件驅(qū)動、異步編程,在I/O密集型場景下有著極高的性能。
· 輕量高效,資源占用率低。
· 使用JavaScript(JS)作為應(yīng)用層語言,語言門檻低,對于擁有JS基礎(chǔ)的人來說,幾乎沒有門檻。
Node.js缺點:
· 單進(jìn)程,一旦JS線程出現(xiàn)未處理的錯誤,進(jìn)程會退出,服務(wù)會終止。
· 單線程(特指JS線程),一旦JS線程上出現(xiàn)耗時的CPU計算(加解密之類的計算),JS線程將出現(xiàn)阻塞,會拖慢事件輪詢。
1.3.2 應(yīng)用場景
由于較低的語言門檻以及強大的I/O處理能力,大致有以下場景是Node.js能夠勝任的。
1.Restful API
這是Node.js最理想的應(yīng)用場景,可以處理數(shù)萬條連接,本身沒有太多的邏輯,只需要調(diào)用請求API、組織數(shù)據(jù)進(jìn)行返回即可。它本質(zhì)上只是從某個數(shù)據(jù)庫或緩存中查找一些值并將它們組成一個響應(yīng)。由于響應(yīng)是少量的文本,入站請求也是少量的文本,因此流量不高,甚至一臺機器也可以處理最繁忙的API需求。社區(qū)有Koa、Express、hapi等框架提供該功能。
2.實時WebSocket應(yīng)用
大量用戶同時在線,互相收發(fā)數(shù)據(jù),但是幾乎不需要對數(shù)據(jù)進(jìn)行處理,Node.js只需要接收數(shù)據(jù)然后轉(zhuǎn)發(fā)。社區(qū)有著名的socket.io庫來提供WebSocket功能。
3.前端工具鏈
由于采用的語言是JavaScript,并且擁有大量的第三方模塊,在前端工程師手里可以開發(fā)一整套前端工具鏈,包括壓縮、混淆、模塊化等。比如業(yè)界著名的Webpack。
4.桌面開發(fā)
基于開源的Chromium和Node.js,開發(fā)者可以通過HTML/CSS/JS來構(gòu)建桌面端應(yīng)用程序,業(yè)界著名的有Electron和node-webkit。
- 極簡算法史:從數(shù)學(xué)到機器的故事
- HTML5+CSS3王者歸來
- 軟件項目估算
- C語言程序設(shè)計習(xí)題解析與上機指導(dǎo)(第4版)
- 算法大爆炸:面試通關(guān)步步為營
- PHP網(wǎng)絡(luò)編程學(xué)習(xí)筆記
- Java程序設(shè)計與實踐教程(第2版)
- 概率成形編碼調(diào)制技術(shù)理論及應(yīng)用
- 零基礎(chǔ)輕松學(xué)SQL Server 2016
- WordPress 4.0 Site Blueprints(Second Edition)
- Android驅(qū)動開發(fā)權(quán)威指南
- 案例式C語言程序設(shè)計實驗指導(dǎo)
- GameMaker Essentials
- Building a Media Center with Raspberry Pi
- 信息學(xué)奧林匹克競賽初賽精講精練