EDDYANNNNG

V1

2022/10/11阅读:33主题:全栈蓝

时代召唤新软件形态 - 轻应用

什么是轻应用?区别于手机上的原生 App,首先是对于消费者用户而言“轻” - 免下载安装、无需感知软件升级、随需随用、上下文无缝切换。其次是对于开发者而言“轻” - 采用解析类编程语言(例如标签类语言、脚本类语言)以及相对易学的开发框架,较低门槛的快速实现各种应用场景并简易发布。只有使用体验好成本低、开发门槛低成本低,才能形成丰富的内容、海量的使用者与开发者生态。

随着App承载的内容越来越多,越来越臃肿,导致了一系列让它们“变轻”的技术手段出现,包括了Apple App Clips、Google Instant Apps,也包括了中国市场发展起来的由手机厂商联盟推动的“快应用”,当然也包括了最成功的“小程序”。这些技术载体标准、规格各异,采用的技术开发工具、开发方式以及所运行的环境也不同,但是它们无疑都是要达成“轻快”体验的目标。

苹果App Clips

Apple的App Clips,有说是Apple版的“小程序”。Apple官方称之为「轻应用」,可以理解成是某个App的轻量级版本,它拥有该App(本体)的部分功能,可以把它看做已有App的某个功能碎片。App Clips体积相对小,压缩前包体积最大不超过 10 M,关键是无需经 App Store 下载,因此它能保证及时性。从这个角度看确实有点像小程序。

但是,它有一些比较大的局限:App Clips开发属于 iOS 原生开发,开发过程几乎和原生开发无异。所以,没有iOS开发工程师的企业或者团队,就别指望靠HTML5前端工程师去干这活了

App Clips号称无需经过App Store下载,但不要以为它就无需提交Apple经受比较痛苦的审核过程,你并没有这个自由。它既然是App的一部分,每次升级还是得提交审核发布

App Clips既然是iOS原生的代码实现,显然它就无法在Android等其他平台上存在。所以它不是一个跨平台保障一致性体验的机制。例如你很可能需要用Google Instant Apps的方式来重新实现一次类似功能(但用户体验无疑是很不一样的)

因为上述技术原因,更因为小程序这种形态的应用已经在国内市场取得巨大成功,App Clips估计难以得到广泛的应用。

Google Instant App

其主要目的是其针对本体App,提高被用户发现的能力。例如用户可以通过搜索引擎和产品网站发现和直接打开使用体验一个Instant App,并因此被“引流”去下载安装完整的本体App。其他方面与Apple的App Clips原理上有相似性。当然,具体技术实现手段从编程语言到工具都完全不同。它也是原生应用开发的一部分。

小程序

说到小程序,大部分的读者第一反应,可能就是某些互联网社交平台、支付平台上的小程序。确实,小程序的概念深入人心并且已经被约定俗成的绑定到某些互联网公司的App上,导致大众听到这个概念时无法分清它指的是某家企业的小程序平台、还是某个机构所开发的小程序应用、还是某种类型小程序软件技术。

小程序之所以“轻”,是因为它基于HTML、CSS、JavaScript以及JavaScript基础上一些DSL(Domain Specific Language,通常以XML形态出现),以文本格式传播,加载后由“宿主”App提供解析、渲染、执行的能力。也就是说它只是一些供解析的指令。它可以视为是HTML5基础上的人机交互体验优化,它轻量、利于传播、能产生网络效应、发版敏捷、和Web内容可以无缝融合、跨设备支持、继承了HTML5的普适性又兼具了App的移动端体验。

快应用

受到小程序类技术启迪,由国内手机厂商和运营商共同发起的一种技术形态,因为与小程序的原理上有一定相似性,不在此赘述。值得一提的是,号称是欧盟嫡系、欧盟基因的开源组织OW2,支持了快应用在欧洲的推动。

什么是有生命力可持续发展的轻应用

  • 无需下载,即用即走
  • 开发门槛低,个人开发者也能过参与
  • 支持独立开发测试,互不影响
  • 具备动态更新的能力
  • 能否支持开发一次、多处运行
  • 能否具备便捷的传播的特性
  • 能否实现不同设备、终端之间的分享和交互

如果基于上述的判断条件,我们看好小程序这种技术形态是轻应用领域的良好选择。

是时候重新理解小程序

从手机用户的角度看,小程序是一种应用,就是衣食住行、医疗健康、市政服务等等各种生活场景的服务交互方式,在终端用户的印象里它们似乎都是依附、归属在某个互联网大平台的App里面的。

但对于开发者来说,小程序首先是一种技术载体,用什么工具开发、基于什么语言和规范、打包成什么样的格式、遵循什么样的要求才能申请上架到什么互联网平台。

对于企业来说,往往要考虑自己的小程序投放到多个小程序平台,这些平台各自拥有其自己全权管控的小程序内容生态。企业不过是把自己的业务以小程序形态“进驻”到这些平台上。

此外,小程序是一种正在形成的互联网技术标准,它不再是某个互联网公司的“专利”,“小程序”这个名字也不代表是哪一家的技术。它是一种轻应用形态,一种数字内容的表现方式,或者我们称之为“小程序化的数字内容”。

新生物种:以小程序为载体的企业轻应用方案

虽然互联网大厂并未将这部分小程序运行能力技术开放出来,但是我们也不必望而生羡,市面上早就推出了类似的技术能力,我们一般称之为小程序容器技术。

今天要给大家分享的也正是目前很热门的前端容器技术 —— FinClip 。

一句话介绍 FinClip :可以让小程序脱离微信环境最快运行在自有APP中

只需简单集成 FinClip SDK , 即可在 iPhone、Android、Windows、Linux、macOS、统信等平台下的应用中运行你的小程序。

这意味着,移动端、PC 端、车载设备、智能电视、智能手表、智能家居都能运行小程序了。

而且 FinClip SDK 极其轻量,应用在集成后安装包的体积仅仅增大了不到 3MB。

下面这个功能特性对于研发人员应该会比较友好, FinClip 支持微信小程序语法 WXML,也就是说微信小程序代码可以直接在 FinClip 复用,无需再二次开发,体验与微信端保持一致。

FinClip 还自研了一个 小程序 IDE 开发工具,界面与微信小程序的开发工具类似,自带调试和真机预览,简单易上手。

你可以在这个 FIDE 里面,对现有项目进行二次开发,扩展功能和接口。

同时,它还支持 小程序一键转换成 App,可以将已有小程序代码导出为 IOS 与 Android 中可用的工程文件,并上架至各应用市场 。由于导出的工程文件自动集成了 FinClip SDK ,所以直接拥有小程序的运行能力,后续可在这个 APP 上继续上架更多小程序,自建自己的小程序生态。

并且 FIDE 中还包含各类扩展插件和接口(支付、人脸识别、音视频、OCR 等),开发者可自主勾选所需的支持插件,从而增强所生成 App 原生能力。

最后简单总结一下 FinClip 可以帮助企业/开发者实现什么:

  • 促进连接。只要把FinClip SDK嵌入到自己的App中,马上获得小程序运行能力。小程序已经在互联网上被充分证明是一个非常有效的促进连接的技术形态。

  • 动态更新。借助 FinClip 将应用中业务功能均以小程序形式替代,功能模块互相解耦,实现模块化开发,极大的提升开发效率,降低开发成本。

  • 多端支持。同一个业务场景,小程序化之后,可以展现在手机端、也可以运行在PC端、更可以出现在智能电视和车载大屏上,多端同步、转发分享、一致体验,甚至可以无缝对接至互联网公共平台,代码只写一次,多处运行。

  • 生态共建。让开发者、企业拥有自己的小程序应用商店,在这里可以实现与合作伙伴的资源整合 - 例如让合作伙伴把数字服务以小程序方式上架、投放到自己的App中。

分类:

移动端开发

标签:

小程序

作者介绍

EDDYANNNNG
V1