## UI2前端框架基礎02:框架結構圖和目錄
本篇文章通過框架示意圖理解UI2的框架構成和核心,并對應介紹system目錄。
## UI2框架結構圖
## [](https://box.kancloud.cn/2015-09-22_560158f0baa65.png)
看框架結構圖,為了說明方便,每個框的左上角都做了數字標記。我們由底層向上理解:
* 最下層(框0)是模塊化框架,UI2目前遵循AMD模塊化標準,采用requirejs實現。這是UI2的基礎,UI2所有的資源(js、css、html等)都是模塊,都采用模塊化方式引入,采用模塊化方式管理依賴;
* 第二層(框1)是組件化框架,組件化框架提供組件規范和組件生命周期管理能力,組件化框架的實現本身也是js模塊,并且依賴公共模塊MVVM和JQuery;
* 第三層是具體的組件層,按照組件化規范實現的各種組件,每個組件有一個主js模塊代表該組件,除了這個主js模塊,每個組件還可包含多個js模塊、css模塊和圖片等其它資源。UI2已經提供了豐富的組件,UI2自身提供的這些組件基于bootstrap樣式庫。當然,如果希望采用別的樣式庫,也可引入別的樣式庫,并且基于此樣式庫來制作組件;
* 第四層頁面層,首先一個頁面由.w、.js和.css模塊構成,在邏輯上頁面由多個組件組成,同時頁面也可以包含子頁面。
## UI2框架的目錄組織
UI2框架核心在UI2/system/lib和UI2/system/components兩個目錄里。
### UI2/system/lib目錄
[](https://box.kancloud.cn/2015-09-22_560158f72654a.png)
system/lib 目錄里是UI框架的核心js源碼,這些js源碼是按模塊化的視角組織的,包含了很多js文件。
### UI2/system/components目錄
[](https://box.kancloud.cn/2015-09-22_560158f78b747.png)
system/components目錄里包含了UI2自帶的所有組件,有bootstrap組件、justep組件和標準html標簽。fragment組件稱為組合組件,就是對前面這些組件的常用組合形成再形成一個組件,方便使用。
## 模塊合并
lib和components目錄包含了很多js模塊(文件)、css模塊(文件),這些js文件和css文件會被壓縮合并成大的文件比如 core.min.js、common.min.js、comp.min.js等,運行時只會請求這些大的壓縮合并后的js,這樣請求的數量大大減少,可以加快運行速度。當然,如 果調試需要,也可以刪除大的壓縮合并js,這樣系統會自動請求小的js源碼,以方便調試系統的js。合適的js合并策略,可以提升頁面加載性能,根據常用 需求,系統已經配置好一套合并js的策略。當然如果有個性化需要,可以自定義如何壓縮和合并js包,而不用系統已經配置好的壓縮合并策略。關于這部分,后 續文章會講到如何自定義壓縮和合并js。
- 快速入門
- 第一個應用
- WeX5產品能力和技術
- wex5技術理念
- WeX5可以怎么玩?
- WeX5和BeX5比較
- UI2開發
- UI2前端框架基礎01:應用和頁面
- UI2框架基礎02:框架結構圖和目錄
- 組建基礎
- 編程基礎
- js引用
- css、text引用
- 設置資源依賴
- 代碼調試
- 數據組件
- Data組件基礎01:列、初始化加載狀態、行對象和游標
- Data組件基礎02:規則、數據遍歷查找
- Data組件基礎03:CRUD
- Data組件基礎04:Tree、主從數據、更新模式
- Data組件基礎05:再談Data組件新增,查詢,保存
- Data組件的JSON數據格式
- WeX5 & BeX5 頁面框架核心之數據綁定
- 數據綁定屬性系列
- 初識綁定
- visible綁定
- text綁定
- html綁定
- css綁定
- 頁面布局
- 頁面樣式
- 樣式基礎
- 添加自定義圖標(iconfont)
- 常用組件
- bar組件
- contents組件
- 前端路由和頁面跳轉
- 路由模塊
- 頁面跳轉
- 部署和發布
- 三種部署方式
- Web app部署
- UIServer的緩存機制
- 自定義組件開發
- 組件運行時開發案例
- 組件設計時開發案例
- 組件設計時開發參考
- 屬性編輯器配置和開發
- 自定義向導開發(waiting)
- 第三方庫集成
- 集成Echarts
- 集成百度和高德地圖
- App開發
- 打包
- App打包基礎和常見問題
- App打包原理和目錄結構
- App打包過程詳解
- App打包服務器環境搭建
- 蘋果證書申請 使用
- Android和IOS的本地應用圖標規范
- Android和IOS的本地App如何安裝(apk&ipa)
- 蘋果App部署HTTPS進行在線下載安裝
- 調試
- Android和IOS真機調試
- 插件
- 如何使用和擴展cordova插件
- cordova插件開發
- 常用cordovar插件
- SQLite插件
- 極光推送(JPush)插件
- 微信支付入門教程
- 微信、支付寶支付開發
- 服務端開發
- App與服務端交互原理
- 輕量級Baas(視頻)(文字) (.net版)
- Data組件的JSON數據格式11
- 微信服務號集成(視頻)
- 擴展學習資料
- bootstrap
- Knockoutjs
- JQuery
- requirejs
- phonegap/cordova