专题概览:App 的成本不在开发,而在之后每一次维护
App 是六项业务里唯一需要「长期养」的形态:要适配系统新版本、要跟平台审核规则、要维护服务器与推送通道、要在两套应用商店持续更新。它的优势也很明确 —— 能常驻后台、能用硬件能力、能做复杂交互,这些是小程序和网页做不到的。所以判断标准不是「哪个更流行」,而是「这些独有能力,业务是否真的需要」。
实际项目里最常见的浪费是「为一成功能付了两套成本」:明明只是在微信里查订单、预约服务,却先做了双端 App,之后发现没人下载,更新也没人推。也有相反的情况 —— 需要长时间后台定位、需要与蓝牙设备通信,却用小程序硬撑,最后卡在平台限制上。本页先给判断标准,再讲路线选择与上架合规。
还有一个近两年出现的新变量:鸿蒙。华为新机上的鸿蒙 5 已经不再兼容安卓应用包,只认 .hap 原生包,过去「一个安卓包走遍国产手机」的做法在这些机器上直接失效。所以「要不要做鸿蒙版」不再取决于技术偏好,而取决于客户里华为新机的实际占比 —— 这一点在本页第四节单独展开。
一、什么业务该做 App
三个条件满足两个以上,App 才是合理的投入。只满足一个时,小程序或网页通常更划算。
高频且有身份
每天或每周反复使用,用户愿意为一个固定入口付出下载成本,比如内部作业、巡检、销售跟单。
需要系统能力
长时间定位、蓝牙与硬件通信、离线作业、后台同步、相机与文件深度处理,这些超出小程序能力范围。
体验即竞争力
动画、手势、复杂表单与大数据量列表,流畅度直接影响留存,原生体验能带来可感知的差异。
如果业务只是「让客户能查、能预约、能下单」,先用小程序验证需求更稳。等确认有稳定的高频使用,再做 App,两端可以共用一套接口。
二、原生、跨平台、混合怎么选
技术路线直接决定成本结构与后期维护方式。判断依据是「对性能与硬件能力的依赖有多深」,而不是「哪种技术更新」。
| 路线 | 体验与性能 | 成本与周期 | 适合场景 |
|---|---|---|---|
| 原生双端 | 最好,动画与手势无妥协 | 最高,两套代码两套人力 | 高频核心业务、重交互、深度硬件调用 |
| 跨平台 | 接近原生,复杂动画略逊 | 中等,一套代码双端发布 | 业务型 App、内部工具、需要快速双端上线 |
| 混合(H5 套壳) | 依赖 WebView,重交互易卡顿 | 最低,前端人员即可维护 | 以内容展示为主、更新频繁、功能轻 |
| 鸿蒙原生(ArkTS / ArkUI) | 华为设备上最好,可调用分布式与系统 Kit | 在双端之上另加一套工程,三到五周 | 华为用户占比高、需系统级能力或多设备联动 |
多数企业项目的实际选择是跨平台:核心页面用跨平台实现,个别重交互或硬件相关模块用原生插件补齐。这样能在成本与体验之间取得平衡,后期也不会被单一技术绑死。需要提醒的是,跨平台不等于「一套代码完全不用管两端差异」,系统权限、推送通道、上架材料仍然要分别处理。若还要覆盖鸿蒙,主流的跨平台框架已能输出鸿蒙工程,但推送、支付、账号、定位这些系统能力仍需按鸿蒙的 Kit 逐个对接,不能指望「一键三端」。
三、iOS、安卓与鸿蒙的六个差异点
多端不是「同一套界面复制一遍」。下面六件事在各端规则完全不同,必须在设计阶段就分开考虑。
上架审核
iOS 走 App Store 审核,安卓各应用市场分别审核,鸿蒙版还要在华为应用市场单独提交一版。同一版本可能一端通过、一端被拒。
渠道分散
安卓需覆盖华为、小米、OPPO、vivo、应用宝等主流市场;华为机型还涉及鸿蒙版与旧安卓版并存期的分发与引导。
机型适配
安卓机型与系统版本跨度大,低端机、折叠屏、深色模式都要实测;鸿蒙还要覆盖平板与折叠屏的展开态布局。
权限与隐私
三端都要求最小必要授权与隐私说明,iOS 另有跟踪授权与隐私清单要求,鸿蒙需在配置中逐项声明权限用途,缺失会直接退回。
消息推送
iOS 走统一推送通道,安卓需接入各厂商通道才能在应用被杀后收到,鸿蒙走 Push Kit,三套通道要分别接入与测试。
后台限制
三端都会限制后台运行。定位、蓝牙、同步等能力必须按各自系统规则设计,不能假设进程一直活着。
「安卓能跑就行」是双端项目最常见的隐性成本。上架前在三四台不同价位的真机上完整走一遍主流程,比上线后被差评再修便宜得多;有鸿蒙版时,另需在华为真机上单独回归一遍。
四、鸿蒙(HarmonyOS):要不要做、怎么做
判断只看一件事:客户与用户里的华为新机占比。政企客户、单位统一采购、本地制造业与政务场景,华为设备密度通常明显高于市场平均;面向大众消费的轻应用则未必。占比到不了一定规模,先做安卓版并在应用内引导,反而更省。
| 接入方式 | 做法与代价 | 适合场景 |
|---|---|---|
| 鸿蒙原生开发 | 用 ArkTS 与 ArkUI 重写界面层,业务逻辑与服务端接口复用;独立工程、独立发版 | 华为用户占比高、需要系统级能力或多设备联动 |
| 跨平台框架出鸿蒙包 | 由 Flutter 等框架输出鸿蒙工程,界面代码复用度较高;系统能力仍需调用鸿蒙 Kit | 已有跨平台工程、希望以较小代价先覆盖鸿蒙 |
| 元服务(卡片/轻入口) | 不装应用也能用的轻形态,负一屏、搜索、扫码可直接进入 | 只做查询、预约、出示凭证这类单一动作 |
语言与框架
ArkTS 为主语言,ArkUI 做声明式界面;开发与调试在 DevEco Studio 中完成,工程与安卓是两套结构。
一次开发多端部署
同一工程可按窗口尺寸自适应手机、折叠屏、平板与车机,用断点与栅格区分布局,不必为每类设备单独做一套。
系统能力对接
推送、账号、支付、定位、扫码、分享都走华为对应的 Kit,权限需在配置中声明并说明用途,缺声明会直接失败。
分布式与多设备
跨设备流转、碰一碰、多屏协同是鸿蒙的差异能力,适合巡检、门店、会议等需要手机与平板/大屏配合的场景。
上架华为应用市场
在 AppGallery Connect 建应用、提交软著与备案材料、过隐私与内容审核,规则与安卓渠道不完全相同。
三端并行维护
每增加一端,就多一套发版、审核与兼容测试。版本节奏要统一规划,避免各端功能与文案长期不一致。
有两点要提前说清:一是鸿蒙 5 起不再兼容安卓 APK,把原安卓包直接改名上架是行不通的;二是系统版本与市场规则更新很快,具体接口、权限与审核要求请以华为官方最新文档为准,我们按当前规则做适配与预检,但不承诺「一定能过审」。
五、技术实现的六件事
这些事与界面无关,但决定了 App 上线后是否稳定、能不能持续迭代。开发阶段没做,后期补的成本会翻倍。
- 账号与身份:手机号一键登录、第三方登录与多端同步要统一设计;换设备、换号码不能丢数据。
- 接口与版本兼容:接口做版本化,老版本 App 仍可正常使用;强制更新只在安全或数据不一致时使用。
- 离线与弱网:本地缓存、请求重试、断点续传按业务需要配置,弱网下的失败提示要能指导用户操作。
- 崩溃与性能监控:接入崩溃采集,关注启动耗时、卡顿率与内存占用,按版本对比而不是看总体数字。
- 发布与灰度:保留回滚能力,先小比例灰度再全量;安卓可分批放量,iOS 可用分阶段发布。
- 安全:通信全程加密、校验服务端证书、关键参数签名,避免仅靠前端校验做权限判断。
六、上架与合规:要准备什么
上架不是开发完成后的最后一步,而是从项目第一天就在准备的事。下面几项缺一项,就无法提交或会被退回。
| 事项 | 要求 | 谁准备 |
|---|---|---|
| 开发者账号 | iOS 需企业开发者账号并年费续订;安卓各市场需企业开发者认证;鸿蒙版需在 AppGallery Connect 建应用并完成开发者实名认证 | 客户主体,开发方协助注册 |
| App 备案 | 按要求完成备案后方可上架,材料与网站备案口径不同 | 客户主体,开发方提供技术材料 |
| 软件著作权 | 多数安卓市场与华为应用市场要求提供软著或受理证明 | 客户主体,可委托代办 |
| 隐私合规 | 隐私政策、权限清单与用途说明、第三方 SDK 清单、账号注销入口;鸿蒙需在工程配置中同步声明权限用途 | 开发方起草,客户确认 |
| 行业资质 | 医疗、金融、教育、招聘等类目需前置许可或备案 | 客户提供,缺失无法过审 |
上架规则、备案要求与各市场材料会调整,正式提交前请以平台与主管部门的最新规定为准。我们会按当前规则做预检并整理材料清单,但不承诺「一定一次过审」—— 审核结论由平台作出。
七、八周开发排期
标准双端项目八周,其中一周专门留给提审与整改。审核时间不受开发方控制,做活动或上线计划时务必留出缓冲。若同期还要覆盖鸿蒙,按复用程度另加三到五周,通常与双端并行开发、错峰提审,不必等安卓版全部完成再启动。
| 周次 | 主要工作 | 交付物 |
|---|---|---|
| W1 | 需求梳理、技术路线确认(含是否做鸿蒙版)、账号与资质启动办理 | 功能清单、路线说明、资质清单 |
| W2 | 原型与视觉设计、三端交互差异确认 | 设计稿、组件规范 |
| W3–5 | 双端开发、服务端接口、后台管理与推送接入;鸿蒙版界面层与 Kit 对接并行推进 | 内测包、接口文档、后台账号 |
| W6 | 真机测试、弱网与低端机验证、性能优化;华为真机单独回归 | 测试报告、缺陷清单 |
| W7 | 提审材料准备、各端提交(含华为应用市场)、按驳回意见整改 | 审核回执、整改记录 |
| W8 | 正式发布与灰度放量、埋点校验、培训与文档交接 | 线上版本、操作手册、维护说明 |
W1 的账号与资质最容易被低估:企业开发者账号审核、软件著作权登记、备案都可能需要数周。华为开发者实名认证与鸿蒙版应用创建建议同批办理,不要等界面做完才去注册。
八、上线后的迭代与数据
App 上线不是终点。系统每年更新、审核规则持续调整,不迭代的 App 半年后就会出现兼容问题。
- 崩溃率:按版本看,超过行业常见水平就要优先修,它会直接吃掉留存与评价。
- 启动耗时:冷启动时间是用户对「快不快」的第一印象,通常最该优先优化。
- 版本分布:老版本占比高说明更新提示不到位,接口兼容期要相应拉长。
- 留存与关键路径:次日与七日留存、核心任务完成率,比下载量更能说明产品是否成立。
- 评价与反馈:应用商店评价与客服记录是最直接的缺陷来源,按周归类而不是逐条救火。
保持「每两到三周一个版本」的节奏,每次只解决一类问题。一次改太多,出问题时无法定位是哪一处引起的。
如果 App 需要与官网、搜索流量或 AI 问答协同,可参考 网站建设及 SEO 专题 与 AI 营销专题;轻量场景也可以先用 小程序 验证需求。
九、常见问题
做 App 还是做小程序?
看是否需要 App 的独有能力:长期后台运行、蓝牙与硬件通信、离线作业、复杂动画与大数据量列表。需要就做 App;只是查询、预约、下单这类低频服务,小程序更划算。两者可以共用一套服务端接口,先做一端验证、再扩展另一端,不必从零重来。
原生开发还是跨平台?
业务型 App、内部工具、需要快速双端上线,跨平台通常更合适,一套代码双端发布,成本约为原生双端的六到七成。对性能与交互动画要求高、需要深度调用硬件的项目,原生更稳。也可混合:主体用跨平台,个别重模块用原生插件补齐。
上架需要准备哪些材料?
核心是五类:企业开发者账号、App 备案、软件著作权(多数安卓市场要求)、隐私政策与权限及 SDK 清单、行业前置资质(医疗、金融、教育等)。账号与备案周期最长,建议项目第一周就启动。具体材料清单以各应用市场与主管部门的最新要求为准。
iOS 审核最常见的被拒原因是什么?
集中在四类:功能不完整或存在明显缺陷、缺少隐私说明与权限用途、使用了未声明的第三方 SDK、虚拟内容支付未走平台内购规则。提交前用正式账号把主流程走通,准备好演示账号与说明,能减少大部分往返。
安卓要上几个应用市场?
至少覆盖华为、小米、OPPO、vivo 与应用宝五个主流市场,覆盖了绝大多数安卓用户。各市场要求的资质与材料不完全相同,通常需要软著、备案与隐私政策。渠道越多,后续每版的提交与维护工作量也越大,可按实际用户来源逐步扩展。
App 一定要持续更新吗?
要。iOS 与安卓每年都会发布大版本,接口与权限策略随之调整;应用商店也会更新审核规则。完全不更新的 App 通常半年到一年就会出现兼容问题甚至被下架。建议保持每两到三周一个小版本的节奏,及时跟进系统适配。
用户数据怎么合规处理?
四件事必须做到:只收集业务必需的信息并逐项说明用途、提供可访问的隐私政策、给出账号注销与数据删除入口、接入第三方 SDK 时如实披露并限制其收集范围。涉及敏感信息还需评估存储位置与加密方式,不做超出告知范围的使用。
上线后怎么判断 App 有没有效果?
看四个数:崩溃率与启动耗时判断技术是否稳定,次日与七日留存判断产品是否被需要,核心任务完成率判断流程是否顺畅,活跃用户与订单或工单量判断是否产生实际价值。下载量只是起点,不能作为效果结论。
鸿蒙版必须单独开发吗?原来的安卓包能不能直接上?
必须单独出包。鸿蒙 5 起不再兼容安卓应用包,只安装 .hap 格式的原生应用,把安卓包改名或套壳都提交不上去。业务逻辑与服务端接口可以复用,界面层要用 ArkTS 与 ArkUI 重写,推送、账号、支付、定位这些系统能力要按华为对应的 Kit 重新对接。已有跨平台工程的话,可由框架输出鸿蒙工程,复用度会高一些。
加一个鸿蒙版要多久、大概多多少投入?
常规业务型 App 在双端基础上增加三到五周,投入约为双端的四成到六成,具体看自定义原生模块有多少:界面重写是固定成本,硬件通信、蓝牙、扫码、地图这类深度集成的模块越多,鸿蒙侧要重做的部分也越多。建议在原型阶段就把三端差异一起确认,等双端做完再补鸿蒙,设计返工和联调成本都会更高。
只做鸿蒙、不做安卓和 iOS 可以吗?
可以,但只适用于用户几乎全在华为设备上的场景,比如单位统一配发的鸿蒙终端、内部巡检与作业工具。面向大众的业务不建议单端上线,安卓与 iOS 仍覆盖大部分用户。若预算有限,更稳的顺序是先用小程序或安卓版验证需求,确认有稳定使用后再补鸿蒙。