Oct 27, 2015

Node.js

Node.js基於V8 JS引擎所開發,兼具JS的優點,有可以輕量化執行於伺服器端,輕易完成許多Web資料分析和擷取技術。以npm作為套件管理,方便開發者安裝、管理和使用node.js packages。
https://www.npmjs.com/
官網下載所屬OS的安裝程式,安裝後就建立好開發環境。
先了解以下node.js整合的技術,就可以理解其優勢。

JavaScript (JS)

最早是在HTML網頁上使用,用來給HTML網頁增加動態功能。現在JavaScript也可用於網路伺服器,如Node.js。JavaScript常用來完成以下任務:
  • 以JS程式設計互動HTML網頁:例如透過呼叫JS function控制修改HTML tag對應之CSS,可以做動態排版或動畫。Responsive Web Design (RWD) 的彈性化設計,就是基於JS為核心的programming framework,開發出如jQuery / jQueryMobile套件來支援,動態匹配裝置和版面。
  • 設定瀏覽器事件對應的反應:JS可以讓網頁變成互動的event-driven程式,JS就是AJAX技術的核心,動態整合HTML, DOM, CSS, XML/JSON, XSLT等。透過設定callback function,可以在event產生時,交由callback處理。
  • 讀寫HTML元素 (DOM):上述許多技術的核心設計觀念,都是如何利用JS functions處理特定DOM elements,以快速且方便改變網頁的互動式呈現,與動態效果。
  • 在瀏覽器 (client-side) 執行資料驗證:例如寫JS functions在瀏覽器端驗證身分證,或檢查e-mail格式合法。
  • 分析訪客的瀏覽器資訊:JS常用於browser與web server建立session (the first connection) 時,分析瀏覽器和user資訊,可以配合RWD設計最佳畫面,或是提供個人化服務。
  • 建立和修改瀏覽器cookies資訊

Chrome's V8 JavaScript engine

V8是由Google開發的開源JavaScript引擎,用於Google Chrome中。V8在執行之前將JavaScript編譯成了機器碼,而非位元組碼或是解釋執行它,以此提升效能。

npm

Node.js' package ecosystem,  npm, is the largest ecosystem of open source libraries in the world. As of Node.js version 0.6.3, npm is bundled and installed automatically with the environment. npm runs through the command line and manages dependencies for an application. It also allows users to install Node.js applications that are available on the npm registry. ... [Wiki npm]
所以,Node.js可以透過npm以command line方式,快速安裝所需packages。npm會將packages安裝於目前工作目錄下的 "node_modules" 目錄。若要全區安裝,可以加上 -g 參數,以Windows為例,會安裝於:C:\Users\username\AppData\Roaming\npm\node_modules
$ npm [-g] install moduleName
npm是javascript主要的套件管理程式,許多好用的js套件都是基於node.js和npm整合開發。
https://www.npmjs.com/

  • Browserify: 可開發node.js-style modules,並編譯與使用於瀏覽器,也就是另類web programming。
  • pm2: 可以讓 .js apps在背景執行 (e.g. $ pm2 start app.js),可以彈性將apps排程執行。

整體來看,node.js應該可以是server端易開發、效能佳、兼具packages支援豐富的JS開發環境,尤其是與Web技術整合。參考: API reference documentation 



No comments :

Post a Comment