node.js為一 server side的語言,其特性為:
- 可跨平台(WIN、MAC、LINUX)
- 語法類似 javascript
- 支援 npm(套件管理),自行擴充套件及更新版本
- 支援主流的「非同步」運作
優點:
- 效能快過於 PHP 和 Python 與 Ruby
- 寫法簡單又容易,而且前後端能夠使用同個語言
缺點:
- 毫無結構性
- 型態難以判斷
- 文件、註釋不易撰寫
- 可用函式跟不上時代
- 套件佔了空間一大半
- 回呼地獄
- 多工異步麻煩
- 原始作者逐漸疏離
CODING工具:
課程使用微軟推出的 Visual Studio Code
- 支援 intellisense
- 易於執行及除錯
WEB:
- 可透過 express框架,架設簡單網站
- 實作RESTful API
REST是 Representational State Transfer的縮寫,其使用 HTTP執行四種操作 CRUD(C:create,R:read,U:update,D:delete)
有些網站採用了 Single Page Application 的方案,後端只負責提供 API 讓前端抓取資料,達成完全的前後端分離
前端的選擇有很多種,可以用 Angular,可以用 Ember.js,也可以用 React + Redux
後端的 API必須符合固定格式,才能讓前端的人員比較好抓取,最常見的就是:RESTful
IOT:
- 在物聯綱方面,可使用 Node-RED的視覺化開發工具,其是以 node.js為基礎開發出來的,純粹透過流程圖的方式完成許多後端才能做的事。
課後心得:
- 兩天的課程下來,講師著重於 node.js語法,和區塊鏈交易較相關的WEB架設及EXPRESS Framework的實作,卻因時間關係被快速帶過,覺得可惜。