-------------------功能需求
1.界面的可变
2.核心逻辑的不变
3.操作的便捷性
4.界面编辑器
-------------------界面的本质
1.图元的组合
2.事件的响应
3.动态数据
--------------------界面的共性
1.区域性
2.相对位置可变性
3.特性: (状态机,选择器等)
--------------------编辑器的功能
1.主框架样式选择(决定界面的工程类型)
2.控件的拖放
3.控件的属性设置
4.遮罩层的处理
5.编辑器的产物: (皮肤文件,调用逻辑关系的脚本文件,脚本必须加密)
---------------------皮肤与APP的整合
1.由皮肤初始化资源生成界面(不存在工程界面类型)
2.由APP代码创建实现逻辑,实现逻辑中可以动态地调整或修改已加载的皮肤
3.脚本决定了APP的所有执行链路,但是脚本并不含有实质性的逻辑
----------------------引擎对象
1.界面引擎
2.脚本引擎
----------------------结果分析:
1.界面可通过编辑器修改风格(但是属性方法等不可修改)
2.开发效率: 取决于编辑器的功能是否达到足够细节以及脚本语言的复杂程度
3.功能变更:需要更新核心APP,如果界面有变更,需在APP中动态地修改界面
4.不足: APP中需要调整界面的部分耦合,如果这部分依赖于另1个脚本文件,可解耦
5.维护性: 界面和脚本通常不变或变化不大,核心APP可单独升级