一句话回答
原生应用是专门为某一个操作系统开发的移动应用,使用该平台自己的语言、SDK 和界面组件(iOS 用 Swift、Android 用 Kotlin),从应用商店安装,可以完整调用设备功能。
什么是原生应用?
原生应用(Native App)是专门为某一个操作系统开发的移动应用,使用该平台自己的语言、SDK 和界面组件:iOS 用 Swift 或 Objective-C 加 Apple 的框架,Android 用 Kotlin 或 Java 加 Android SDK。它从应用商店安装,直接运行在设备上,可以完整调用相机、传感器、通知、后台任务、安全存储这些硬件和系统功能。
其他选择包括:跨平台应用(一套代码编译或渲染到多个平台,比如 Flutter、React Native)、混合应用(网页代码套在原生外壳里),以及 Web 应用 / PWA(在浏览器里像 App 一样用的网站)。
原生、跨平台、混合和 Web 应用对比
| 原生 | 跨平台(Flutter、React Native) | 混合(外壳里的网页视图) | Web 应用 / PWA | |
|---|---|---|---|---|
| 代码 | 每个平台一套 | 大部分共用 | 共用网页代码 | 一套网页代码 |
| 性能 | 最高 | 大多数 App 接近原生 | 复杂界面偏弱 | 取决于浏览器 |
| 设备能力 | 完整 | 较广,通过插件 | 有限,通过插件 | 受浏览器 API 限制 |
| 观感 | 平台标准 | 接近原生(React Native)或自定义(Flutter) | 像网页 | 像网页 |
| 分发 | 应用商店 | 应用商店 | 应用商店 | 网址,可选安装 |
| 开发和维护成本 | 最高 | 中等 | 较低 | 更低 |
原生应用的优缺点
优点: 性能和响应更好;能完整使用平台功能;符合平台的界面习惯;离线和后台行为可靠;能最早用上新系统的功能。
缺点: 两套代码,常常需要两个团队;两个平台的功能上线时间不同;开发和维护成本更高;每次更新都要经过商店审核。
原生应用的统计
原生应用通过平台 SDK 上报统计数据。常见数据:App 启动(冷启动和热启动)、页面浏览、自定义事件、会话、崩溃、ANR(Android)、机型、系统版本、App 版本和网络类型。和网站不同,页面浏览并不是在每种界面框架里都能自动采集:UIKit 的视图控制器和 Android 的 Activity 可以自动采集,SwiftUI、Jetpack Compose 和 Fragment 常常需要手动调用。
TapCub 里的原生应用
TapCub 提供 Android 和 iOS 原生 SDK,也支持 Flutter、React Native 和鸿蒙。App 报表包括活跃用户、留存、活跃度、稳定性(崩溃、ANR、冷启动)、版本和设备。见跟踪页面浏览。
参考资料
- Apple Developer:Swift
- Android Developers:Kotlin 与 Android
- web.dev:什么是渐进式 Web 应用
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
