CoreUI重构设计文档

1.现有架构


存在的问题

  1. UI的复用问题,重复开发
  2. 应用端缺乏一个成熟的框架来约束

2.新的架构

设计决策

  1. 跟UI相关的逻辑适用MVVM架构,不局限于播放组件,也适用于应用端
  2. 理想情况下,播放组件的UI仅仅保留跟元器件相关联的UI, 其它UI应该由各个应用端自己维护
  3. 对现有的CoreUI做拆分业务逻辑剥离出来,可共用的业务逻辑放在CoreViewModel中
  4. 不同平台的播放组件的UI组件,由各自的View层实现。
  5. CoreUI可能会依然存在,但只有公共的UI控件
  6. 以上设计需要有一个支持MVVM的基础框架,目前有找到一个
    参考资料
    https://cloud.tencent.com/developer/article/1390650
    国外的git地址访问比较慢,可以用这个git地址下载仓库
    https://gitclone.com/github.com/vovgou/loxodon-framework.git

3.仓库说明【临时】

仓库 仓库说明 仓库地址
vlabplayerview3d 播放组件-3D相关的View和代码仓库 http://git.sdp.nd/component-dll/vlabplayerview3d.git
vlabplayerviewpad 播放组件-PAD相关的View和代码仓库 http://git.sdp.nd/component-dll/vlabplayerviewpad.git
vlabplayerviewvr 播放组件-PAD相关的View和代码仓库 http://git.sdp.nd/component-dll/vlabplayerviewvr.git
VLab_UIFrame 从现有编辑器重构仓库中剥离出的MVVM的框架 http://git.sdp.nd/NDVlabFrameGroup/VLab_UIFrame.git
VLabAssetBundle AssetBundle组件代码仓库 http://gerrit.sdp.nd/vlab-projects/VLabAssetBundle.git
vlab-ui UI框架核心、Widgets、窗体相关 http://gerrit.sdp.nd/a/component-dll/vlab-ui
vlab-CorePlayer 运行与验证现有播放组件的最小仓库 http://git.sdp.nd/vlab-projects/vlab-CorePlayer.git

4.重构涉及的界面清单

UI功能名称 3D支持 VR支持 PAD支持
XXX YES NO NO