騰訊Web前端開發框架JX(Javascript eXtension tools)

轉自:Web前端開發-Web前端工程師 » 騰訊Web前端開發框架JX(Javascript eXtension tools)javascript

JX – Javascript eXtension tools

一個相似 Google Closure Library 的 Web 前端開發框架,服役於 WebQQ 等大規模的 WebApp
簡介
JX 是模塊化的非侵入式Web前端框架,最新開源地址:https://github.com/AlloyTeam/JX。 JX 框架同時適用於 Web Page 和 Web App 項目的開發,特別適合構建和組織大規模、工業級的Web App,騰訊 WebQQ、騰訊Q+等產品都是採用JX框架開發,兼容目前全部主流瀏覽器。
jx
代碼示範
JX 代碼組織方式一(傳統):css

var J = new Jx();
J.out(J.version);

JX 代碼組織方式二(推薦):html

Jx().$package(function(J){
    J.out(J.version);
});

 

設計理念前端

  • 保持最優的執行效率
  • 保持 Javascript 原有的代碼風格,下降學習難度
  • 不作任何的過分封裝
  • 更好的組織工業級 Javascript 應用程序
  • 探索在前端使用 MVP、MVC 等模式來構建大型 WebApp
  • 探索工業級 Javascript 的開發技術

特性java

  • 微內核設計:內核可徹底分離出來,用於構建其餘的框架
  • 原生對象零污染:你懂的,隨着js的App越來約複雜,對原生對象的零污染也體現的愈來愈重要了
  • 模塊封包:採用命名空間、閉包等方式創建了模塊封包的體系,幫助更好的組織海量js代碼
  • 模塊自由拼裝:自身模塊作了良好的架構分離,儘量讓各個模塊之間能夠自由的拼裝組合
  • 無縫集成各類js框架:與jQuery, YUI, Mootools, Prototype.js 等框架無縫集成;與多種局部框架無縫集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等
  • 多版本共存:如採用的Jx版本過舊,舊有的Javascript代碼不能與新版本Jx兼容,則能夠採用多版本共存的方式保持程序的可延續性
  • 分層設計:Javascript核心層,與Javascript解釋引擎無關的封裝和擴展;瀏覽器端Javascript層,對瀏覽器中的Javascript引擎部分的封裝和擴展

架構git

  • 第一層:Core Javascript 擴展模塊 / 代碼組織模塊(可用於NodeJs等其餘js引擎,輕鬆組織大型應用,無縫接入其它js庫)
  • 第二層:Browser Javascript 擴展模塊(跨瀏覽器,基礎封裝) / 可選模塊(設計模式相關模塊,選擇器模塊…)
  • 第三層:UI 組件 / 實時動畫模塊 / 遊戲引擎模塊

發展規劃github

  • 核心底層 – 純Js底層功能封裝/代碼組織/無縫接入其它js庫 – [完成]
  • 基礎擴展 – 跨瀏覽器封裝/工具函數/設計模式相關 – [完成]
  • UI 基礎控件 – 按鈕/面板/窗口/樹形列表/Tab/lightbox/widgets…
  • 實時動畫系統 – 實時定時器/關鍵幀動畫/加速度公式/物理引擎/聲音控制器…
  • 遊戲引擎 – 角色控制/地圖系統/遊戲異步通信系統/尋路算法/鍵盤控制/人工智能/…

JX 框架源碼包格式下載地址算法

.zip
.tar
設計模式

 

相關文檔瀏覽器

相關文章
相關標籤/搜索