Windows 10使用Chakra為所有應用程序提供JavaScript
原文 http://www.infoq.com/cn/news/2015/06/windows10-chakra
微軟在Windows 10中 擴展 了其Chakra JavaScript引擎的用途,使開發者能夠在他們的應用程序中使用新的API。名為JavaScript Runtime(JsRT)的API最初出現在Windows 8.1中,但側重于服務器端功能。在Windows 10中,這些API將不限于服務器端項目,而是可以用于傳統的Win32應用程序或通用Windows應用程序。
這些API提供了一些額外的自定義選項。對于長時間運行或經常使用的程序,開發者可以利用 JsSerializeScript 在代碼執行前將其序列化。這樣,就可以在需要的時候緩存代碼,提升啟動速度。
鑒于在應用程序中包含JavaScript引擎這種設計使用戶可以插入自己的代碼,應用程序開發者需要有辦法限制這些腳本消耗的資源,防止流氓腳本導致性能問題。JSRT API提供了限制這些腳本所使用的內存和CPU的功能。
由于微軟計劃繼續更新他們的新Web瀏覽器Edge,所以他們需要一種方式,更新與之關聯的Chakra JavaScript引擎,而又不破壞可能依賴于舊特性的遺留應用程序。Chakra通過分成兩個版本達成了這一目的。當前(遺留)的Chakra引擎包含在jscript9.dll中, 而新的Chakra引擎(在Windows 10中提供)將包含在chakra.dll中。開發者可以根據需要選擇 指向 哪個DLL。運行Internet Explorer 11的機器可以使用指向jscript9.dll的應用程序,這為尚未遷移到Windows 10的應用程序提供了一個單獨的 選項 。
微軟總結了如下兩條標準,用于指導開發者做出選用哪個庫的決定:
- 如果重點是向后兼容現有應用程序,則指向遺留引擎。
- 如果希望應用程序具有前瞻性,并在JavaScript新特性發布時支持它們(比如,ECMAScript 6),則指向Edge引擎。
除了支持ECMAScript 6之外,指向最新的DLL還可以簡化在Visual Studio中的代碼調試工作。要試用新的Chakra引擎及Windows 10,請訪問微軟Windows 10 開發工具 頁。GitHub上 提供 了一些初始示例。
查看英文原文: Windows 10 uses Chakra to Provide JavaScript For All Applications