Native Client 讓你使用 C/C++ 開發 Web 應用
Google 的產品經理 Christian Stefansen 同學近日在 Chromium 官方博客中說最新版的 Chrome Beta 已經可以使用 C 以及 C++ 語言來開發 Web 應用,而這一切正是得益于 Google 的本地客戶端(Native Client)。
本地客戶端應用是運行在 Web 平臺上的,所以開發者不需要為每一個操作系統都做一個版本。同時本地客戶端應用使用的是 Pepper 插件 API,這個 API 可以讓你用 C 和 C++ 語言開發具有 HTML 5 功能的應用程序。不依賴操作系統就是說一旦你把你的代碼移植到本地客戶端,那么就可以運行在所有的操作系統上,你也只需要維護一個代碼庫。反正說來說去 Google 的意思就是讓開發者都把代碼移植到本地客戶端上來。
目前本地客戶端支持2D圖形、立體聲音頻、網址抓取、有沙盒保護的本地文件訪問(文件API)以及與 JavaScript 的雙向異步消息傳遞等 Pepper API 中的功能,未來還會加入3D圖形硬件加速(OpenGL ES 2.0)、全屏模式、網絡(WebSockets 以及點對點連接)等等功能,反正就是 HTML 5 和 Pepper 中有的新功能,本地客戶端都會在第一時間加入。
值得一提的是本地客戶端的安全性,為了確保本地客戶端能夠像 Javascript 一樣安全,本地客戶端的代碼嵌套了兩個沙箱以實現與操作系統隔離,分別為本地客戶端沙箱以及 Chrome 自帶的沙箱。和傳統的 NPAPI 插件以及 ActiveX 空間不同的是,本地客戶端應用不會訪問底層的操作系統 API。
開發者如果想要用本地客戶端開發應用程序的話,可以直接在本地客戶端官方網站上下載 SDK、尋找教程、樣例、API 文檔以及 FAQ,等 Chrome 14 進入 Stable 分支之后,那么你用本地客戶端開發的 Web 應用就可以上傳到 Chrome Web Store 中讓1.6億的 Chrome 用戶使用了。
本地客戶端的下一個里程碑是架構獨立,而可移植的本地客戶端(Portable Native Client)將使用 LLVM bitcode 作為基礎用于本地客戶端內容分發格式來實現這一點,在程序運行之前將其翻譯成實際目標指令集。不過在此之前 Chrome Web Store 是本地客戶端應用唯一的分發渠道,因為這樣才能夠確保所有的本地客戶端應用能夠在可抑制的本地客戶端準備好之后無縫升級,并且這種機制還可以避免依賴指令 集架構的應用蔓延,到時候 Google 會專門發博客給開發者解釋這一切。
不知道 Chromi 的讀者中有沒有使用本地客戶端開發的作品,不妨秀出來給大家伙兒見識見識!
via Chromiumblog
本文轉載自: Chrome迷 (http://www.chromi.org)