这里说的泛 Web从表现中又可以分为两种 AI和大数据下前端发展怎样?( 二 )


对开发者工具而言 , 之前前很多软件很多都是本地 , 因为它往往用本地 PC 的计算力就够了 , 但大数据的场景下计算本地算力肯定是不够的 , 它是依赖云端的计算集群(以我们阿里飞天大数据平台而言 , 我们已经 10 万台计算集群的规模) , 如何在用户侧用上更方便和灵活地使用这些算力就是我们前端重点要做的 , 而这是原先软件的架构要不不能让你做定制 , 要不定制的成本很高(有时候甚至超过了重新做一套的成本) , 因此很多系统会选择重新起航做一版 。
这其中 , 我们负责阿里云的 Dataworks 中的两大件:WebIDE 和 WebExcel  , 就非常典型的例子 。
Dataworks 从一开始就是根据云原生的思路设计开发的 , 后端需要通过云计算提供强大的算力替换原先的本地算力 , 前端需要实现更精巧的架构设计来对应日益复杂的交互能力;具体到我们的应用 , 它包括但不限于:

  • 架构层面
  • 状态管理
  • 插件化
  • ...
  • 复交互的组件
  • Editor
  • Form/Excel
  • Tree
  • Logivew
  • ...
交互多样化最近今年在以数据驱动的人工智能的大力发展下 , 特别在图像识别 , 语音识别 , 自然语言处理方面获得了很大的突破 , 让前端的新交互也获得了长足的进步 。
UX
在面向使用者(UX)产品由 GUI(Graphical User Interface)变成 XUI , 用户不仅可以用通过鼠标键盘方式操作图形界面 , 更可以通过面部表情 , 身体动作 , 语音交互等形式提供新的交互形态 。
下图就是在 2016 年左右 , 我们在阿里云ET中一些人机对话 , 互动游戏中的一些实践 , 具体可以看这里[3] 。
这一轮的技术变革 , 有两个大的宏观的背景 。
AI 技术的第三波潮起
随着 2010 年前后 , 深度学习技术的成熟 , 计算力的提升 , 以及互联网时代积累的大数据财富 , 人工智能技术开始一段与以往大为不同的复兴之路;分别在语音识别 , 图像识别 , 自然语言处理等相关技术上获得根本的突破 。
例如 ,  2012 年到 2015 年 , 在代表计算机智能图像识别最前沿发展水平的 ImageNet 竞赛(ILSVRC)中 , 参赛的人工智能算法在识别准确率上突飞猛进 。 2014 年 , 在识别图片中的人、动物、车辆或其他常见对象时 , 基于深度学习的计算机程序超过了普通人类的肉眼识别准确率 。
下图就摘自李开复老师的《人工智能》就体现了这个趋势:
WebRTC
对于前端来讲 , 另一个必备条件就是 WebRTC (Web Real-Time Communication)技术的成熟 , 它于 2011 年 6 月 1 日开源并在 Google、Mozilla、Opera 支持下被纳入万维网联盟的 W3C 推荐标准 。 通过它 , 前端可以便捷地处理图像 , 视频 , 语音等内容 。 大家目前看到很多有意思的交互底层就是依赖他 。
DX
在面向前端开发者(DX):智能化手段可以提升我们的研发效率和体验 , 以我们阿里和蚂蚁自身的实现看 , Imgcook(D2C:Desgin to Code) , 代码智能提示[4] , 智能可视化 AVA[5] , 前端机器学习 pipcook[6] 都是挺有意思的尝试 。

总结以上就是我在实践中关于数据浪潮下前端技术发展的一些思考 。 当然前端技术技术这几年能获得这么长足进步 , 除了数据智能 , 其他大趋势(比如移动互联 , 5G , IoT)也深刻影响了前端技术的走向 , 但这些就不在本文讨论的范围内 , 有机会再跟大家讨论 。
一直很喜欢吴军在《智能时代》一书中提到的一个观点:“2% 的人将控制未来 , 成为他们或者被淘汰” 。 期望各位前端同学都能在这波数据智能化的浪潮中找到自己的定位 。 。

推荐阅读