SuiteScript 2.0 優勢


SuiteScript 2.0 優勢

SuiteScript 2.0 是 SuiteScript 模型的完全重新設計。此主題討論 SuiteScript 2.0 優於 SuiteScript 1.0 的幾個優勢。

復雜性管理和直觀的代碼組織

SuiteScript 2.0 以模塊化結構構建。現代 SuiteApp 需要通常包含許多代碼行和許多文件的復雜腳本。模塊化為用戶提供內置的復雜性管理。還增加了封裝,提供直觀代碼組織,並確保不會出現全局變量或方法命名沖突。

SuiteScript 2.0 隨帶包含在模塊中的整套新 API。這些模塊根據行為進行組織和命名。例如,當您需要在 NetSuite 中使用文件時,您可以使用文件模塊。腳本僅加載需要的模塊。使用 SuiteScript 1.0,所有 API 均包含在同一全局命名空間中。各 SuiteScript 1.0 腳本均使用整個命名空間,而無論實際使用的是哪一 API。

SuiteScript 2.0 還可讓您創建自己的自定義模塊。您可以使用這些自定義模塊組織您的代碼(替代 SuiteScript 1.0 庫)。此外,您還可以向 SuiteApp 添加自定義模塊,並向第三方公開這些模塊。

有關其他信息,請參閱以下主題:

注意

SuiteScript 2.0 實現異步模塊定義 (AMD) 規格。AMD 用於定義和加載 JavaScript 模塊及其依賴關系。有關 AMD 的其他信息,請參閱 http://requirejs.org/docs/whyamd.htmlhttps://github.com/amdjs/amdjs-api/blob/master/AMD.md


自動依賴關系管理

SuiteScript 2.0 為您提供內置依賴關系管理。通過 SuiteScript 2.0,您可以定義必須在腳本執行前加載的 SuiteScript 2.0 模塊和自定義模塊。模塊加載程序自動加載這些模塊的依賴關系、依賴關系的依賴關系等。自動依賴關系管理可讓您專注於邏輯,而非依賴關系和加載順序。

有關其他信息,請參閱以下主題:

現代編程語法和行為

SuiteScript 2.0 的基本設計原則是 SuiteScript 2.0 === JavaScript。這降低了經驗豐富的開發人員的學習曲線。語法是簡單明了的 JavaScript。不同於 SuiteScript 1.0,該行為具一致性。語法和行為增強包括以下內容:

  • 第三方 JavaScript API 支持: SuiteScript 2.0 旨在支持所有標准 JavaScript。通過提供的 SuiteScript 2.0 API,您能夠對 NetSuite 功能進行編程訪問。對於通用邏輯,使用自定義模塊加載首選第三方 JavaScript API。

  • SuiteScript 1.0 nlapi/nlobj 前綴停用:對 SuiteScript 2.0 進行建模后,其外觀和行為類似於現代 JavaScript。為了實現該目標,SuiteScript 2.0 方法和對象不使用 nlapi 和 nlobj 作為前綴。這一改變還反映出 SuiteScript 2.0 的模塊化組織。SuiteScript 1.0 方法和對象分別屬於 nlapi 和 nlobj 命名空間。SuiteScript 2.0 方法和對象封裝在多個模塊內。

  • 屬性和枚舉的使用: SuiteScript 2.0 采用屬性和枚舉。大部分 SuiteScript 1.0 getter 和 setter 方法替換為屬性。枚舉封裝常用常量(例如,標准記錄類型)。

    注意

    JavaScript 不包含枚舉類型。SuiteScript 2.0 文檔利用術語枚舉(簡稱為枚舉)來描述具有類似於映射的平面結構的純 JavaScript 對象。在此對象內,每個密鑰指向一個只讀字符串值。


  • 更新的子列表和列索引:開發領域中的標准慣例是從 0 開始索引。在大多數編程語言中都可觀察到此行為。SuiteScript 1.0 從 1 開始子列表和列索引。為了使 SuiteScript 與現代 JavaScript 接軌,SuiteScript 2.0 中的子列表和列索引從 0 開始。

有關其他信息,請參閱以下主題:

功能性增強

以下增強功能專用於 SuiteScript 2.0:

Map/Reduce 腳本類型

SuiteScript 2.0 引入了基於 Map/Reduce 模型的新服務器端腳本類型。Map/Reduce 腳本為處理大量記錄的服務器端腳本提供結構化框架。此外,SuiteCloud Plus 用戶還可使用 Map/Reduce 腳本並行處理多個處理器中的記錄。用戶從腳本部署記錄中手動選擇要利用的處理器數。

有關其他信息,請參閱SuiteScript 2.0 Map/Reduce 腳本類型

異步客戶端側處理(承諾)

Promise 是 JavaScript 對象,表示某個異步過程的最終結果。創建這些對象后,其可用作表示以后操作成功或失敗的占位符。在 Promise 對象在后台等待期間,腳本的剩余段可執行。

在 SuiteScript 2.0 中,所有客戶端腳本都支持使用 Promise。借助 promise,開發人員可編寫直觀高效的異步代碼。SuiteScript 2.0 提供選定模塊的 promise API。此外,還可在所有客戶端腳本中創建自定義 promise。

有關其他信息,請參閱Promise 對象

SFTP 文件傳輸 API

SuiteScript 2.0 支持 SFTP(安全文件傳輸協議)。此功能可讓您在 NetSuite 和外部 FTP 系統(文件傳輸協議)服務器之間安全傳輸文件。SFTP 是用 SSH(安全外殼)封裝過的協議。它與 FTP 類似,但文件通過安全連接進行傳輸。服務器授權需要密碼 GUID(全局唯一標識符)以及 DSA(數字簽名算法)、ECDSA(橢圓曲線數字簽名算法)或 RSA(密碼系統)主機鍵。

有關其他信息,請參閱N/sftp 模塊

緩存 API

通過 SuiteScript 2.0 緩存 API,您能夠將數據加載到緩存中,並使其可用於一個或多個腳本。此功能減少了檢索數據所需的時間。

有關其他信息,請參閱N/cache 模塊

搜索分頁 API

通過 SuiteScript 2.0 搜索分頁 API,您能夠通過搜索結果導航到頁面。此增強功能提高了腳本性能並使您能夠以直觀方式高效瀏覽搜索結果數據。

有關其他信息,請參閱N/search 模塊

平面文件流 API

使用 SuiteScript 1.0,您無法輕松訪問超過 10MB 的文件的內容。您必須將文件划分成更小、單獨的文件,以在內存中讀取、寫入和添加文件內容。

通過 SuiteScript 2.0 平面文件流 API,您可以更有效地處理和流式傳輸大的 CSV 和純文本文件。通過此增強功能,您能夠將每行內容加載並編輯到內存中,然后再將這些行重新添加到內存中。平面文件流 API 僅對單個內容行強制執行 10MB 的限制。

有關其他信息,請參閱N/file 模塊

對 HTTP 內容類型標頭的擴展支持

SuiteScript 2.0 添加了對所有 HTTP 內容類型的支持。此增強同時適用於客戶端請求和服務器響應 HTTP 標頭。

有關其他信息,請參閱N/http 模塊N/https 模塊

新的加密/編碼功能

SuiteScript 2.0 通過 N/crypto 模塊添加增強的加密、解密和哈希功能。附加編碼功能在 N/encode 模塊中公開。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM