JX騰訊Web前端框架庫
簡介
JX 是模塊化的非侵入式Web前端框架,開發(fā)于2008年,并于2009年開源于GoogleCode - http://code.google.com/p/j-et/,于2012年切換到Github,開始我們開源計劃的新征途,請記住我們的最新開源地址:https://github.com/AlloyTeam/JX,歡迎訪問我們的團隊Blog - http://www.alloyteam.com/2012/06/jx-framework/,謝謝大家來支持^_^。
JX 框架同時適用于 Web Page 和 Web App 項目的開發(fā),特別適合構建和組織大規(guī)模、工業(yè)級的Web App,騰訊 WebQQ -http://web.qq.com、騰訊 Q+ http://www.QPlus.com 等產品都是采用JX框架開發(fā),兼容目前所有主流瀏覽器。
命名含義
JX 是 Javascript eXtension tools 的縮寫,即 Javascript 擴展工具套件的意思。
設計理念
保持最優(yōu)的執(zhí)行效率
保持 Javascript 原有的代碼風格,降低學習難度
不做任何的過度封裝
更好的組織工業(yè)級 Javascript 應用程序
探索在前端使用 MVP、MVC 等模式來構建大型 WebApp
探索工業(yè)級 Javascript 的開發(fā)技術
特性
微內核設計:內核可完全分離出來,用于構建其他的框架
原生對象零污染:你懂的,隨著js的App越來約復雜,對原生對象的零污染也體現(xiàn)的越來越重要了
模塊封包:采用命名空間、閉包等方式建立了模塊封包的體系,幫助更好的組織海量js代碼
模塊自由拼裝:自身模塊做了良好的架構分離,盡可能讓各個模塊之間可以自由的拼裝組合
無縫集成各種js框架:與jQuery, YUI, Mootools, Prototype.js 等框架無縫集成;與多種局部框架無縫集成,如:Mini, Sizzle, cssQuery, xpath, JSON 等等
多版本共存:如采用的Jx版本過舊,舊有的Javascript代碼不能與新版本Jx兼容,則可以采用多版本共存的方式保持程序的可延續(xù)性
分層設計:Javascript核心層,與Javascript解釋引擎無關的封裝和擴展;瀏覽器端Javascript層,對瀏覽器中的Javascript引擎部分的封裝和擴展
代碼示范
-
JX 代碼組織方式一(傳統(tǒng)):
var J = new Jx(); J.out(J.version);
-
JX 代碼組織方式二(推薦):
Jx().$package(function(J){ J.out(J.version); });
相關文檔
CheatSheet:http://alloyteam.github.com/JX/doc/jx_cheatsheet.html
代碼規(guī)范:http://alloyteam.github.com/JX/doc/specification/google-javascript.xml
架構
第一層:Core Javascript 擴展模塊 / 代碼組織模塊(可用于NodeJs等其他js引擎,輕松組織大型應用,無縫接入其它js庫)
第二層:Browser Javascript 擴展模塊(跨瀏覽器,基礎封裝) / 可選模塊(設計模式相關模塊,選擇器模塊…)
第三層:UI 組件 / 實時動畫模塊 / 游戲引擎模塊
發(fā)展規(guī)劃
核心底層 - 純Js底層功能封裝/代碼組織/無縫接入其它js庫 – [完成]
基礎擴展 - 跨瀏覽器封裝/工具函數(shù)/設計模式相關 – [完成]
UI 基礎控件 - 按鈕/面板/窗口/樹形列表/Tab/lightbox/widgets…
實時動畫系統(tǒng) - 實時定時器/關鍵幀動畫/加速度公式/物理引擎/聲音控制器…
游戲引擎 - 角色控制/地圖系統(tǒng)/游戲異步通訊系統(tǒng)/尋路算法/鍵盤控制/人工智能/…
設計原則
不要重復自己(Don’t Repeat Yourself) 業(yè)界已經有很多優(yōu)秀的局部框架,比如JSON、Mini Selector Engine、SWFObject、
誰在用JX
感謝
感謝團隊每一位成員做出的努力,有你我們會更精彩!
Tencent Alloy Team 2012
