阿里开源GCanvasG3D和BindingX:提升跨平台交互体验
Posted 前端之巅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里开源GCanvasG3D和BindingX:提升跨平台交互体验相关的知识,希望对你有一定的参考价值。
近日,阿里一口气放出三个前端开源项目,分别是跨平台图形渲染引擎 GCanvas、基于 WebGL 的 javascript 3D 绘图引擎 G3D 和基于 weex/React Native 的富交互解决方案 BindingX,这三个项目增强了跨平台前端交互性能和开发能力,降低开发成本。我们采访了淘宝高级技术专家寒冬,了解这三个开源项目背后的故事。
GCanvas:https://github.com/alibaba/GCanvas
G3D:https://github.com/alibaba/G3D
BindingX:https://github.com/alibaba/bindingx
嘉宾介绍:
InfoQ:开源的三个项目是交互基础设施的工作么?能否简单介绍这三个项目,为什么选择这三个项目以及这个时机开源?
寒冬:BindingX 和 GCanvas 都是我们在 WeexConf 上承诺的开源,不过开源本身也是我们的长期计划,至少计划了一年了吧。
BindingX 是从 Weex 项目中诞生的一种模式,它的核心思想是通过表达式在输入和输出之间建立一个连接,这比我们常见的"事件 - 响应"模型抽象上更高一层,限制了一定的自由度,但是它带来的好处是声明式编程和 Native 通讯的亲和性,通过 binding 模式,我们可以避免 JS 和 Native 的频繁通讯,从而提升性能。
GCanvas 和 G3D 两个项目,其实是一体的,GCanvas 提供底层的图形能力,G3D 提供上层的 3D 模型。
GCanvas 这个项目历史悠久,大概在 13 年就在淘宝出现了,最早是为了解决 android 上的性能问题的,那个时候我还是它的用户,后来到了 Weex 和 React Native 这样的框架出来,我们发现了它的新场景。而实际上 G3D 这个项目,我们经历了很多纠结,寻找它和业内知名的 ThreeJS 和 BabylonJS 这样的库相比价值在哪里,后来我们找到了它和 GCanvas 的结合点,那就是我们要做一个纯粹的不依赖 DOM,只依赖 WebGL 的 3D 框架,后来两个项目就一起开源了。
InfoQ:接下来你们团队还有哪些开源计划?能否谈谈你们的开源思路和开源前的准备?
InfoQ:当维护的内部工具和开源工具多了,你们是如何管理以及维护这些工具的?如何避免陷入疲于维护的状态?
寒冬:我们做技术有一个架构原则,叫开放封闭原则:对修改封闭,对扩展开放。我觉得这个也适用于技术产品,想清楚什么该放出去,什么该收回来,就不会因为维护而把人力都消耗掉。不断推进产品演进,又不阻碍客户在上面完成自己的任务,这是最好的状态。
我看到很多很好的开源产品,都是不断地替用户做事,结果越来越臃肿,希望我们能够避免这个问题。
InfoQ:你认为前端交互基础设施的边界在哪里?你们团队注重哪些问题的解决,以及攻克优先级是怎样的?
寒冬:所谓交互,在我理解是一来一回,视图和输入以及它们之间的联系就是我们团队的职责。在这个理念下,我们产生了从前端框架 Rax,BindingX,GCanvas 和 G3D 等开源产品,除了这些看得见的技术产品,我们还有一些架构模式上的探索。我们这个团队的目标分成两部分,一部分是研发体验和效率,另一部分是探索和创新,具体问题的优先级,是根据业务团队的需要,以解决问题为导向的。
InfoQ:既然是基础设施,如何衡量投入产出比以及如何考核团队及项目的优异?
寒冬:我们的考核是客观指标和主观判断相结合的,业务团队的满意度、项目的影响范围、服务的 BU、开源社区的影响力,这些是客观的,设计的创新性、前瞻性以及开发体验,这些是主观的。
关于投入产出比,其实我倒不太关心,我比较关心的是产出,如果产出是能够引领新时代的、激动人心的那么加班、招人、找老板打滚要资源,也想把它做出来看看啊。
InfoQ:为什么说新交互永远是花费时间最多的工作?建设前端交互基础设施是一个好的解决方案么?
寒冬:我把新交互理解为一种实用性的艺术,艺术是有潮流的,每年都会不一样,所以在交互上的创新永远不会停止。
交互基础设施肯定是要有的,我认为设计师是交互创新里面感性的部分,而前端则是在交互创新里面理性的部分,设计师能够感知和引导用户的需求,保障新交互是能够让用户喜欢,我们建设基础设施,就是要保障这些创新是螺旋"上升"的,不能原地打转。
用户的要求看似兜兜转转,实际上是在不断提高的,今天拿出 Windows 98 的方框按钮滚动条来,大家都接受不了,当年那还是觉得挺惊艳的。如果没有这些基础设施,也许明年的新交互就做不出来了,或者要花费几倍的人力去做,逐渐团队就会被这样的研发成本拖垮。
InfoQ:如何看待目前的前端生态?您认为前端的下一个里程碑会是什么,为了达到这些里程碑目前的障碍有哪些?
寒冬:目前前端生态仍然是健康活跃的,不过同样也是比较初级的阶段,应该说是发展快但是成果少吧。
下一个里程碑就不好预测了,不负责任地瞎猜一下,我觉得图形学这样的东西未来应该成为前端的基本技能了吧,发展到一定阶段大家肯定不满足于用脚本排列组合改改属性,要开始自己画东西了吧——所以 GCanvas 前景我还是很看好的。
「前端之巅」是 InfoQ 旗下关注大前端技术的垂直社群。紧跟时代潮流,共享一线技术,欢迎关注。
活动推荐:
以上是关于阿里开源GCanvasG3D和BindingX:提升跨平台交互体验的主要内容,如果未能解决你的问题,请参考以下文章