Windows10 IoT Core 之 Node.js 的最新進展

在最近幾年中,物聯網(IoT)為技術愛好者狂熱的新趨勢之一,在未來幾年,它轉變為企業和終端用戶最著迷的技術。由於 Windows10 IoT Core 有支援 Raspberry Pi2MinnowBoard Max 和 DragonBoard 等目前較流行的板子,而且 Node.js 在物聯網和創客社群裡持續出現許多令人驚奇的事物,所以,我們在去年發布了 Node.js support for Windows 10 IoT Core,並且持續積極地對於新的應用情境做更新

Node.js 對 Windows10 IoT Core 的支援來到了一個重要的新里程碑。Chakra 小組將開放程式碼的 ChakraCore JavaScript 引擎,在 GitHub 發出了 Pull Request (PR) to mainline Node.js 的請求。一旦該請求被接受後,這個 PR 將協助我們完成以下兩個目標,讓我們能在 Node.js 上迅速發展。首先,讓程式碼在社群回饋的基礎上開發;第二,在 Windows10 IoT Core 上更快速地為開發者帶來新事物。在部落格裡有我們開發藍圖的詳細資訊,Chakra 團隊將持續與社群和 Node.js 基金會緊密合作,以提升模組相容性和評估 Node.js 效能。

針對 Node.js 對 Windows10IoT Core 的支援,我們九月份做了更新,使得它更容易入門,並提升了一些關鍵的物聯網 npm 模組的相容性。在保持最新版 Node.js 與吸取社群回饋之下,這個計畫將持續進行。這次,我們發布了 Node.js Tools for Windows IoT 1.5 的更新版本,下面是這個新版本的要點。

主控台應用程式

目前在 Windows10 IoT 上開發 Node.js,大多數還是為主控台應用程式模式。基於 Node.js 的熟悉體驗,開發人員習慣使用他們喜愛的各種平台的編輯器和命令提示字元來工作。Windows10 IoT Core 從一開始就支援這樣的應用程式模式,允許 Node.js 與 Chakra 一起使用,並且用 PowerShellSSH 或 SMB file transfer 手動部署其指令碼 (script) 到設備上。而在 Node.js with ChakraCore 更新到 1.5 版時,這方面的使用體驗將會延續。 ChakraCore 將開放原始碼來開發,更新預計會更快,並能在 Windows 7 和之後的 Windows OS 版本上執行。Node.js with ChakraCore 將與 Node.js 大師和 Node.js V6.0.0 的開發者密切合作,目前可以在 Node.js with ChakraCore 下載獨立安裝程式來開始嘗試使用。你可以套用一些我們放在網站的主控台應用程式範例,如 MemoryStatus 和 Using Cylon

通用 Windows 平台(UWP) 應用程式

Windows10 IoT Core 的 Node.js 開發者也可以感受到在通用 Windows 平台(UWP)模式使用 Node.js 的好處,這個應用程式模式為 Windows10 生態系統的中心,讓開發者能通用的應用於整個 Windows10 系列的設備。Chakra JavaScript engine 將強化 Node.js 所建置的 UWP 應用程式,而且 Node.js Tools for Windows IoT V1.5 將安裝 Node.js 所有相關的工具和產生 UWP 應用程式所需要的 binary 檔案,這個選項提供了熟悉的Visual Studio 使用體驗。最近的版本有更好的偵錯支援和更多的範本,以幫助開發人員容易入門,而且 Node.js 支援最新的穩定版本。它需要安裝 Visual Studio 2015 Update 1,以下是其主要提升要項:

VS1.1 對於 Node.js 工具的支援

對於 NPM V3、程式碼片段,NTVS 最新版本帶來更可靠的偵錯和 IntelliSense,並且在穩定度和效能皆有所提升。

支援 Node v5.4.1

我們總是想成為 Node.js 的先鋒,最近的 Node.js Tools for Windows IoT 支援最新的 V5.4.1 穩定版本。

內建 Johnny-Five Template

Johnny-Five,一個廣受歡迎的 JavaScript 機器人技術和物聯網程式設計框架,對 Windows 10 IoT Core 有很好的支援;為了使 Johnny-Five 更容易入門,這個版本中,內建有 Johnny-Five 的 UWP Template。

Candy Robot

我們的目標是在 Windows10 IoT Core 上持續提升和提供良好的 Node.js 支援。在推出 ChakraCore 時,我們記錄了 Node.js 與 ChakraCore 主控台應用程式執行在安裝了 Windows10 IoT Core 的 Raspberry Pi2 上的展示。我們稱它為 “ Candy Robot ”。這個展示使用了 100 個以上相關的 npm 模組,包括 cylon、SerialPort、firmata 和 express(也有一個取代 cylon 的 Johnny-Five 版本,在我們的 repo),這只是為了說明我們對模組支援的廣度。

Candy Robot 上有一個光感測器。當機器人移動時,它會上傳指定點的光強度資料到伺服器。伺服器提供一個介面,用來查看平均亮度資料和探索時間。它進一步顯示 Time-Travel debugging 的早期預覽功能,我們會繼續研究和分享更多關於它的發展。

如果你想在這上面自由發揮,並且加入一些更有趣的感測器和功能,這裡有詳細的逐步教學

相關影片參考請點這裡

如何入門?

要創造一些有趣的事情嗎?使用 Node.js Tools for Windows IoT 來入門,這裡有建立 UWP 應用程式和 Node.js with ChakraCore 主控制台應用程式的教學。Docs and Samples 網頁提供一些詳細教學和程式碼的範例,讓你可以好好的玩一下。

歡迎利用以下教學影片,踏出 IoT 第一步

本文翻譯自:Advancing Node.js for Windows 10 IoT Core

提醒您,社群之星『學新知拿好禮』活動進行中,快去搶禮物!想知道更多第一手消息,請鎖定 MSDN 台灣