本指南面向创始人、产品负责人和CTO,帮助他们在与团队沟通或比较报价之前,确定应用的技术路径。我们的移动产品开发指南涵盖从需求探索到规模化的完整流程,包括后端和应用商店发布;本页专注于这一单项决策,并比指南摘要更深入展开。
本指南目录
- 四种路径,而非两种
- 各路径对比
- 六个决策问题
- 全生命周期成本,不止首次发布
- 后期切换路径
- AI功能与路径选择
- 安全要求与商店规则适用于所有路径
- Netbase如何构建应用?
- 哪些交付记录存在,哪些不存在?
- 本指南的局限性是什么?
- 常见问题
- 下一步
四种路径,而非两种
这个问题通常被描述为原生与跨平台之争,但实际上买家面临的是四种路径的选择。
- 两套原生应用。iOS使用Swift,Android使用Kotlin,各自采用对应平台的工具和界面组件。
- 单一跨平台代码库。一套代码同时运行于两个平台。React Native自述为用JavaScript编写,以原生代码渲染,界面使用平台自有组件;Flutter自述为从单一代码库构建多平台应用,并自行绘制界面。
- 共享逻辑,原生界面。业务规则、网络请求和数据层统一编写,各平台保留独立界面。Kotlin Multiplatform将此列为其共享层级之一,同时也支持共享界面的层级。
- 移动端网页或渐进式网页应用(PWA)。可安装至主屏幕并在浏览器限制内离线使用的响应式网站。web.dev将其描述为在网络上构建和部署的应用体验。
每种路径都是某些产品的正确答案。错误在于在梳理产品需求之前,就基于习惯或框架之争而匆忙做出选择。
各路径对比
| 维度 | 原生(双端) | 跨平台(单一代码库) | 移动端网页或PWA |
|---|---|---|---|
| iOS和Android的构建工作量 | 两套代码库,两套技能栈 | 大多数功能共用一套代码库,部分原生模块需单独处理 | 与网站共用一套代码库 |
| 设备功能与平台API | 完整且即时,包括新系统功能在首日即可使用 | 大多数通过插件实现;新增或罕见的API需要原生代码 | 受浏览器限制;后台任务受到约束 |
| 界面体验 | 完全符合平台规范 | 接近原生;取决于框架选择和开发投入 | 遵循Web规范;适合表单和内容展示 |
| 性能上限 | 最高,适合图形、摄像头和实时处理 | 足以支撑大多数业务、电商和内容类应用 | 适合内容和表单;重度任务下最弱 |
| 发布流程 | 两个应用商店,两条审核队列 | 两个应用商店;部分内容可免发布更新 | 无需商店审核;即时更新 |
| 招聘与维护 | 需维持两套专业技能栈 | 主要技能栈为一套,边缘场景需原生知识 | Web技能即可 |
共享逻辑加原生界面在界面和设备访问方面与原生列相同,业务规则则向跨平台列靠拢:重复逻辑减少,但仍需构建两套界面。
六个决策问题
-
应用对设备功能的依赖程度如何?
持续定位、蓝牙配件、摄像头处理、增强现实或大量离线数据,倾向于原生方案,或倾向于预先规划原生模块的跨平台方案。
-
iOS和Android是否必须同步上线?
如果是,单一代码库通常能更快达到功能对等并持续保持;如果其中一个平台占主导地位,可以先上线单平台原生应用。
-
界面复杂度有多高?
复杂动画和图形适合原生方案,或适合自行绘制界面的框架;表单、列表和结账流程则无此要求。
-
谁来维护五年?
应用要经历每年的操作系统和商店变更。选择你的团队或合作方能长期支撑的方案,而非当下流行的方案。
-
哪些内容可以与其他渠道共享?
使用JavaScript和React的Web团队可以与React Native应用共享技能和部分逻辑;以网站为主的产品可能暂时不需要独立应用。
-
用户打开应用的频率如何?
每天使用的工具值得放在主屏幕。每月使用几次的订单门户,例如B2B印刷订单门户,通常更适合先做响应式网页应用。
与应用的出资方和运营方一起,对照这六个问题为每种路径打分。若有两种路径打平,选择维护方已熟悉的那种。
全生命周期成本,不止首次发布
首次发布的报价在各路径之间难以直接比较,因为发布后成本会持续变化。
- 两套原生应用构建成本更高,后续功能开发工作量大致翻倍,但平台更新破坏第三方层的风险最低。
- 跨平台方案节省了大部分重复功能开发,但每年需投入框架升级、插件维护和偶发的原生修复。
- 共享逻辑减少了重复的业务规则和测试工作(这往往是bug的来源),但界面工作量仍需双倍。
- 移动端网页运维成本最低,但若业务真正需要应用,可能在功能、留存率和商店曝光度上付出代价。
Netbase未单独发布移动应用的交付周期数据。其SaaS MVP的典型区间为8至12周,带有独立后端且覆盖双平台的移动产品,在区间内的位置高于基于现有API的单平台应用。SaaS MVP架构与交付路线图展示了首次发布范围的通常确定方式。以上为典型区间,非报价。
后期切换路径
路径并非不可更改,但切换需要时间成本。
- 从移动端网页迁移至应用。最常见的路径。从一开始就将后端和API设计为适配移动端,届时应用只需作为新客户端接入,而非全面重写。
- 从跨平台迁移至原生。通常逐屏进行,从最依赖设备功能的界面开始。界面与业务逻辑的清晰分离是这一切换可行的前提。
- 从双端原生迁移至共享逻辑。逐模块迁移规则、网络请求和数据层;界面保持不变。
无论选择哪种路径,都应为网站、应用和合作方系统保持统一的API,将应用商店账号注册在自己名下,并记录所支持的最低应用版本。后端相关内容参见移动应用后端、API与离线同步,发布后的补丁、安全和版本节奏参见移动应用维护、安全与发布运营。
AI功能与路径选择
AI功能本身很少决定路径选择,但会改变两件事。需要在设备端运行的功能,例如摄像头文字识别或离线建议,需要访问平台的机器学习API——原生代码或原生模块能最先获得支持。在云端运行的功能,例如助手和基于自有数据的搜索,通过后端调用,在每种路径下均适用,因此服务商密钥不会内置于应用中。Netbase与主流商业及开源AI模型合作,按产品需求选型,每项AI辅助变更均经过人工审核。以下各项说明其在Netbase的成熟度。
-
已交付:商品推荐引擎。
基于4over4的浏览和购买历史构建,部署于Web端而非原生应用中。
-
成长能力:应用中的端侧与云端AI功能。
包括机器学习、NLP、计算机视觉和生成式AI功能;除4over4案例外,尚未关联已发布的案例研究。
安全要求与商店规则适用于所有路径
安全性与框架的关系不如与实践的关系密切。OWASP移动应用安全验证标准(MASVS)对各项控制进行了分类,涵盖存储、加密、网络通信和韧性,适用于原生和跨平台应用。Apple应用审核指南和Google Play政策适用于其商店中的所有应用,无论以何种方式构建。Netbase的安全实践涵盖安全代码审查与版本控制、传输层TLS加密和静态AES加密、基于角色的访问控制以及管理后台的MFA。
Netbase如何构建应用?
Netbase使用React Native构建跨平台应用,当功能需求决定时选择原生路径;React Native开发者长期以来是其招聘的岗位之一。团队规模3至30人,涵盖业务分析师、项目经理、解决方案架构师、开发人员、QA和UI/UX设计师,通常在需求探索完成后1至2周内启动。Netbase的大多数项目在探索完成后按固定总价合同交付,定制开发中客户拥有为其创建的知识产权。移动应用开发服务页面介绍了合作方式,前端与移动技术页面展示了完整技术栈,移动产品加速器是可复用构建模块适配产品时的起点。Netbase获得了Clutch颁发的Top Mobile App Developers 2020认可。
哪些交付记录存在,哪些不存在?
- 已有记录。Dey Page记录描述了一套覆盖iOS和Android的React Native代码库,消费者模式和商户模式共享与Web目录相同的后端。RB Marketplace记录描述了基于市场API的Android消费者购物应用,iOS包含在扩展范围内。
- 不存在的记录。两份记录均未发布下载量、评分、使用情况、性能或成本数据,且RB Marketplace记录未注明框架,因此两者均不能作为某种路径更便宜或更快的证明。目前没有任何记录对同一产品的原生版本和跨平台版本进行比较。
本指南的局限性是什么?
- 框架相关表述来自各框架在访问日期的官方文档;框架迭代较快,请在决策前查阅当前版本。
- 本文中的成本比较仅供方向性参考。已发布的节省比例因来源和方法不同而有所差异,均未用作Netbase的数据。
- 本文中的判断标准适用于业务、电商和内容类应用;游戏和硬件产品需要单独分析。
常见问题
对于需要同时覆盖两个平台的业务应用,通常如此,因为大多数功能开发只需完成一次。当应用依赖需要原生代码的设备功能时,这一节省会减少,框架升级也会带来每年额外的工作量。
对于表单、列表、目录和结账等场景,用户通常感受不到差异。高强度图形处理、实时摄像头处理和增强现实仍然更适合原生代码。
可以,逐屏进行,前提是从首次发布起就将业务逻辑与后端和界面分离。
不一定。如果用户偶尔使用该服务且不需要设备功能或离线能力,响应式网页应用往往是更好的第一步。
相关服务与解决方案
面向电商与产品团队的移动应用开发(含AI功能) Netbase 为零售商、初创企业和产品团队提供移动应用开发服务,帮助客户通过手机触达用户:跨平台 React Native 应用与高速移动电商,快速加载、提升转化,在手机场景中融入AI功能。我们在探索阶段确定范围,复用现有后端与API,并与您共同规划应用商店发布。
Learn More
AI就绪移动应用加速器:可复用的身份验证、推送、离线与支付基础模块 移动应用加速器是一套可复用的应用基础模块,涵盖登录、推送通知、离线数据与支付,由Netbase JSC为每个新产品进行配置,使开发从差异化功能起步,如AI搜索、个性化推荐或端侧AI。这是一项成长型能力,以跨平台React Native技术交付定制开发。
Learn More
与 Netbase 远程合作
Netbase 所有项目均远程交付,任何国家和行业的客户均可与我们合作;Netbase 已服务全球 80 个国家的客户。合同与发票由 Netbase JSC 签发,付款方式为银行转账至 Netbase JSC 公司账户或 PayPal Business。欢迎通过 WhatsApp 或邮件联系 CEO Huy Nguyen(David)。
洽谈项目
Netbase JSC 帮助企业设计、构建、现代化和运营数字产品及 AI 赋能的业务系统。project@netbasejsc.com
+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
取得联系
告诉我们您想构建、现代化或运营什么。