App Clips 与微信小程序对比:开发方向及重要特性解析

2025-06-02
来源:万象资讯

这应用场景听起来是不是跟微信小程序很像?

确实如此,自App上线之后,我们便迅速展开了与微信小程序的对比研究及实际操作。(详情请点击此处查阅)

App与微信小程序的设立初衷一致,均旨在解决某一特定问题。然而,在开发过程中,两者在发展方向上却存在明显的不同之处。

微信小程序的发展经历了从0到0.1,再到1.0的演变过程。开发者致力于打造一个服务平台,从小程序的开端到结束,用户体验极佳。相比之下,App的更新则是由1.0降至0.1,这实际上是对现有应用的一种优化。因此,在开发过程中遇到的难题相对较少。

接下来,我们将对 App Clip 的几个关键特性进行深入阐述,并通过 App Clip 的演示案例,分享开发过程中的点点滴滴。无论是为了满足实际业务需求,还是出于学习新知识、探索新领域的目的,只要您具备一定的开发技能,按照本教程的指导,您同样可以轻松制作出一个 App Clip。

App Clip 的技术限制

App Clip 的使用范围限定在特定情境,主要目的是为了迅速完成某项任务,实现即用即走。它相当于主应用的精华版,用于处理简单快捷的操作。对于需要复杂处理的任务,则应在对应的主应用中进行操作。因此,部分功能在 App Clip 中是被限制使用的。

安装包大小 10M 以内

App Clip Card一旦出现,App Clip便会迅速下载,安装包的体积限制确保了用户在使用过程中的良好体验——通常情况下,用户在打开App Clip时,它已成功下载完毕。

不能使用指定

UI界面、核心功能、文件处理、文件管理、用户界面、操作界面、系统核心、数据文件、文件系统、用户交互界面、核心模块、文件操作、用户界面设计、核心代码、文件管理模块、用户界面元素、核心功能模块、文件处理功能、用户界面设计规范、核心文件处理、文件管理系统、用户界面布局、核心数据处理、文件操作界面、用户界面开发、核心文件操作、文件管理界面、用户界面设计理念、核心功能实现、文件处理流程、用户界面布局设计、核心文件管理、文件操作流程、用户界面开发规范、核心功能文件处理、文件管理系统设计、用户界面布局规范、核心数据处理流程、文件操作界面设计、用户界面开发流程、核心功能文件管理、文件管理系统开发、用户界面布局开发、核心数据处理开发、文件操作界面开发。

以上内容不可再使用,即便在编译过程中不会触发错误,但在程序运行阶段将出现错误或错误结果。

涉及用户隐私的操作不得追踪用户数据,亦不可用以获取用户的独有标识。用户的位置信息不可持续获取,每次使用位置服务时,必须获得用户的授权。到了次日凌晨4点,该授权将自动失效。若需再次使用位置服务,用户需重新进行授权。App Clip仅能与对应的主应用程序进行数据交互,严禁与其他应用程序建立联系,因此微信的登录、分享、支付等功能在App Clip中无法实现。同时,用户也无法访问苹果音乐、多媒体内容、通讯录信息、文件资料、运动健康数据以及相册等内容。后台处理的其他繁杂任务包括:执行网络请求、进行位置信息的更新以及维护蓝牙连接的App,同时还包括App内购(区别于苹果支付Pay,在App Clip中则支持使用苹果支付)的相关消息推送功能。

微信小程序若不能以推送形式触及用户,曾令开发者深感忧虑。然而,手机制造商推出的系统级应用在此方面为开发者提供了更多信心,无论是苹果的App 还是国内手机生态中的快应用,它们在消息推送方面的服务能力,都是吸引开发者的重要因素。

App Clip中的消息推送分为两种情况:一种是短时内的推送,另一种则是持续一段时间的推送。(根据官方文档)

短时间内推送

启动 App Clip 后,用户在接下来的 8 小时内将接收到信息推送。以购买咖啡为例,若用户在 App Clip 内完成购买后退出,待咖啡制作完成,系统便会向用户发送「咖啡已准备就绪」的推送通知。这种方式只需在 Info 属性文件中加入 Key,同时将 n 调整为 true,即可自动获得接收消息推送的权限。

长时间内推送

用户在App Clip上完成某项任务后,通常需等待数日才能接到相应的推送通知。以租车为例,若用户租用了为期三天的车辆,那么在租赁期限结束时,用户将会收到提醒归还车辆的推送。这种推送机制与一般应用程序的消息推送相似,均需用户事先给予推送权限的授权。

使用 创建一个 App Clip

接下来,我们将展示如何构建一个应用快照。这个快照主要呈现了商品清单,用户点击商品后,可以直接跳转到商品的具体信息页面。我们通过整合知晓云的资源,获取了商品的相关信息,并且为这个快照生成了一个二维码。用户只需要用iOS 14的扫描功能扫描这个二维码,就能直接进入应用快照。

创建 App Clip

在现有的工程项目中设立一个App Clip,并为它取名为 。

此刻,工程目录新增了一个子目录,随后我们便可以在此处着手进行App Clip的开发。

导入

通过 集成 ,打开 文件,添加以下内容:

platform :ios, '11.0'   target 'SugarClip' do   use_frameworks!   在项目中引用名为“MinCloud”的库,其源代码通过Git进行管理,具体地址为'https://github.com/ifanrx/hydrogen-ios-sdk.git'。 Pod "Moya",版本号应高于13.0   pod 'SnapKit'   pod 'Kingfisher'   end  

App Clips与微信小程序对比_App Clips开发教程_微信小程序连接蓝牙设备开发

target 'SugarDemo' do   use_frameworks!   在Podfile中,指定了名为'MinCloud'的库,其源代码通过git指向了'https://github.com/ifanrx/hydrogen-ios-sdk.git'这个地址。   pod 'SnapKit'   pod 'Kingfisher'   end

添加完后,执行 pod 安装。

完成安装步骤后,请将软件导入至工程之中,随后打开Clip的相应文件,于文件最上方特定的代码,并在该文件中的(_: :)函数部分加入以下内容:

在执行完启动应用程序的操作后,函数将返回一个布尔值,表示应用程序是否成功启动,其中`application`参数接收一个`UIApplication`实例,`didFinishLaunchingWithOptions`参数是一个可选的字典,键为`UIApplication.LaunchOptionsKey`,值为任意类型的对象。 应用启动后,此为定制化操作的重写入口点。           BaaS 进行注册操作,指定 clientID 为 "fdc4feb5403a985fe681"。 BaaS.isDebug设置为true,意味着将启用日志打印功能。     return true }

获取产品数据

结构

首先创建一个 结构,用于表示产品信息。

struct Product: Decodable { 公开变量id:字符串类型,代表产品的唯一标识符。 公开变量名为name的类型为String的可选值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         public 定义了一个变量 participantCount,其类型为 Int 的可选值,表示参与讨论的人数。 公开变量 coverImage:字符串类型可选 公开变量 rating:类型为 Double 的可选值             // 表示产品的评价得分 public var productIntroduction: String? // 产品简要说明 public variable description holds a String optional value // 产品描述信息可选 }

获取产品列表

func loadProductList() { 定义一个名为table的变量,其值为通过指定ID为"105766"的Table对象。 table筛选出满足条件的元素,其中包含弱引用的self,以及记录列表和错误信息。         if let list: List若recordList存在,则提取其listInfo字段,对其解码处理。 将self的products属性设置为list对象。         }     } }

微信小程序连接蓝牙设备开发_App Clips与微信小程序对比_App Clips开发教程

针对相应的数据库表结构,我们可以通过表ID来对相关数据进行操作。具体来说,利用find操作可以检索到产品表中的所有产品信息,在获取这些产品信息之后,再将它们解码成列表形式。

对象。

获取产品详情

func loadProduct() { 定义一个名为table的变量,其值为通过指定ID为"105766"的Table对象。 table通过productId获取数据时,使用弱引用self,回调函数接收(record, error)作为参数。 若成功解析出产品信息,即若record的recordInfo字段经过解码后得到一个Product类型的实例product。 本实例中的产品对象被赋予新的值,即product。 self?.调用displaySubviews方法,以呈现产品的详细资料。         }     } }

通过执行 get 操作来指定产品的标识码,进而获取该产品的详尽资料,在获得产品数据后,将其转换成相应的对象格式。

产品页面

项目内设立了诸如视图控件等元素,它们分别用于展示产品清单、评分以及简介等关键信息。这些控件具备在主应用程序与App Clip中通用的特性。于是,在相应目录下,我们构建了必需的可复用组件,并在相关文件配置中,通过勾选特定选项来实现其复用功能。

唤醒 App Clip

完成App Clip的开发后,我们可通过点击应用图标、扫描二维码或NFC标签,借助Siri获取位置相关的建议,或通过短信等途径激活App Clip。

在App Clip被激活使用之前,必须进行相应的设置,这包括为App Clip指定一个URL以及App Clip Card的相关信息。在开发过程中,这一配置工作可以直接在App Clip的设置中进行,或者通过App Clip的官方平台来完成。当App Clip即将发布时,则必须在app的相应设置界面完成配置工作。

本文主要介绍 方式,其他方式可参考苹果开发文档。

1. 首先将 通过 在手机运行起来。

2. 打开手机【设置】-【开发者】-【 】-【 】。

3. 步骤 2 的 URL 编码成一个二维码()

通过控制面板上的二维码扫描设备进行扫描操作,即可触发App Clip Card的弹出显示。

5. 点击查看,进入 App Clip

到目前为止,我们已成功打造了一款App Clip,现在可以对这个项目进行一番回顾与总结:

开发难度:

App Clip 在技术层面主要针对 iOS 开发者设计,对于iOS开发者而言,制作App Clip的过程可以简化到只需调整一些配置,便能够实现发布。然而,对于想要涉足小程序领域的开发者来说,他们有两条途径可供选择:

投身于iOS原生编程领域;同时,期待跨平台框架对App Clip的兼容性调整。面临挑战:

App Clip 目前仅支持使用苹果的 Sign in with 登录和 Pay 苹果支付功能,暂不支持微信登录、微信支付等线下场景中广泛应用的第三方服务。对于希望借助 App Clip 提升线下服务体验的用户而言,这无疑是一个难题,因为在国内,并非所有人都有 Pay 的使用权限。我们期待 App Clip 团队能够尽快找到更有效的解决方案。

红利:

App Clip的体验轻盈而卓越,开发者能够以App Clip为核心,制作出可供试玩和试用的版本,使用户能够迅速感受其功能,从而减少用户安装的难度,并提升整体的转化效果。

通过这篇文章,希望你也能高效的开发一个 App Clip。

分享