目录
主会场:
技术专场:
- 6. 使用 React 开发小程序 - Remax
- 7. Evolution: Serverless For Frontend - 探索下一代 Node 研发模式
- 8. 云凤蝶可视化搭建的推导与实现
- 9."云"端的语雀 — 用 JavaScript 全栈打造商业级应用
- 10. 蚂蚁金服 Web 3D 技术探索之路
- 11. 精雕细琢,打造极致可视化体验
第三届 SEE Conf 2020 视频回放&&PPT:https://www.yuque.com/seeconf/2020/slide
1. 体验科技与好的产品
SaaS产品的体验演进:
-
从无到有
数字化转型,让大量SaaS产品从无到有。 -
从有到美
大量产品从功能堆积到默认好看,颜值 = 进步。
颜值不仅仅关于视觉呈现,也需要从信息架构,功能排布等很多方面对产品进行重构 -
从美到好
努力让产品从默认好看到默认好用
好用 = 效用 + 爱用企业级SaaS产品领域:
一个好用的产品,需要在理性上好用,也需要在感性上好用。
好的产品要富有创意,创新,有用,易用,不放过任何细节,要美,要环保,要尽可能少的设计,要含蓄不招摇,要诚实,要经久不衰。
好的产品是诚实的,能做什么就做什么,不能做什么就不做什么,不对用户说谎,不忽悠欺瞒用户。
好的产品需要对用户有效用,对企业有利润,要可持续发展。
对用户的效用,即用户价值:用户价值 = 新体验 - 旧体验 - 替换成本
新体验往往来自新技术或新的商业模式。但对于企业中后台产品来说,新体验往往来自于产品功能的清晰梳理和产品流程的大幅简化。
2. 基于地域文化的设计创新
3. Ant Design 4.0:创造快乐工作
WIMP界面
- 让用户找功能
- 过渡依赖用户,容易走不通
- 过渡依赖意识触发,容易费脑力
- 面对海量功能,WIMP界面的人机交互局限
措施:
守正出奇: 增加主动式交互,让功能找到用户
例子:
- 支付宝收钱码,手机翻转一定角度,页面反转显示,有利于对方查看。
- 输入法优化,热词
让功能找到用户,节省用户脑力体力
资产
- UI资产
- 可视化资产
图表生成
智能工具:1. Kitchen图表生成(Sketch智能设计工具) 2. ChartCube(AntV在线工具,拖拽之间快速制作图表) - 图形化资产
HiTu
4. 决策机构体验科技 数字驾驶舱
数字驾驶舱: 一套沉浸式的,模拟场景的人机交互系统。
产业互联网 —— 社会数字化转型(必要性,必然性)
数字化转型依赖的基础:数字化转型需要依赖坚实的信息化建设
企业/政府机构可以推动:
- 工作流更精简,标准(进一步标准化,提高过程透明度)
- 信息传递扁平化(扁平化处理原本单向/线性的信息传递)
- 创造更便于协同的场景(打破部门间数据壁垒,提高团队协同性)
幻鹦(COCKA)数字驾驶舱
- 业务信息的数据中枢
- 决策思维的可视化载体
- 成果对外展示的窗口
艺术化:
设计师应当尽最大的努力,去创作一种最强有力,最纯粹,最准确的形式来传达意义表现意像。
启发性:
设计师的智慧不仅表现在审美形式的布局与构造上,同时还表现在这些形式所传达的意义的深刻程度上。
三位一体解决方案:
- 市场(政府机构,企业)
- 中台(丰富的组件资产积累,作品制作全流程覆盖,作品部署运维监控)
- 生态(大量中小生态企业,开发经验丰富)
Cocka Studio 1.0 (没开源,仅对生态公司开放)
- 组件资产库
- 核心能力
大规模场景自动化生成管线
大规模实时分布式渲染框架
基于JavaScript业务开发
可视化拖拽配置Studio
实时数据接入,推送能力 - 配套设施
数据接入平台
运营配置平台
运维播控系统
控制端
5. 智能可视化体系AVA
https://github.com/antvis/AVA
ChartCube
https://chartcube.alipay.com/
AntV 在线图表制作工具 拖拽之间快速搞定图表制作
图表推荐原理:
- knowledge 知识库
图表类型:名称,定义,分析目的,所需数据,涉及通道。。。 - rule 推荐规则
HARD 硬性规则:- 字段属性检查
- 分析目的检查
- 冗余字段检查
- 。。。
SOFT 软性规则: - 分类数量评估
- 数值差异评估
- 相关性评估
- 。。。
- advisor 推荐器
智能可视化的未来 - 研发态: 全智能图表推荐,代码极简
- 阅读态:交互分析组件智能增强
- 分析态:运行时的可视分析智能辅助
6. 使用 React 开发小程序 - Remax
7. Evolution: Serverless For Frontend - 探索下一代 Node 研发模式
Node.js能胜任BFF么?
- 语言层面,Node.js是完备的,足够胜任BFF的主要场景。
- BFF要求服务自治,但不限制技术选型。
- 缺“沉淀”
基础设施的建设和完善
最佳实践的沉淀和积累
人员能力平均水平的提升
做的沉淀:
- 框架: Egg && 插件生态
统一开发约束,降低团队的沟通成本 - 中间件服务
融入后端生态。分布式配置,缓存,限流,熔断。。。 - 平台能力
AliNode问题定位,TNPM包管理,研发管控平台,应用治理。。。 - BaaS服务
常用能力下沉,如渲染服务,消息服务,文件服务,构建服务
遇到的问题:
- 学习成本
额外的服务端,运维相关知识的学习成本 - 治理成本
依赖升级,锁版本,中间件服务跨语言SDK的维护成本 - 招人难
大爆炸时代,前端设计的领域太多,人员储备不够,培养成本高 - 资源利用率
BFF通常的水位较低(< 30%)微服务的高可用诉求,导致资源浪费
Serverless For Frontend
为高效地开发人机交互界面提供无感的服务能力
接口模型标准化
- 元数据 -> 前端SDK
自动生成前端Client SDK
屏蔽终端兼容性
屏蔽协议细节 - 元数据 -> 后端SDK
自动生成后端SDK
屏蔽协议细节:不管是后端TR服务,DB服务,通通标准化为BaaS的调用方式 - 服务编排能力
- 压测 + 容量评估
自动生成压测脚本
配合Serverless自动扩缩容
即可预估峰值容量 - And More…
自动生成接口文档
Mock接口
在线调试接口
自动生成回归测试数据
Serverless 免运维
- 支持k8s, FC等Serverless引擎
- 根据流量自动扩缩容,精细化部署,高密度部署
- Servicemesh降低中间件服务的异构语言 SDK 维护成本
- 标准化的Serverless YML
8. 云凤蝶可视化搭建的推导与实现
文档:https://www.yuque.com/seeconf/2020/yunfengdie#7Ipxc
云凤蝶:面向中后台产品的快速研发平台
云凤蝶技术实现:
- 组件识别与导入
1.组件导入功能:
- 一方面云凤蝶会采用 TypeScript 当做 Parser 来分析 npm 包的类型信息得到组件元信息
- 另一方面云凤蝶会用 Webpack 来二次构建你的 npm 包得到一个可执行的组件入口文件,最终运行时则会采用 SystemJS 来加载这些组件,并且灌入用户的配置数据完成渲染。
2. 组件拖拽与组合
第一种流派:DSL流派
像下面的 SwiftUI 这种的,半边屏幕是写代码的,半边屏幕是拖拽视图的,两者之间双向等价转换,用户可以按自己的口味选择。
缺点:
对用户的专业技能要求高,学习成本比较高
优点:
一旦熟练之后,确实效率杠杠的,因为本质上就是在写代码了。
第二种流派:半自由流派(Flex 流式的编排或者 Grid 栅格网格式的编排)
优点:
在特定的垂直场景下非常高效,比如:一行一行排版的 Form 表单
缺点:
适用的场景比较有限
第三种流派:自由画布(类似设计师用的 Sketch,PD 用的 Keynote 那样的自由编辑模式)
云凤蝶自由画布之道:分层模型:https://zhuanlan.zhihu.com/p/97768853
云凤蝶如何打造媲美 sketch 的自由画布:
https://zhuanlan.zhihu.com/p/92469406
-
云凤蝶会依靠“位置直接被包含”的一个算法去识别出组件树。
-
这个算法的最核心原理就是基于一个非常简单的判定:每个组件都是一个矩形盒子,如果一个组件的矩形盒子面积直接被另一个组件的矩形盒子包含了,那我们就认为它们是直接父子关系。
-
第二个问题是自由拖拽摆放从用户的感受上来说是它绝对定位的
-
那么运行时如何转换为 CSS 的相对定位呢?毕竟在运行时我们还是要还原成一个普通的自适应的 Web 页面的。
-
这里依赖的原理则是另一个“行列格式化”的算法,它是指将一个页面里面摆放的所有元素进行从顶向下递归的行列切分,像切豆腐一样,将一个巨大的页面分割为一个一个的小行列,这样大的绝对定位就化解为小的局部的相对定位了。
3. 组件配置与扩展
第一类所谓“横向“扩展
- 就是指云凤蝶会用 HOC 高阶组件的原理去包裹原始组件,给它附加非常多它本身并不具备的一些通用高阶能力
- 比如链接跳转,悬浮提示,loading,条件渲染,重复等等。
第二个所谓”纵向“扩展
- 是指云凤蝶采用了一套实体 Loader 的机制去扩展属性值类型,也就是在云凤蝶属性面板上,你除了可以配置 JavaScript 基本类型,比如字符串,数字等等,还可以配置许多特殊的”实体“类型
- 如:
- 数据绑定:属性的值既可以是静态的数据,也可以是动态的来自某个变量,或者来自服务端
- 图片素材库:图片地址可以是静态,也可以从第三方素材库挑选
- 国际化文案
- iconfont
- …
云凤蝶的 Runtime 也就是运行时,会递归地扫描组件的属性配置数据,调用对应的实体 Loader 进行翻译。
4. 组件布局自适应
云凤蝶在调研过后设计了一套类似 ios AutoLayout 的规则系统
为什么云凤蝶不直接采用 CSS 布局体系?
我们主要的考虑是因为两点:
- CSS 由于它的不成交性和多范式 (所谓多范式,是指它多版本更迭而且一直向下兼容,新老体系共存导致实现一个功能有多种解决方案),它还是过于复杂了。
- 而实际需求上中后台场景的布局模式相对收敛,可能用不上整套 CSS 的强大能力。
5. 组件状态与联动
9. "云"端的语雀 — 用 JavaScript 全栈打造商业级应用
文档:https://zhuanlan.zhihu.com/p/101917567
10. 蚂蚁金服 Web 3D 技术探索之路
互联网产品游戏化
业务背景:
- 业务视角:提升业务的趣味性和商业转化数据
- 技术视角:储备3D图形技术的开发能力
技术调研:
- Web-based(three.js, babylon.js)
非移动优先
工作流太弱 - Native-based(unity, Unreal Engine )
非Web优先
上手成本过高
自研3D引擎: Oasis 3D
- 以Web为基础,面向前端工程师
- 移动优先,极致性能
- 适合蚂蚁金服的业务与技术发展
Oasis 3D引擎
官网文档:https://oasis-engine.github.io/#/
- 架构
- 渲染
- 动画
架构
渲染
动画
Oasis 3D引擎总结:
- 微内核架构,组件式扩展
- glTF2.0及配套PBR材质支持
- 丰富多样的动画系统
Oasis 3D工作流
- 资产: 资产云端标准化,打通资产市场
- 编排: 能力编排和动画编排可视化
- 协作: 与设计和前端开发顺畅协作
11. 精雕细琢,打造极致可视化体验
AntV
- 架构升级——G2 4.0
- 打磨图表细节体验——G2Plot
架构升级 G2 4.0
https://github.com/antvis/G2Plot
G2 4.0
约束布局
Auto Padding vs 约束布局
约束布局
约束布局:
- 将画布布局问题转化为数学问题
- 解除了组件依赖关系带来的代码耦合
- 强大的布局能力,是响应式图表的基础
约束布局可以解决图表在静态绘制上的带来的遮挡,裁剪等体验问题
交互语法