推ter開源的基于事件的組件框架:Flight

jopen 11年前發布 | 11K 次閱讀 Flight

  推ter 開源了 Flight,這是該公司內部用于產品中的、為網站提供功能的 JavaScript 框架。

  推ter Flight 是基于事件的框架,可用于為現有 DOM 結構添加功能。Flight 既不用于建模數據,也不用于 HTML 渲染,它不處理請求路由和頁面模版,也不處理瀏覽器或服務器端的渲染。相反,它是一款高度解耦和的組件框架,這些組件連接到 DOM 節點,當在節點上調用事件時,可以提供預期的功能。

  Flight 組件完全不知道其他組件的存在,一個組件也不能持有指向另一個組件的引用。組件是分別定義的,當它們被連接到節點時才會創建實例。組件會持有所連接節點的引用。之后為事件注冊組件,事件會使用 DOM 的事件機制進行發送和接收。在接收到事件時,組件并不知道事件是來自節點還是來自另一個組件。它只是執行在組件定義時確定的、與各個事件關聯的功能。

  借助這種事件機制,Flight 支持開發者編寫、測試和調試解耦和的組件,而無需依賴其他組件。即便其他組件出現問題,當前組件應該還能工作。

  該框架也定義了 mixin,這是可以在組件和其他 mixin 間共享的小功能片段。Mixin 和面向對象語言(如 Java 或C#)中的接口比較相似。

  去年,推ter 在對其網站進行更新時開始在產品中使用 Flight。現在 推ter 基于 MIT 許可證開放了 Flight 的源代碼,同時提供了一個演示應用,還提供了用于解釋如何設置 Flight、如何開始創建、測試和調試組件的文檔

  Flight 也依賴其他框架,包括使用 ES5-shim 來支持較老的瀏覽器,使用 JQuery 的 DOM 操作 API。該框架支持所有主要瀏覽器,包括 Firefox、Safari、Chrome、Opera 和 IE7+。

  查看英文原文:推ter Open Sources Flight, an Event-based Component Framework

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!