漫淡终端技术未来

摘要: 闲聊一下未来。

Fundebug经授权转载,版权归原作者所有。

前言

在终端发展的历史看,终端设备早已不再是单一的计算机,交互方式早已不再是单一的键盘鼠标,但无论是怎样变化,归根结底不变的是人与端两个角色的交互。

我在数据领域深根多年,看到数据在幕后不断改变人类的生活,但终将与终端结合到一起。我从最具象的终端入口开始,讲到终端的软件交互,最后讲数据时代的终端变革。讲讲最近的思考和一些浅见。

始于平台之争

虚拟世界,不存在于现实世界,由人类在设备上构建而成。从人类所在的现实世界会经过终端所在的硬件平台,硬件平台承载的系统平台,系统平台承载的软件平台。

终端技术从广义上说包括了从硬件到软件所涉及到的平台,狭义上只包括软件平台,而硬件与系统的发展直接影响了技术的发展,可以说终端技术始终面向下一代设备。从上世纪 90 年代的桌面端时代,到今天蓬勃发展的物联网时代,商业竞争的背后也是技术必争之地。

早在上世纪 90 年代,桌面端技术架构为 C/S 架构,GUI 类库在不同平台下各不相同。在 windows 下,主流的是以 C++ 为基础的 MFC,Mac 下有以 Object-C 为基础的 Cocoa,很长时间都以体验和效果压过 windows,但市场占有率 windows 平台远超 Mac 平台。之后,window 平台由 MFC 演进到 WPF 和 UWP,效果上已经与 Mac 平台不相上下。真正要考虑兼容各平台这件事,Qt 占据重要的地位,也是 Linux 的主选。在桌面端时代主流的做法还是独占式开发,兼容性一般考虑在嵌入式等专业领域。

进入互联网时代技术架构为 B/S 架构,浏览器成为新战场。早期 windows 没有利用 IE 一统互联网为 Google 崛起埋下伏笔。和桌面端同样,各浏览器竞争下,同样的 Web 标准在不同浏览器下都有差异。与桌面端时代不同的是,浏览器兼容性一开始就被提到高要求,成为早期的前端工程师重要的技能。

在浏览器战场下,另一个版本兼容性问题常被提起。从体验的角度,兼容性随着版本的推进,是向下兼容与研发成本的博弈。今天不论是浏览器还是客户端都有多版本兼容的方式,但根据市场的情况,平台和应用都有权考虑是否降级。

随移动设备普及,硬件和带宽成本降低,进入移动互联网时代,不变的依然是激烈的平台之争。Google 和 Apple 两家已然独霸天下。为解决研发效率问题,兼容跨平台方案层出不穷,从以 WebView 为容器方案开始,发展今天 Native 自建容器方案诞生,经过了不少的尝试,但没有一种方案占绝对优势,高性能和低成本是永恒的技术目标。

在移动应用下,小程序这种新形态在近两年萌生,它将移动应用作为平台,借应用本身实现了跨平台和沙箱能力,而标准,接口都是由 App 来定义,更能透出 App 本身的服务。小程序作为移动应用平台化的产物,实质是商业模式的旧瓶装新酒,早在桌面端时代这种模式已非常常见。在可期的未来互联网巨头会纷纷收拢移动入口,形成各自特色的生态。总之,商业上平台化带给终端跨平台更高成本的现状。

今天再回头看桌面端,互联网高速发展也改变了