关于数据智能浪潮对前端技术发展影响的一些思考

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 在大数据和人工智能的浪潮下,到底对前端技术的发展带来了什么影响?

作者 | 继风

长期在做跟阿里云飞天大数据平台相关的前端工作,也一直在思考一个问题:“大数据的前端跟其他业务前端团队有什么不一样”,具体说在大数据和人工智能的浪潮下,到底对前端技术的发展带来了什么影响。

以团队在负责在做的阿里云飞天大数据平台为例,从在 2009 年 写下第一行代码,现在已经是阿里大数据发展的第 11 个年头;我是 2011 年 加入阿里,之后就一直在负责做大数据相关的前端工作,基本上参与参与阿里绝大部分大数据发展的历史进程,现在回头看,很庆幸自己在一个历史的变革时期入行,更有幸运见证了一些划时代意义的数据产品的诞生,以及它对前端技术的变革。
image.png
如果我们把 2010 年当做大数据 Web 产品应用的元年,会发现它是一个有趣的年份,为什么这样讲?

回看前端的发展历史,在 2005 年前后 有一波大的技术变革,就是从 Web1.0 到 Web2.0 的过渡。在此之前前端更多的是做纯内容的静态展示,比如下图中的那个时期的苹果和雅虎的官网。
image.png
之后前端开始逐渐做成复交互的动态网页;这其中一个重要的一个历史 标志性 就是 Gmail 对 Ajax 等新技术应用。
image.png
而在2010年前后,各种大数据应用进入一个爆发期间,阿里很多知名的应用基本都在那段时间展露头角,现在回头再来看那段历史,这其中很大的一个原因,随着互联网的大发展,特别是 Web2.0 之后,数据的有了大爆发的增长。下图就很好地展现了这个趋势,如果说之前的 Web 应用更多在“产生”数据阶段,那在2010年之后如何更好的“展现”数据被提上了新的高度,很多前端技术也因之打开了新的篇章。
image.png
后面会结合自己的实践,以三条主线来讲讲数据智能浪潮对前端技术发展的影响,分别是数据可视化,软件泛 Web 化和交互多样化。

数据可视化

大数据浪潮下,最明显的一个特征就是数据的指数型增长,从上图中就能看到这个趋势,随之而来的挑战就是如何更形象地展现数据并进行交互展示,也就是我们通常讲的“数据可视化”。回到技术本身,那数据可视化对前端最大的影响应该是大大促进了SVG,Canvas 和 WebGL 的发展。
image.png
上图引用月影老师在《跟月影学可视化》中讲述web前端与可视化的关系和不同

而这当中,除了浏览器底层技术的升级,在上层可视化库和可视化应用也涌现了大量优秀的作品,其中佼佼者包括:

开源技术组件层面:

  • AntV
  • Echarts
  • HighLights
  • ...

image.png
重数据可视化的产品

  • 阿里云大屏可视化产品 DataV
  • 阿里云的 Quick BI
  • BI分析工具 Tebleau
  • 特色领域的分析产品,比如 Plantir

image.png
在专业的细分领域,比如地理,安防,新零售,等领域中不同场景就有很多机会 具体比如在我们阿里云的一站式大数据开发治理平台的 DataWorks 产品就有用于做流程编排的 DAG,图分析,数据的血缘分析等有意思的可视化。
image.png

软件 Web 化

大家最近应该注意到一个现象那就是:Web 系统做得越来越复杂,很多原先桌面端的复交互应用逐渐 “泛Web化”,甚至很多应用一上来就是 Web 的技术做第一版。

这里说的泛Web,从表现中又可以分为两种:一是直接用前端技术去做桌面软件,其中标志性事件就是 NW.js 和 Electron 在 2013 起步后的蓬勃发展;大家熟悉的 IDE VSCode 就是这当中的典型代表;阿里的桌面版钉钉 UI 层大量用到的Web的技术 。
image.png
另外一种就是直接在 Web 上实现,比如 大家最近能看到各种 Web'X' 系统( Google Docs ) 这背后推动力,一是随着浏览器相关逐渐走向统一,用它的技术可以更便捷地实现跨端,另一个就是云计算大数据的兴起,特别云端的存储和算力逐渐突破了原先的本地 PC 的性能边界,因而重塑了原先人机交互的入口;

关于跨端好处自不用多讲,我想想重点讲讲第二点,要讲这个逻辑,我又得简单讲讲计算机的发展,从占地170平方米的世界上第一台通用计算机“ENIAC”,到苹果和微软时代的个人PC,移动时代的 iPhone 和 Andriod,再到云计算时代的大型计算集群。
image.png
对开发者工具而言,之前前很多软件很多都是本地,因为它往往用本地 PC 的计算力就够了,但大数据的场景下计算本地算力肯定是不够的,它是依赖云端的计算集群(以我们阿里飞天大数据平台而言,我们已经10万台计算集群的规模),如何在用户侧用上更方便和灵活地使用这些算力就是我们前端重点要做的,而这是原先软件的架构要不不能让你做定制,要不定制的成本很高(有时候甚至超过了重新做一套的成本),因此很多系统会选择重新起航做一版。

这其中,我们负责阿里云的 Dataworks 中的两大件:WebIDE 和 WebExcel ,就非常典型的例子。
image.png
Dataworks 从一开始就是根据云原生的思路设计开发的,后端需要通过云计算提供强大的算力替换原先的本地算力,前端需要实现更精巧的架构设计来对应日益复杂的交互能力;具体到我们的应用,它包括但不限于了

  • 架构层面:

    • 状态管理
    • 插件化
    • ...
  • 复交互的组件

    • Editor
    • Form/Excel
    • Tree
    • Logivew
    • ...

交互多样化

最近今年在以数据驱动的人工智能的大力发展下,特别在图像识别,语音识别,自然语言处理方面获得了很大的突破,让前端的新交互也获得了长足的进步。

UX

在面向使用者(UX)产品由GUI(Graphical User Interface)变成XUI,用户不仅可以用通过鼠标键盘方式操作图形界面,更可以通过面部表情,身体动作,语音交互等形式提供新的交互形态。

下图就是在2016年左右 我们在阿里云 ET 中一些人机对话,互动游戏中的一些实践,具体可以看 https://www.zhihu.com/question/56560321/answer/203249193
image.png
这一轮的技术变革,有两个大的宏观的背景 1.AI技术的第三波潮起 随着2010年前后,深度学习技术的成熟,计算力的提升,以及互联网时代积累的大数据财富,人工智能技术开始一段与以往大为不同的复兴之路;分别在语音识别,图像识别,自然语言处理等相关技术上获得根本的突破。

例如, 2012 年到 2015 年,在代表计算机智能图像识别最前沿发展水平的 ImageNet 竞赛(ILSVRC)中,参赛的人工智能算法在识别准确率上突飞猛进。2014 年,在识别图片中的人、动物、车辆或其他常见对象时,基于深度学习的计算机程序超过了普通人类的肉眼识别准确率。下图就摘自李开复老师的《人工智能》就体现了这个趋势:
image.png
对于前端来讲,另一个必备条件就是 WebRTC (Web Real-Time Communication)技术的成熟,它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准;通过它,前端可以便捷地处理图像,视频,语音等内容。大家目前看到很多有意思的交互底层就是依赖他。
image.png

DX

在面向前端开发者(DX):智能化手段可以提升我们的研发效率和体验,以我们阿里和蚂蚁自身的实现看,Imgcook(D2C:Desgin to Code),代码智能提示,智能可视化AVA ,前端机器学习 pipcook 都是挺有意思的尝试;
image.png

写在最后

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


image.png
关注「Alibaba F2E」
把握阿里巴巴前端新动向

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8天前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
22天前
|
Cloud Native 前端开发 JavaScript
前端开发者必看:不懂云原生你就OUT了!揭秘如何用云原生技术提升项目部署与全栈能力
【10月更文挑战第23天】随着云计算的发展,云原生逐渐成为技术热点。前端开发者了解云原生有助于提升部署与运维效率、实现微服务化、掌握全栈开发能力和利用丰富技术生态。本文通过示例代码介绍云原生在前端项目中的应用,帮助开发者更好地理解其重要性。
54 0
|
15天前
|
前端开发 JavaScript API
惊呆了!这些前端技术竟然能让你的网站实现无缝滚动效果!
【10月更文挑战第30天】本文介绍了几种实现网页无缝滚动的技术,包括CSS3的`scroll-snap`属性、JavaScript的Intersection Observer API以及现代前端框架如React和Vue的动画库。通过示例代码展示了如何使用这些技术,帮助开发者轻松实现流畅的滚动效果,提升用户体验。
85 29
|
8天前
|
移动开发 前端开发 JavaScript
惊!这些前端技术竟然能让你的网站在移动端大放异彩!
随着互联网技术的发展,移动设备成为主要的上网工具。本文介绍了几种关键的前端技术,包括响应式设计、图片优化、字体选择、HTML5和CSS3的应用、性能优化及手势操作设计,帮助开发者提升网站在移动端的显示效果和用户体验。示例代码展示了如何实现简单的双向绑定功能。
17 3
|
8天前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
13天前
|
编解码 前端开发 JavaScript
前端界的黑科技:掌握这些技术,让你的网站秒变未来感十足!
【10月更文挑战第31天】前端技术日新月异,黑科技层出不穷,让网页更加美观、交互更加丰富。本文通过响应式布局与媒体查询、前端框架与组件化开发等案例,展示这些技术如何让网站充满未来感。响应式布局使网站适应不同设备,前端框架如React、Vue则提高开发效率和代码质量。
26 3
|
15天前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
31 4
|
15天前
|
JSON 前端开发 搜索推荐
惊!这些前端技术竟然能让你的网站实现个性化推荐功能!
【10月更文挑战第30天】随着互联网技术的发展,个性化推荐已成为提升用户体验的重要手段。前端技术如JavaScript通过捕获用户行为数据、实时更新推荐结果等方式,在实现个性化推荐中扮演关键角色。本文将深入解析这些技术,并通过示例代码展示其实际应用。
47 4
|
15天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
33 4
|
13天前
|
前端开发 JavaScript 数据处理
前端界的宝藏技术:掌握这些,让你的网页秒变交互神器!
【10月更文挑战第31天】前端开发藏有众多宝藏技术,如JavaScript异步编程和Web Components。异步编程通过Promise、async/await实现复杂的网络请求,提高代码可读性;Web Components则允许创建可重用、封装良好的自定义组件,提升代码复用性和独立性。此外,CSS动画、SVG绘图等技术也极大丰富了网页的视觉和交互体验。不断学习和实践,让网页秒变交互神器。
23 2