“似水无形” 的小程序化技术
企业前端人机交互的软件技术载体,曾经是 PC 软件,然后是网页,再后来是 App,之后是小程序形态的轻应用。“小程序化”,也许是物联网时代的趋势?但形态不是最根本的,重要的是“可交互的数字内容”,因为我们使用软件的目的是为了它背后的效用。“似水无形”,在什么设备里它就呈现什么形态。
小程序在这几年的简体中文互联网世界,可以说是风行一时,无孔不入。对大中小企业乃至夫妻店类商家的“科技赋能”,可谓功不可没。相比之下,在包括繁体中文地区在内的海外市场,你较少能在衣食住行的场景里感受到科技的渗透。以香港的平民食堂 - 茶餐厅为例,只有少数的餐厅拥有一个移动端浏览器能下单的网站,让食客扫二维码打开,经过一轮交互体验很差的折腾后,勉强下单,过程中免不了出错喊服务员拯救,然后通常也没有打通支付,一碗叉烧烧鸭双拼饭,盛惠 48 大元,劳驾自己去柜台排队结账。
小程序这种应用形态,无论对消费者还是对商家,确实是便利和友好太多了,不是“传统”App 可以比拟。可是这个技术发展了这么些年,它的发展轨迹和未来空间是什么呢?What's Next?
重新梳理一下引起大众混淆的概念
不同的人在不同的场景上下文,讲的“小程序”,并不完全是一回事。
最开始的时候,大家讲“小程序”基本上就是指“微信小程序”,即便到了今天,这个已经约定俗成的观念,依然强烈的占据普罗大众的脑袋。
但是,“小程序”并不是一个注册商标,也不是哪一家的专利。从互联网巨头们的角度看,好几年前小程序就已经不等于微信小程序。阿里、百度、京东、美团、字节等各有自己的类似技术。所以,现在互联网上是存在各家的 “小程序类技术”。
这些小程序技术所建立的,是各家自己运营的 “小程序平台”,生杀予夺的绝对掌握着运行在其中的 “小程序生态”。您,作为一家企业,所开发的业务内容,以小程序这种软件形态,申请上架到这些平台上,成为这些平台上的生态一员。
您的客户,首先并不是您的用户,他们是上述小程序平台的注册用户,他们通过这些平台所提供的 App(例如微信、支付宝等),获得使用该平台上的小程序的能力。他们在该些 App 上,“碰巧”(平台推荐、自己搜索、朋友分享、自媒体内容链接...)发现了您的内容,一旦打开使用,他们就可能成为您的客户。
对于终极消费者而言,他们不懂或者不关注上述概念,对他们来说,衣食住行各种便利服务,就是小程序。
对小程序在 2022 年的理解 - 一些类比
对于开发者来说,小程序这种应用形态,可以被视为一种内容“格式” - 它是一种代码化的内容,其中的代码,按照一定的语言、配置文件、目录结构组合打包压缩而成。
内容格式有多重要?HTML 就是一种标准化的、普适的文本化内容编码格式。想一下它给现代社会带来什么翻天覆地的变化?一种文本型的内容标准,成为了互联网的基石之一。
但是 HTML 在移动端、触控屏型的设备上的人机交互有所不足。Web 1.0 时代开启的眼球经济,被移动互联网时代的碎片化用户体验摧毁。基于 HTML 所发展出来的 PWA(Progressive Web App)应用格式,在手机端几乎没有存在感。
所以才给了 App 的机会。App 是什么呢?从内容编码格式的角度看,iOS 上的 ipa、Android 上的 apk 就是 App 的内容编码格式 - 一种遵循一定格式规范的压缩包。这种形态的人机交互方式,非常的方便于用户在弹丸之地的掌中手机上以一个拇指随意切换,成为了移动互联网时代的王者。
但是 App 也有不足,就是“重”,发版周期长、和 Web 之间存在孤岛,不容易传播分享,不同平台上需要重复建设,跨设备成本高,尤其是在物联网智能设备发展起来后,随需随用的“效用主义”宗旨至上。时代进化到了这样一个阶段:用户不再主动去“海淘”数以百万计的 App,而是希望在需要的时候适当的工具自己走过来。什么样的内容编码格式适应这种需求?小程序应运而生。
从内容的角度,我们可以把小程序类技术类比为 PC 互联网时代多媒体内容的王者 - 被日渐遗忘的 Adobe Flex/Flash。虽然这个技术在移动互联网时代被淘汰了,不可否认的是,它首次尝试解决 Web 1.0 那个年代的用户体验不足,实现了“开发一次、多处运行”,它几乎就是那个时代的小程序(Flash 并不限于游戏,它在企业应用大有作为)。遗憾的是它采用了封闭的技术,只是“寄生”在浏览器里,却和开放的互联网并不充分互通。相比之下,小程序类技术的编码和内容格式,整体基于 HTML5 基础上,是更加轻量也更加开放有生命力的动态数字内容。
从标准的角度看,当前互联网上的小程序类技术,几乎都借鉴了这个领域的先行者微信的规范。可以说,微信小程序就是这个领域的“既成事实”标准。
互联网系列全球标准的制定者 W3C,正在通过其 Mini-Apps 工作组制定国际标准。这个工作组也是 W3C 中为数不多由中国企业发起和引领的组别,目前号称欧盟“嫡系血统”的开源组织 OW2 在欧洲推动的快应用(Quick App)表示了要支持 W3C Mini-App 标准。这个标准最终是否成功、能走多远,我们拭目以待。
无论存在的是“既成事实标准”还是工业标准,对于小程序,我们是时候去重新理解它:小程序是在 HTML5 基础上形成的一种软件形态、内容格式,它规范了一种代码自动检测升级、可以“口口相传”的方式在网络中由用户分享传播、免安装随需随用的“轻应用”机制,同时满足移动互联网时代比传统网站更适合于手机触摸屏的人机交互需求。它对应用的打包(Packaging & Manifest)、下载、寻址(addressing)、运行(生命周期 - LifeCycle)等等作出了规定。
如果微信小程序的格式类比为 Microsoft Office 的文档格式,那么市场上的其他小程序平台,可以类比为 WPS、OpenOffice、LibreOffice、Google Docs、Apple iWork 等等 - 这些软件基本上都能读存微软格式的 Word、PPT、Excel 文档。Office 类软件的文件格式实际上也存在工业标准 - ISO/IEC 26300 的 OpenDocument 格式便是。
只要标准形成,对小程序的处理,就会变成像 Chrome、Edge、Safari、FireFox 等浏览器解析渲染 HTML5 页面一样 - 浏览器技术各不相同、厂家不一,但是不影响大家在同一个标准下的干活。
互联网起源的技术走向工业用、企业用
“既成事实标准”或者真正工业标准的出现,意味着什么?意味着技术的成熟、技术生态的繁荣、产业链上下游的供应商的出现,也意味着互联网的创新实践,是时候被移植到各行业的企业中。
这种情况一直是“史有前例”的。互联网本身,就是一个军用变民用的例子。浏览器和 HTML 在 1996 年刚出现的时候,没有企业会把它们视作企业软件的技术载体。那个时代的企业软件基本上是 C/S(Client-Server 架构)、基于 Visual Basic/Visual C++/DCOM 或者 X11/Motif/CORBA/DCE RPC - 那个时代技术栈的“王者”。可是到了本世纪初,大家忽然不约而同发现企业里基于浏览器打开的东西越来越多,然后是所谓的“B/S 架构”(Browser-Server,国内企业 IT 界发明的概念)开始普及,HTML、jQuery、AJAX、从 Web 服务器变种出来的应用服务器... 这十多年内,企业 IT 可能已经忘记或者想象不出在 App 和浏览器以外的软件世界是怎样的。
小程序作为一种人机交互的软件载体、一种数字内容格式、一种代码分发传播机制,也到了被商业机构“借鉴”采用的时刻。
企业们不是已经一直在用小程序吗?不算。因为他们不过是作为某个互联网大平台的内容贡献者、参与者,“免费”向互联网平台提供了自己的内容与服务,成为了别人的“生态一员”,换取流量的转化,以触达更多的互联网消费者。
小程序类技术的企业商用,意味着:企业拥有了和互联网平台们类似的技术,能够以小程序这种技术载体、内容格式来开发自己的商业软件,从而享受这种技术带来的敏捷、轻量、极度松散耦合的好处;进一步,企业还能自主运营自己的平台,对其中小程序内容的上下架、审核发布完全掌握,让自己的业务功能灵活发表和投放;更进一步的,一些企业还可以开放自己的这种平台能力,让合作伙伴的小程序内容上架到平台上,以更好的服务自己的存量客户,建立行业数字生态,极大程度提升自己的数字化连接能力。
本质上,企业用的小程序技术,是一种企业轻应用开发技术。它们和当前互联网上的小程序平台相比,可以说是技术理念同源,但是商业目的完全不同,可以说是一个不同的物种。这正如 HTML、JavaScript、浏览器、Web 服务器这些技术出现后,互联网公司拿它们建网站,企业 IT 拿它们建内部信息化系统一样。
FinClip,是当前市场上率先聚焦让企业以小程序规格、模式开发和运营软件的轻应用技术产品,它的目标就是充当企业数字化转型过程中的技术底座,作为一种企业数字化基建类设施,让企业们通过非常具体的“小程序化”,去实现数字化。
数字化 = 业务内容的小程序化?
这么说肯定是要被喷的,咨询机构首先跟你急。但是这确实可能是很多企业开启数字化之路的切入点。“数字化转型”?你固然可以讲高大上的理念、方法论、现代管理学的各种概念,但现实世界里大部分的企业只不过把“数字化转型”做成了又一次“信息系统建设”而已。和“由内而外”的把自己的业务能力在电子化基础上通过互联网传递出去的“信息化”截然不同的是,数字化是由外部力量引发的,建立与外部世界的连接是关键。这好比“上网”和“在线”的区别,信息化就是上网、各干各的,但是无所谓在线,因为你的对手方、合作伙伴、客户、同业机构可能都没上网呢,“在线”是相对于谁来说呢?在线的意思,就是你和他人不仅都上网了,而且互联互通。
小程序模式的软件形态,和传统网站有什么区别呢?那就是“在线”和“上网”的区别。对于小程序平台的拥有者们来说,相比拥有一个网站,他们拥有了非常明确的、可商业化(monetization)的机制。对于 IT 里的开发者来说,过去是开发一个个孤立的小网站,难以获得传播触达用户,现在则是更有机会通过各种运营手段让自己的代码“走到”用户的终端 - 利用了网络效应让他人帮助分发代码,可以说是颠覆性的改变了软件传播分发下载使用的机制。对于小程序用户而言,是在一个有上下文的“情景”中按需使用。
小程序天生是数字化场景的载体,天然具备连接属性。有人可能说,网站不就是干这活的吗?我可以分享网站链接给朋友,网站之间也可以跳转... 可是 PC 互联网时代的形态,体验就是无法满足移动互联网时代的诉求,它们也不可能为上至 80 岁下至 8 岁的用户所掌握、也难以成为赋能茶餐厅们的技术。
后 App 时代的人机交互软件载体
谷歌的执行董事长埃里克·施密特曾预言:互联网即将消失,一个高度个性化、互动化的有趣世界——物联网即将诞生。2022 年 4 月的统计数据,连接到互联网上的用户有 50 亿人(占全球人口 63%),连接到互联网上的设备有 130 亿个;预期至 2030 年连接上网的设备将达到 294 亿个。
智能手机的发展高峰期已经过去了。跟 PC 台式机、手提电脑、平板一样,任何电子设备都有没落的一天,可以说,只要人机交互技术还不够人性化,它就有被替换的刚需。什么算是人性化呢?就是让人类与机器的交互能够回归“眼耳鼻舌身意”的本能。通过键盘、鼠标和机器打交道就不是人类最自然的、最符合感官本能的方式,这几十年不断优化、突破的人机交互方式,包括了通过触控屏以手指触碰交互、通过智能音箱以语音交互、通过 VR 眼镜和传感器进行仿真的体感交互、乃至通过脑机接口以脑电波交互... 承载人机交互的软件载体也在不断变化 - PC 软件、网站、App... 下一个技术形态会是什么呢?会不会是“类小程序”的形态?
我们可以确定的,起码有这么几点。
人需要去打交道的设备越来越多。有属于自己私人拥有的触控屏幕,例如手机、汽车、电视,也有不属于个人的屏幕,例如公共场所的触摸屏。但无论私有还是公有,没有用户会有时间兴趣再去“海淘”软件应用 - 发现、下载、安装... 为了某个生活或者工作场景的需要,基于当时所在的时空环境而随需随用。“应用”的概念弱化。
人的时间碎片化程度只会更高。在用户所处的空间里的每一个数字设备,都是他在该时间、该地点、“碰巧”能接触到的设备帮助他“进入”数字空间的入口,快进快出,用完即走。
帮助人得到不易得到的才是最有价值的。人之所以要用数字化工具,本质上是为了打破时空约束。所以司机、乘客在汽车空间里的时候,对他最有价值的是他物理上触达不到的车外空间 - 和家庭、同事保持交流,获得一些衣食住行的服务,利用智能驾驶甚至无人驾驶帮助节省出来的时间去处理“车外”的事情。能够帮助用户连接、同步其他空间场景的内容,就是一种“空间穿透”或者跨越,轻巧的、场景化的、动态而多元的数字内容更有价值,这是为什么智能电视、车载系统等的“预安装”App 成功有限的原因之一。照搬移动互联网智能手机的交互方式,尝试模仿类似的用户体验,很难取得好的效果。
普适计算,让场景在不同的设备接力。不是人去“物色”应用,而是在人需要的时候,应用“来到”人当前使用中的设备上。
以手机端为导向的原生 App,对硬件设备、操作系统有强关联,可能不是人机交互方式多元化的智能设备组成的物联网时代的最佳应用软件载体。基于文本格式的、采用标签语言和动态脚本语言、指令式的小程序化轻应用技术,只要在各种设备上有运行沙箱(通常以浏览器内核为基础),即可被运行、转发、分享、传播。它或者它的未来技术变种,也许是物联网时代里最开放、最轻量的“可交互数字内容”(Interactable digital content format)格式。企业世界是时候去利用这样的技术。
让我们聚焦数字内容本身,“应用软件”在碎片化的时空里,“既存在也不存在”。如“我心目中浩氣長存的已故偉大武術家李小龍先生”所说,似水无形 - 在杯子里的它变成杯子、在瓶子里它就是瓶子、在茶壶里它就是茶壶,Be Water, my friend.
本文首发于凡泰极客博客,作者:F1n0Geek
版权声明: 本文为 InfoQ 作者【Speedoooo】的原创文章。
原文链接:【http://xie.infoq.cn/article/b57371f196a5f1b31efe62994】。文章转载请联系作者。
评论