势→趋势, 技术变革, 术→技巧, 研发

App、小程序、快应用与App Clips

钱魏Way · · 1,042 次浏览

App这个概念是伴随iPhone的发布而流行的,在此之前,我们更喜欢将“桌面程序”称为软件,从其诞生到现在已经超过10年。随着小程序、快应用的推出,移动设备上的“应用”最终会演变成什么样子?这里整理了一些资料期和自己的一些想法。

小程序

小程序的概念最早出现在2017年1月9日发布的微信中。随后小程序开发彻底在国内火了。分析其原因,我认为主要有以下几个方面:

  • 微信APP的流量基础,吸引了大批公司开发应用,想要获取流量红利。
  • 小程序的“无需下载、用完即走”的概念,用户接受度更高。提升了市场营销中的转化。营销向小程序倾斜。
  • 微信APP的社交属性,支撑了分享助力、社群营销、私域营销等。与之匹配的小程序成让营销的流程更短更顺畅。营销进一步向小程序倾斜。
  • 下沉市场营销,小程序结合线上推广的顺畅模式,让一波想要进行线下获取的公司往小程序投入。(微信是很多用户默认/唯一的扫码工具)

随着微信小程序的推出,一些眼红的大厂也搭起了小程序的平台:

  • 2017年1月 微信小程序上线
  • 2018年3月 快应用发布
  • 2018年7月 百度智能小程序上线
  • 2018年9月 支付宝程序、淘宝轻店铺上线
  • 2018年10月 抖音小程序上线
  • 2018年11月 头条小程序上线
  • 2019年5月 QQ小程序上线
  • 2019年7月 360小程序上线(PC端)
  • 2019年10月 美团小程序上线

以上小程序除了“微信”外,基本上没有火起来。

快应用

快应用是九大手机厂商基于硬件平台共同推出的新型应用生态。用户无需下载安装,即点即用,享受原生应用的性能体验。快应用框架深度集成进各厂商手机系统中,可以在操作系统层面实现用户需求与应用服务间的无缝连接,提升用户的使用体验和应用服务的转化效率,同时支持生成桌面图标等留存能力。

先抛开技术实现,快应用的定位其实是和小程序一样的。唯一的区别是更加开放(去中心化)

个人比较看好快应用,个人认为它会是替换Android原生APP(游戏除外)的一个非常好的方案。但其缺乏不像微信一样有效的利基吸引公司加入开发,进展会很慢。但相比百度小程序、支付宝小程序这些我认为会发展的更好。

App clips

App clips是苹果发布的类似小程序、快应用的框架。它提供了一种“即时使用”的方式,让用户可以在特定时间、特定场景,在不下载完整 app 的前提下,体验到你的 app 的核心功能。

除了以上差异,还需要补充说明的是:三者与“原生应用”的关系;苹果的App clips 与原生应用,具有强依赖关系,而且一一对应,一个 App,只能对应一个 App Clip;App clips,是用户快速访问和体验您的应用程序所提供内容的一种好方法,当用户安装了该应用,就不再推荐 App Clip 了。而小程序与快应用,与原生就没什么必然关系,两者独立存在,甚至是竞争关系。双方都希望,用户可以在这里完成体验,而不是向用户推荐原生应用。

为何有以上差异,主要是因为立场不同;Apple官方的说法:App Clips 是一个机会,可以快速展示您的应用程序的价值。为了使用户更容易获得完整的应用程序,可以在适当的时间在应用程序剪辑中提供一个下载选项。您甚至可以保留用户提供的任何信息,并将其无缝过渡到完整的应用程序。简单的说App Clips的定位主要是预览试用。

通过官方介绍,打开 App Clips,有以下几种方式:

  • NFC 近场通信或者扫描二维码
  • 点击 Siri Suggestions 基于位置的建议
  • 点击 Maps app 里的连接
  • 点击网站的 Smart App Banner
  • 点击短信里别人分享的链接
  • 最近使用的 app clips

上述的场景是不是和微信小程序的场景非常像?主要目的还是二维码或链接掉调起。

PWA(Progressive Web Apps)

PWA全称Progressive Web App,即渐进式WEB应用。

一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能

解决了哪些问题?

  • 可以添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏
  • 实现离线缓存功能,即使用户手机没有网络,依然可以使用一些离线功能
  • 实现了消息推送

它解决了上述提到的问题,这些特性将使得 Web 应用渐进式接近原生 App。

PWA与小程序、快应用的对比:

特点 运行环境 兼容性 开发语言
小程序 无需安装,用完即走 依赖于 APP,如 微信、支付宝 可跨平台 类 Vue
快应用 无需安装,与操作系统深度集成 依赖于 安卓手机系统,由国内九家手机厂商联合推出 显然不支持九家之外的系统 和 iOS 系统 类 Vue
PWA 无需安装,支持离线、通知、推送 依赖于 浏览器,由 Google 提出,现在 微软、苹果 都在支持 Android 支持较好,iOS 需要适配,国产浏览器支持较差 无限制

PWA的优势

  • 可以将app的快捷方式放置到桌面上,全屏运行,与原生app无异
  • 能够在各种网络环境下使用,包括网络差和断网条件下,不会显示undefind
  • 推送消息的能力
  • 其本质是一个网页,没有原生app的各种启动条件,快速响应用户指令

PWA存在的问题

  • 支持率不高:现在ios手机端不支持pwa,IE也暂时不支持
  • Chrome在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低
  • 各大厂商还未明确支持pwa
  • 依赖的GCM服务在国内无法使用
  • 微信小程序的竞争

移动桌面程序的未来

想要探索移动桌面的未来,先要看看目前APP开发遇到的问题:

  • 开发成本高,需要针对不同平台需要不同的技术背景进行开发
  • 维护成本高,用户必须手动下载更新,历史版本又不能不维护
  • 更新迭代困难,修复Bug的等都需要重新发版。
  • 推广问题:APP 动不动就100-200M,不但占用手机空间,下载耗费流量且在网络不好的情况下非常的慢

解决上述问题主要的方案:Web App或Hybrid App。

Native App

Native App即原生应用,即我们一般所称的客户端,是针对不同手机系统单独开发的本地应用,如需使用需要先下载到手机并安装,下载Native App的最常见方法是访问应用程序商店,如苹果的App Store、安卓市场、Google Play等。在技术实现上一般采用针对操作系统的特定语言进行编写,如:使用Objective-C/Swift开发IOS应用,使用Java开发Android应用。

Native App的优点:

  • 可以在应用商店轻易地找到并且能在手机主屏幕上生成相应的图标
  • 可以利用系统API及平台特性,访问手机的提供的功能(GPS,相机等)
  • 可访问本地资源,支持离线工作,节省用户的流量成本
  • 可针对不同平台提供不同的体验,针对平台特性去做用户体验优化
  • 与系统高度切合,可获得更快的运行速度和性能,并支持丰富的图形和动画。

Native App的缺点:

  • 开发成本高,需要针对不同平台需要不同的技术背景进行开发
  • 维护成本高,用户必须手动下载更新,历史版本又不能不维护
  • 更新迭代困难,修复Bug的等都需要重新发版。
  • 推广问题:APP 动不动就100-200M,不但占用手机空间,下载耗费流量且在网络不好的情况下非常的慢

Native App最大的优势就是可以使用操作系统开发商提供的API。这些API可以分为两大类:低级API和高级API。

  • 低级API:应用程序能直接与触摸屏或键盘进行联系、渲染图形、连接至网络、处理从麦克风收到的音频、通过扬声器或麦克风播放声音,或者接收来自摄像头的图像或视频。应用程序能访问全球定位系统(GPS)、接收方位信息,当然还可以读写固态硬盘上的文件,或者访问现有和将来会有的其他任何硬件元件。
  • 高级API:提供对个人移动体验来说很重要的较高级服务,这类服务包括浏览Web,管理日历、联系人资料和相册等,当然还包括打电话或收发文本消息的功能。

操作系统提供的另一组重要的API是GUI工具包。每一种移动操作系统都随带各自的一组用户界面组件,比如按钮、输入区、滑块、菜单、菜单栏、对话框及其他。可以使用这些组件的应用程序继承了该特定移动操作系统的外观和感觉,通常会带来非常流畅的用户体验。

Web App

Web App简单的说就是一个触屏版的网站。Web应用完全用HTML、JavaScript和CSS等Web技术开发,通过移动设备的浏览器来访问,缺点是这些基于浏览器的应用无法调用系统API来实现一些高级功能,也不适合高性能要求的场合。

Web App的优点:

  • 开发成本低,使用现有的Web开发技术即可
  • 适用范围广,覆盖所有智能手机,跨平台和终端
  • 方便、快捷地部署,无需用户安装
  • 用户总能访问到最新版本,迭代更新容易
  • 可被搜索引擎收录并带来流量

Web App的缺点:

  • 浏览体验短期内还无法超越原生应用
  • 不支持离线模式(HTML5将会解决这个问题)
  • 消息推送不够及时
  • 调用本地文件系统的能力弱
  • 较差的和较慢的性能体验(大部分需要连接互联网)
  • 支持图形和动画效果较差
  • 不适用于应用商店及没有靠下载应用盈利机会
  • 限制用户使用功能(比如,相机、GPS等)

谷歌在推进的PWA,最主要的目的是解决Web App的缺点。通过浏览器为“桥”调用系统的API。

Hybrid App

Hybrid App又叫混合应用,是一种介于Native App、Web App之间的App,它虽然看上去是一个Native App,但只是一个UI WebView,里面访问的是一个Web App。Hybrid App实质是伪造一个浏览器的apk/ipa原生程序,并运行了一个Web APP。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。它可以使web开发人员可以几乎零成本的转型成移动应用开发者,并且相同的代码只需针对不同平台进行编译就能实现在多平台的分发,而相较于Web App,开发者可以通过包装好的接口,调用大部分常用的系统API。

Hybrid App的优点:

  • 支持多平台访问
  • 手机功能都可访问
  • 适用于应用商店
  • 部分支持离线功能

Hybrid App的缺点:

  • 未知的部署时间
  • 用户体验不如本地应用
  • 性能速度较慢(需链接网络)
  • 该技术尚未发展成熟,依然是一门新技术

Hybrid开发方法结合了Native开发和Web技术。借助这种方法,开发者就能使用跨平台Web技术,开发应用程序的大部分代码,又可以在需要时直接访问Native API。App的Native代码部分使用操作系统的API来创建嵌入式HTML渲染引擎,该引擎在浏览器和设备的API之间充当了桥梁。这座桥梁让Hybrid App得以充分利用现代设备所提供的全部特性。App的Web部分可能是驻留在服务器上的网页,也可能是一组HTML、JavaScript、CSS和媒体文件,封装到App代码中,存储在设备本地。放置在服务器上的HTML代码让开发者不必经历提交和批准过程,把Web代码封装到App里面可以提高性能和可访问性。

未来到底会怎样?你的观察?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注