对于前端熟悉又陌生的RIA

RIA是什么?

Wiki百科对RIA的定义是:

丰富互联网应用程序(英语:Rich Internet applications,简称RIA),又译为丰富性网络应用服务,是一种具有近似于传统桌面应用软件系统功能和特性的网络应用系统。RIA系统最大的特点是将大部分处理任务都从用户界面端移植到客户端,仅保留一些必要数据与服务器端进行信息交互。

其中比较重要的特性有两个,第一点它依赖于浏览器环境,第二点是运行在独立的沙箱内部。

RIA有哪些应用?

我在Vista系统的年代,下载过“三国杀”的客户端,原来是在浏览器环境内的一个Flash,后来有了Flash AIR的客户端,可以“脱离”浏览器环境运行独立的三国杀游戏。

之所以说是“脱离”,其实只是不在浏览器内,本质还是需要调用Flash组件与功能。

当然,依托于客户端能力,避免了频繁的页面请求,能够对运行和本地化起到比较关键的作用,也能够复用在页面使用的Flash等技术,更有效的利用客户端能力。

RIA在2020年的新面貌

前一阵看到了一所国外大学的测试平台仍在使用Flash作为录音插件,众所周知,2020年Flash已经正式被各大浏览器所废弃,用户在使用这种旧方式的时候就需要通过设置临时开启Flash功能来正常完成测试。

但是不是说Flash被废弃后,RIA就没有了存在的意义呢?

我想并不是的,RIA更多的是一种思想,能够将前端技术扩展到更多的端,能够利用更多的客户端能力,是Flash等旧一代技术“退役”后不变的方向。

现在我们可以用Electron打包Web App,完成从浏览器端到客户端的过程;我们还可以借助部分浏览器支持的PWA特性,直接安装网页程序,或是通过Service Worker,增强本身的客户端能力。

除此之外,UWP以及Chrome插件环境也是前端技术在客户端的第二春,他们在实现上与浏览器非常类似,都能够实现更强的本地化需求。