共计 3335 个字符,预计需要花费 9 分钟才能阅读完成。
概览
因为长期在做跟阿里云飞天大数据平台相干的前端工作,也始终在思考一个问题:“大数据的前端跟其余业务的前端有什么不一样”,具体来说就是,在大数据和人工智能的浪潮下,到底对前端技术的倒退带来了什么影响。
以团队在负责在做的阿里云飞天大数据平台为例,从在 2009 年写下第一行代码,当初曾经是阿里大数据倒退的第 11 个年头。我是 2011 年退出阿里的,之后就始终在负责做大数据相干的前端工作,基本上参加了阿里绝大部分大数据倒退的历史进程。当初回头看,很庆幸本人在一个历史的改革期间入行,更有幸见证了一些划时代意义的数据产品的诞生,以及它们对前端技术带来的改革。
如果咱们把 2010 年当做大数据 Web 产品利用的元年,会发现它是一个乏味的年份,为什么这样讲?
回看前端的倒退历史,在 2005 年前后有一波大的技术改革,就是从 Web1.0 到 Web2.0 的过渡。
在此之前,前端更多地是做纯内容的动态展现,比方下图中的那个期间的苹果和雅虎的官网。
之后前端开始逐步做成复交互的动静网页,这其中一个重要的历史性标记就是 Gmail 对 Ajax 等新技术的利用。
而在 2010 年前后,各种大数据利用进入一个暴发期间,阿里很多出名的利用根本都在那段时间展露头角,当初回头再来看那段历史,这其中很大的一个起因,随着互联网的大倒退,特地是 Web2.0 之后,数据的有了大暴发的增长。
下图就很好地展示了这个趋势,如果说之前的 Web 利用更多在“产生”数据阶段,那在 2010 年之后如何更好的“展示”数据被提上了新的高度,很多前端技术也因之关上了新的篇章。
前面会联合本人的实际,以三条主线来讲讲数据智能浪潮对前端技术倒退的影响,别离是数据可视化,软件泛 Web 化和交互多样化。
数据可视化
大数据浪潮下,最显著的一个特色就是数据的指数型增长,从上图中就能看到这个趋势,随之而来的挑战就是如何更形象地展示数据并进行交互展现,也就是咱们通常讲的“数据可视化”。
回到技术自身,那数据可视化对前端最大的影响应该是大大促成了 SVG,Canvas 和 WebGL 的倒退。
而这当中,除了浏览器底层技术的降级,在下层可视化库和可视化利用也涌现了大量优良的作品,其中佼佼者包含:
- 开源技术组件层面
- AntV
- Echarts
- HighLights
- …
- 重数据可视化的产品
- 阿里云大屏可视化产品 DataV
- 阿里云的 Quick BI
- BI 剖析工具 Tebleau
- 特色畛域的剖析产品,比方 Plantir
在业余的细分畛域,比方天文,安防,新批发,等畛域中不同场景就有很多机会。具体比方在咱们阿里云的一站式大数据开发治理平台的 DataWorks[1] 产品就有用于做流程编排的 DAG,图剖析 [2],数据的血统剖析等有意思的可视化。
软件 Web 化
大家最近应该留神到一个景象那就是:Web 零碎做得越来越简单,很多原先桌面端的复交互利用逐步“泛 Web 化”,甚至很多利用一上来就是 Web 的技术做第一版。
这里说的泛 Web,从体现中又能够分为两种:
一是间接用前端技术去做桌面软件,其中标志性事件就是 NW.js 和 Electron 在 2013 起步后的蓬勃发展;大家相熟的 IDE VSCode 就是这当中的典型代表;阿里的桌面版钉钉 UI 层大量用到的 Web 的技术。
另外一种就是间接在 Web 上实现,比方 大家最近能看到各种 Web’X’ 零碎(Google Docs)。
这背地推动力,一是随着浏览器相干逐步走向对立,用它的技术能够更便捷地实现跨端,另一个就是云计算大数据的衰亡,特地云端的存储和算力逐步冲破了原先的本地 PC 的性能边界,因此重塑了原先人机交互的入口。
对于跨端的益处自不必多讲,我想想重点讲讲第二点。要讲这个逻辑,我又得简略讲讲计算机的倒退,从占地 170 平方米的世界上第一台通用计算机“ENIAC”,到苹果和微软时代的集体 PC,挪动时代的 iPhone 和 Andriod,再到云计算时代的大型计算集群。
对开发者工具而言,之前前很多软件很多都是本地,因为它往往用本地 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% 的人将管制将来,成为他们或者被淘汰”。冀望各位前端同学都能在这波数据智能化的浪潮中找到本人的定位。
写在最初
如果大家对这块感兴趣,也心愿来阿里巴巴一起做大数据和人工智能相干的工作,随时欢迎私信或者发简历给我:jifeng.zjd@taobao.com。大家一起单干,做件有意义的事件,团队长期招人。
相干链接
[1]https://www.aliyun.com/product/bigdata/ide
[2]https://zhuanlan.zhihu.com/p/132393588
[3]https://www.zhihu.com/question/56560321/answer/203249193
[4]https://zhuanlan.zhihu.com/p/115377444
[5]https://github.com/antvis/AVA
[6]https://github.com/alibaba/pipcook