【SDU Chart Team】22.04.10 第七次会议

会议概要

仍然遵循第五周提出的目标:第五次会议

但是具体设计被修改,部分计划需要变更。由于其他因素,更改了中期目标。

进度与问题

前端
  • 进度

    正在进行Demo制作,已解决socket通信问题,目前尚未实际调用后端。

  • 问题

    对前端边界不明确。(会议中已结合设计思路明确)

后端
  • 进度

    正在进行Demo制作,目前尚未被前端调用。

  • 问题

    基于测试代码,过程未评估?(会议中暂不考虑具体实现细节,先实现给定功能为最高优先级)

文字
  • 进度

    正在进行文本编辑组件制作。

核心
  • 进度

    已完成部分抽象SVG接口;结合上一次会议改变了设计。

  • 问题

    部分设计不够明确(已在会议中明确)

中期目标改变(第八周)
  • 前后端

    由于其他因素,目前进展缓慢。重新划定目标,仍然为前后端Demo,其中应具有以下功能:

    • 创建图形
    • 画布缩放、移动
    • 关键点的移动
    • 图形的拖动
    • 组件:直线、矩形、…(其他视情况)
    • 撤销、重做
    • 删除
    • 保存图片
    • (画布网格)
    • (Markdown)
  • 核心

    完成大部分抽象SVG定义与实现,完成常用动态SVG定义,进行编译测试和功能测试。

  • 文字

    完成文本编辑器组件设计与实现。

设计改动


设计思路经历了大改,结合上周会议具体改动如下:

  1. 前端由Canvas渲染改为DOM渲染,且渲染细粒度化,变更为DOM对象与属性级别。(由实验性的渲染性能测试决定此次改动)
  2. 将组件逻辑彻底非流程化,摒弃原有的“关键点-路径点-SVG元素”思路,使得设计更自由。
  3. 明确了底层职责,并非定义通用的组件,而是定义一个框架,并作为前端的替身,然后逻辑进行适配;由后端实现组件逻辑。
  4. 考虑到许多操作需要完全借助前端进行(仅Web中含有的接口,需要使用前端上下文;重新实现太过于麻烦),因此前后端接口的重要性提升。
  5. 上述设计中,Javascript组件对象和C++组件对象具有等价性、抽象SVG对象与DOM的SVG对象具有等价性,使得前后端一体化。
  6. 关于为何不采用纯前端:① 提升性能:脚本时间大于绘制时间,因此主要逻辑使用静态编译有利于提速,且可利用编译优化 ② 规范性:采用面向对象思想将组件的框架规范化,明确过程且保留一定自由度 ③ 降低逻辑复杂性:将SVG抽象化,然后进行逻辑适配,使得SVG变为动态对象,减少其中的重复操作与逻辑复杂性

结合新设计的中后期目标(第九周到十二周)

有以下技术热点:

  1. 通信部分:如何实现Socket前后端的通信协议,即进程间相互调用
  2. 组件部分:核心完成框架;接着是后端对组件的实现;最后时前端定义隐藏部分细节的组件(可无限向后进行)
  3. SVG部分:前端的解释器、核心的动态SVG
  4. 文字部分:Latex及其他文字技术
前端
  1. 完成Socket协议前端部分(通信部分)
  2. 协同后端组件,实现对应的前端组件(组件部分)
  3. 协同核心中的SVG接口,实现对应的解释器(SVG部分)
  4. 其他(关于Markdown、Echart等和前端绑定的内容)
后端
  1. 完成Socket协议后端部分(通信部分)
  2. 实现后端组件具体逻辑(组件部分)
  3. 对SVG接口的转发(SVG部分)
  4. 其他(性能优化等)
核心
  1. 抽象SVG和动态SVG的完全实现(SVG部分)
  2. 框架设计、验证、调整(组件部分)
  3. 工作指导
  4. 其他(性能优化等)
文字
  1. Latex支持
  2. 其他支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值