Yahoo發布Ajax框架YUI 3.0預覽版,採取新的設計架構,精簡開發人員要撰寫的網頁程式碼,還能採用更物件化的語法來運用網頁中的元素。未來,Yahoo還將開放外部開發人員,可以貢獻自己撰寫的YUI元件。

YUI 3採用了全新的物件化(Object based)架構。雅虎奇摩前端工程師蔣定宇說:「新版架構具有更好的物件導向設計。」可以讓開發人員採用更物件化的程式呼叫方式,來操控各種網頁中的元素。

蔣定宇進一步解釋,在新版YUI 3中,開發人員可以透過Node元件,取得YUI 3重新封裝過的網頁元素,這些網頁元素可以像其他程式物件一般,使用許多 YUI Utility所提供的物件方法。

相較於舊的YUI 2.x版中,開發人員多半透過函數呼叫(Function based)的方式,來操控網頁元素的DOM Utility功能。例如開發人員要將網頁中的DIV標籤,套用一個自訂類別myClass時,YUI 2.x版的作法是YAHOO.util.DOM. addClass(div, 'myClass');,透過函數的參數傳遞來設定。但在新版YUI 3中,則可以用Javascript使用物件的方式,直接用div標籤的物件方法div.addClass('myClass');來設定網頁元素的屬性。

另外一個新的架構改變是,YUI 3採用了plug-in的設計,開發人員不需在網頁中載入所有需要的程式模組,只需先載入核心函式庫,等到使用者需要特定功能時,才將需要的程式模組動態載入(plug-in)網頁中,而且,新版會自動載入相關必須的程式碼,減少開發人員手動調整的複雜性。

YUI開發團隊資深工程師Nate Koechley日前來臺時表示,YUI 3會將程式模組切割得更小,透過plug-in架構,讓開發人員更有彈性的組合。未來還會開放第三方廠商或開發人員貢獻自製擴充元件。不過,新版架構也導致YUI 3無法與舊版相容,Yahoo表示,將會提供相容的折衷方法,例如新版採用了不同於舊版的命名空間(Namespace),所以,同一個網頁中可以同時執行新舊版程式,也將提供一套基本的舊版相容函式,降低轉換的門檻。

Yahoo預計12月發布Beta版,屆時會完成plug-in架構和完整功能,並將提供一個公開的YUI程式碼共享平臺,可供外部開發人員貢獻自行開發的YUI元件,明年第1季再推出3.0正式版。文⊙王宏仁

熱門新聞

Advertisement