从前端技术上来说,有数首先是一个复杂的 SPA,整个 codebase 有着几十万行代码。前端框架用的是网易自研的[Regularjs](
https://github.com/regularjs/regular)。Regular 的原理和 React 是相似的,都是 pull-based 的更新方式,所以可以借鉴 React 的一些开发理念,也可以使用 React 生态的一些项目。最复杂的报表编辑页面,我们用 Redux 作为状态管理,可以像做 PPT 一样拖出一个专业的报表。报表的编辑也是很复杂的,因为数据分析的业务本身是比较复杂的。有数的报表编辑页面至少会有 100 多个组件组成,如何去理清其中的逻辑是一个很大的挑战。其他技术栈的话,我们的 CSS 预处理器,前端路由,框架 devtool 等等都是都是杭研自研的。当然我们也用 webpack 和 babel 这样的主流技术。总的来说我们会选择最合适的技术去完成有数平台的搭建。
数据可视化方面,我们有自研的私有图表库 nev (基于 canvas ),和 nev-lite (基于 d3.js )。这部分是由一个专门的小团队负责的。
后端我们用的是 nodejs,所以在有数你会有很多机会接触 nodejs 相关的开发,不仅仅只限于前端。我们也在积极研究服务端渲染等等技术。
除了前端之外,有数还有很多大牛,具体可以看有数的官网。
所以如果你想接触复杂的大型前端应用,或者对数据可视化方向有兴趣,有数是一个不错的选择。有数是一个比较年轻的团队,因此会有很多的发挥空间。另外有数在商业化上也已经开始发力了,这一年有数有了自己的市场团队,所以未来在销售上,应该会有不错的增长。