夜雨聆风学习资料网

ARTICLE · 1306530

App 开发日报:端侧 AI、原生测试与跨平台工程的 6 个新参考

App 开发日报:端侧 AI、原生测试与跨平台工程的 6 个新参考

今日判断

移动端 AI 的关键问题已经从“能不能跑”变成“能不能进入现有交付链”。

今天先看一个仍在快速变化的 GenAI 运行时,再用成熟的 App 工程项目补齐测试、架构、动画与线上能力。

建议先做一条可测的端到端流程,再决定是否把依赖扩展到整个 App。

项目速览

  • ONNX Runtime GenAI:把 ONNX 大模型的生成循环放进端侧或本地服务。
  • React Native:用 React 复用 Android/iOS 原生界面与模块。
  • Swift Testing:用宏、参数化和 traits 重写 Swift 测试。
  • Now in Android:观察 Kotlin/Compose 的完整架构与性能实践。
  • Firebase Apple SDK:把 AI、崩溃、推送和数据能力接进 Apple App。
  • Lottie for iOS:让设计师交付的矢量动画直接进入原生界面。

1. ONNX Runtime GenAI:端侧模型接入先看平台边界

结论:它适合验证“模型是否能在目标设备上稳定生成”,但当前 iOS 仍在路线图中。

ONNX Runtime GenAI 实现了生成循环、采样、KV Cache 与工具调用语法约束。

仓库支持 Python、C#、C/C++ 和 Java API;Android 已列在当前支持矩阵,iOS 仍标为开发中。

model = og.Model('cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4') generator = og.Generator(model, params) generator.generate_next_token()

这段官方示例说明了最小生成路径。推断:App 团队仍需自己处理模型下载、更新、取消和设备降级。

阶段结论:Android 或桌面端可以先测首 token、峰值内存和连续生成温度;iOS 项目先不要把它当现成 SDK。

适用对象:需要本地摘要、离线问答或私有数据处理,并能维护模型转换链的团队。

平台与最低要求:当前支持 Linux、Windows、macOS 和 Android;架构覆盖 x86、x64、arm64。iOS 是 roadmap 项。

接入成本与风险:中到高。ONNX 模型、量化配置和硬件后端需要逐机型验证;README 还说明项目可能收集使用数据,需先看隐私文档。

资料:microsoft/onnxruntime-genai · 1,149 Stars · MIT · v0.17.0(9 月 28 日)· 11 月 4 日 08:08 统计。

2. React Native:跨端效率来自原生边界管理

结论:React Native 仍适合快速铺开双端,但原生模块、升级和发布工具必须一起治理。

React Native 用 React 描述界面,最终渲染为 Android 和 iOS 的原生控件。

官方 README 把 Native Modules、Fast Refresh 与渐进式接入列为核心能力;也明确建议新项目优先配合 Expo 等框架。

阶段结论:先把一条页面链路接进现有原生 App,验证返回栈、深链、性能和原生模块调用,再扩展页面数量。

适用对象:需要共享业务 UI,同时保留 Swift/Kotlin 原生能力的 App 团队。

平台与最低要求:覆盖 Android、iOS 及社区维护平台。0.88.1 的具体 Node、JDK、Xcode 和 Android SDK 要求以对应版本模板和升级文档为准。

接入成本与风险:新项目中等,存量迁移中到高。JS 与原生版本必须锁定;升级时要同时检查 Hermes、Fabric、TurboModule 和第三方模块兼容性。

资料:react/react-native · 126,852 Stars · MIT · v0.88.1(10 月 27 日)· 11 月 4 日 08:08 统计。

3. Swift Testing:把测试迁移拆成小步

结论:Swift Testing 的价值在于让新测试更易读,同时保留 XCTest 的渐进迁移路径。

Swift Testing 提供 #expect、#require、参数化测试、traits 和层级组织。

@Test(arguments: ["Weekend at Big Sur", "By Lake Tahoe"]) func titleIsPresent(_ name: String) {   #expect(!name.isEmpty) }

官方文档说明它可与 XCTest 并行使用,测试默认支持并发执行。

阶段结论:先把新模块和关键业务规则用 Swift Testing 写起来,不要一次性重写全部 XCTest。

适用对象:SwiftUI、UIKit 或 Swift Package 工程中,测试数量正在增长的团队。

平台与最低要求:Apple 平台、Linux、FreeBSD、Windows 已支持;Wasm 和 Android 仍以构建为主。Swift Testing 随 Swift 6 与 Xcode 16 提供。

接入成本与风险:低到中。宏和并发语义依赖较新的编译器;从源码构建 main 分支还需要开发快照工具链。

资料:swiftlang/swift-testing · 2,179 Stars · Apache-2.0(Runtime Library Exception)· swift-6.4.2-RELEASE(10 月 30 日)。

4. Now in Android:把架构、模块化和性能放在一个样例里

结论:它不是拿来复制业务的模板,而是用来对照 Compose App 的工程取舍。

Now in Android 是完整的 Kotlin/Jetpack Compose App,包含架构与模块化学习路径。

仓库还展示了 Hilt 测试替身、Roborazzi 截图测试、Macrobenchmark 和 Baseline Profile。

图:官方仓库的 For You、兴趣和主题详情屏幕;来源为 docs/images/screenshots.png。

阶段结论:Android 团队可以从一个列表页开始,对照它的数据层接口、截图测试和启动基线。

适用对象:希望把 Compose、模块化和性能测试纳入同一工程约束的 Android 团队。

平台与最低要求:要求最新稳定 Android Studio;仓库当前版本清单声明 Kotlin 2.3.0、AGP 9.3.2。具体 API level 以锁定提交的 convention plugin 为准。

接入成本与风险:阅读成本低,照搬成本高。它包含演示数据和特定模块边界,不能直接当成你的业务后端或发布配置。

资料:android/nowinandroid · 22,005 Stars · Apache-2.0 · 仓库最近在 11 月 4 日更新;Latest Release 为 0.1.1。

5. Firebase Apple SDK:AI 能力开始进入移动端基础设施

结论:Firebase 的 Apple SDK 已把 AI Logic 与 Crashlytics、App Check、推送和数据服务放在同一套接入面里。

Firebase Apple SDK 收录 Firebase AI Logic、Crashlytics、App Check、Firestore、Messaging 等 Apple 平台库。

Firebase README 特别提示:2026 年 10 月后新版本不再发布到 CocoaPods,应优先规划 Swift Package Manager。

阶段结论:如果 App 已用 Firebase,先单独评估 AI Logic 的数据边界和失败降级,再决定是否扩展到更多产品线。

适用对象:需要在 Apple App 内统一接入 AI、崩溃治理、推送和远程配置的团队。

平台与最低要求:Package.swift 当前声明 iOS 15、macOS 11、tvOS 15、watchOS 8;需要 Swift 6.2.3 与 Xcode 26.2+。visionOS 和 watchOS 的支持范围仍有产品差异。

接入成本与风险:中等。服务条款、数据驻留、隐私清单和 CocoaPods 迁移都要纳入评审;Firebase Analytics 本身不在此开源仓库内。

资料:firebase/firebase-ios-sdk · 6,979 Stars · Apache-2.0 · 13.1.1(10 月 22 日)· 11 月 4 日 08:08 统计。

6. Lottie for iOS:动画交付也要进入工程约束

结论:Lottie 让设计师输出的 Bodymovin JSON 进入原生界面,但复杂动画仍需要真机性能检查。

Lottie for iOS 支持 iOS、macOS、tvOS 和 visionOS,可播放、循环、缩放和交互式拖动矢量动画。

图:官方仓库 Examples1 动画帧;来源为 _Gifs/Examples1.gif,仅用于说明渲染效果。

阶段结论:先用目标机型测试动画复杂度、首帧时间和滚动场景,再决定是否把动画放进首页和列表。

适用对象:需要把设计动画稳定交付到 iOS 原生界面的产品和设计系统团队。

平台与最低要求:Package.swift 声明 iOS 15、macOS 10.15、tvOS 13、visionOS 1.0;支持 Swift Package Manager、CocoaPods 与 Carthage。

接入成本与风险:低到中。JSON 很小但复杂度可能很高;动画资源要做版本管理。项目提供 PrivacyInfo.xcprivacy,且不收集数据。

资料:airbnb/lottie-ios · 26,926 Stars · Apache-2.0 · 4.6.1(6 月 13 日)。

最后

端侧 AI 先用 ONNX Runtime GenAI 做 Android 设备验证;iOS 团队可同步观察 Firebase AI Logic 与原生模型路线。

跨端项目优先验证一条真实业务流;原生团队则从 Swift Testing、Compose 样例和 Lottie 这类局部能力开始。

今天值得落地的顺序:先测量,再接入;先限定边界,再扩大依赖。

数据来源与统计时间

Stars、归档状态、最近推送与 Release 来自各仓库 GitHub API,采集于 2026-11-04 08:08(北京时间);Stars 为累计值,不代表当天新增。

最低平台与工具链来自各仓库 README、Package.swift、版本清单和 Release 说明。图片均来自入选项目仓库,来源与许可见 image-sources.md。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料