-------------------功能需求
1.界面的可變
2.核心邏輯的不變
3.操作的便捷性
4.界面編輯器
-------------------界面的本質(zhì)
1.圖元的組合
2.事件的響應(yīng)
3.動態(tài)數(shù)據(jù)
--------------------界面的共性
1.區(qū)域性
2.相對位置可變性
3.特性: (狀態(tài)機,選擇器等)
--------------------編輯器的功能
1.主框架樣式選擇(決定界面的工程類型)
2.控件的拖放
3.控件的屬性設(shè)置
4.遮罩層的處理
5.編輯器的產(chǎn)物: (皮膚文件,調(diào)用邏輯關(guān)系的腳本文件,腳本必須加密)
---------------------皮膚與APP的整合
1.由皮膚初始化資源生成界面(不存在工程界面類型)
2.由APP代碼創(chuàng)建實現(xiàn)邏輯,實現(xiàn)邏輯中可以動態(tài)地調(diào)整或修改已加載的皮膚
3.腳本決定了APP的所有執(zhí)行鏈路,但是腳本并不含有實質(zhì)性的邏輯
----------------------引擎對象
1.界面引擎
2.腳本引擎
----------------------結(jié)果分析:
1.界面可通過編輯器修改風(fēng)格(但是屬性方法等不可修改)
2.開發(fā)效率: 取決于編輯器的功能是否達到足夠細(xì)節(jié)以及腳本語言的復(fù)雜程度
3.功能變更:需要更新核心APP,如果界面有變更,需在APP中動態(tài)地修改界面
4.不足: APP中需要調(diào)整界面的部分耦合,如果這部分依賴于另1個腳本文件,可解耦
5.維護性: 界面和腳本通常不變或變化不大,核心APP可單獨升級