跳转至主要内容

您在寻找什么?

探索我们的服务,了解我们如何帮助您实现目标

Client Workspace

原生与跨平台移动开发:如何为应用选择路径

若团队需要将同一业务应用快速发布至iOS和Android,选择跨平台方案;若产品深度依赖设备功能、高性能图形或特定平台的精细体验,选择原生方案。共享业务逻辑加原生界面介于两者之间,移动端网页则适合无需安装的场景。

预约方案评审 查看相关服务

作者 Netbase Commerce and Platform Engineering Desk · 审阅者 David (CEO) · 更新于 · 1 分钟阅读

star

本指南面向创始人、产品负责人和CTO,帮助他们在与团队沟通或比较报价之前,确定应用的技术路径。我们的移动产品开发指南涵盖从需求探索到规模化的完整流程,包括后端和应用商店发布;本页专注于这一单项决策,并比指南摘要更深入展开。

本指南目录

四种路径,而非两种

这个问题通常被描述为原生与跨平台之争,但实际上买家面临的是四种路径的选择。

  • 两套原生应用。iOS使用Swift,Android使用Kotlin,各自采用对应平台的工具和界面组件。
  • 单一跨平台代码库。一套代码同时运行于两个平台。React Native自述为用JavaScript编写,以原生代码渲染,界面使用平台自有组件;Flutter自述为从单一代码库构建多平台应用,并自行绘制界面。
  • 共享逻辑,原生界面。业务规则、网络请求和数据层统一编写,各平台保留独立界面。Kotlin Multiplatform将此列为其共享层级之一,同时也支持共享界面的层级。
  • 移动端网页或渐进式网页应用(PWA)。可安装至主屏幕并在浏览器限制内离线使用的响应式网站。web.dev将其描述为在网络上构建和部署的应用体验。

每种路径都是某些产品的正确答案。错误在于在梳理产品需求之前,就基于习惯或框架之争而匆忙做出选择。

各路径对比

维度原生(双端)跨平台(单一代码库)移动端网页或PWA
iOS和Android的构建工作量两套代码库,两套技能栈大多数功能共用一套代码库,部分原生模块需单独处理与网站共用一套代码库
设备功能与平台API完整且即时,包括新系统功能在首日即可使用大多数通过插件实现;新增或罕见的API需要原生代码受浏览器限制;后台任务受到约束
界面体验完全符合平台规范接近原生;取决于框架选择和开发投入遵循Web规范;适合表单和内容展示
性能上限最高,适合图形、摄像头和实时处理足以支撑大多数业务、电商和内容类应用适合内容和表单;重度任务下最弱
发布流程两个应用商店,两条审核队列两个应用商店;部分内容可免发布更新无需商店审核;即时更新
招聘与维护需维持两套专业技能栈主要技能栈为一套,边缘场景需原生知识Web技能即可

共享逻辑加原生界面在界面和设备访问方面与原生列相同,业务规则则向跨平台列靠拢:重复逻辑减少,但仍需构建两套界面。

六个决策问题

  1. 应用对设备功能的依赖程度如何?

    持续定位、蓝牙配件、摄像头处理、增强现实或大量离线数据,倾向于原生方案,或倾向于预先规划原生模块的跨平台方案。

  2. iOS和Android是否必须同步上线?

    如果是,单一代码库通常能更快达到功能对等并持续保持;如果其中一个平台占主导地位,可以先上线单平台原生应用。

  3. 界面复杂度有多高?

    复杂动画和图形适合原生方案,或适合自行绘制界面的框架;表单、列表和结账流程则无此要求。

  4. 谁来维护五年?

    应用要经历每年的操作系统和商店变更。选择你的团队或合作方能长期支撑的方案,而非当下流行的方案。

  5. 哪些内容可以与其他渠道共享?

    使用JavaScript和React的Web团队可以与React Native应用共享技能和部分逻辑;以网站为主的产品可能暂时不需要独立应用。

  6. 用户打开应用的频率如何?

    每天使用的工具值得放在主屏幕。每月使用几次的订单门户,例如B2B印刷订单门户,通常更适合先做响应式网页应用。

与应用的出资方和运营方一起,对照这六个问题为每种路径打分。若有两种路径打平,选择维护方已熟悉的那种。

全生命周期成本,不止首次发布

首次发布的报价在各路径之间难以直接比较,因为发布后成本会持续变化。

  • 两套原生应用构建成本更高,后续功能开发工作量大致翻倍,但平台更新破坏第三方层的风险最低。
  • 跨平台方案节省了大部分重复功能开发,但每年需投入框架升级、插件维护和偶发的原生修复。
  • 共享逻辑减少了重复的业务规则和测试工作(这往往是bug的来源),但界面工作量仍需双倍。
  • 移动端网页运维成本最低,但若业务真正需要应用,可能在功能、留存率和商店曝光度上付出代价。

Netbase未单独发布移动应用的交付周期数据。其SaaS MVP的典型区间为8至12周,带有独立后端且覆盖双平台的移动产品,在区间内的位置高于基于现有API的单平台应用。SaaS MVP架构与交付路线图展示了首次发布范围的通常确定方式。以上为典型区间,非报价。

后期切换路径

路径并非不可更改,但切换需要时间成本。

  • 从移动端网页迁移至应用。最常见的路径。从一开始就将后端和API设计为适配移动端,届时应用只需作为新客户端接入,而非全面重写。
  • 从跨平台迁移至原生。通常逐屏进行,从最依赖设备功能的界面开始。界面与业务逻辑的清晰分离是这一切换可行的前提。
  • 从双端原生迁移至共享逻辑。逐模块迁移规则、网络请求和数据层;界面保持不变。

无论选择哪种路径,都应为网站、应用和合作方系统保持统一的API,将应用商店账号注册在自己名下,并记录所支持的最低应用版本。后端相关内容参见移动应用后端、API与离线同步,发布后的补丁、安全和版本节奏参见移动应用维护、安全与发布运营。

AI功能与路径选择

AI功能本身很少决定路径选择,但会改变两件事。需要在设备端运行的功能,例如摄像头文字识别或离线建议,需要访问平台的机器学习API——原生代码或原生模块能最先获得支持。在云端运行的功能,例如助手和基于自有数据的搜索,通过后端调用,在每种路径下均适用,因此服务商密钥不会内置于应用中。Netbase与主流商业及开源AI模型合作,按产品需求选型,每项AI辅助变更均经过人工审核。以下各项说明其在Netbase的成熟度。

安全要求与商店规则适用于所有路径

安全性与框架的关系不如与实践的关系密切。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的数据。
  • 本文中的判断标准适用于业务、电商和内容类应用;游戏和硬件产品需要单独分析。

与 Netbase 顾问规划下一步

常见问题

对于需要同时覆盖两个平台的业务应用,通常如此,因为大多数功能开发只需完成一次。当应用依赖需要原生代码的设备功能时,这一节省会减少,框架升级也会带来每年额外的工作量。

对于表单、列表、目录和结账等场景,用户通常感受不到差异。高强度图形处理、实时摄像头处理和增强现实仍然更适合原生代码。

可以,逐屏进行,前提是从首次发布起就将业务逻辑与后端和界面分离。

不一定。如果用户偶尔使用该服务且不需要设备功能或离线能力,响应式网页应用往往是更好的第一步。

下一步

告诉我们应用需要完成的任务、所需覆盖的平台以及需要对接的系统,我们将预约一次方案评审,与您共同评估各路径。您也可以查看移动应用开发或更多Netbase洞见。

面向电商与产品团队的移动应用开发(含AI功能) 面向电商与产品团队的移动应用开发(含AI功能)

Netbase 为零售商、初创企业和产品团队提供移动应用开发服务,帮助客户通过手机触达用户:跨平台 React Native 应用与高速移动电商,快速加载、提升转化,在手机场景中融入AI功能。我们在探索阶段确定范围,复用现有后端与API,并与您共同规划应用商店发布。

Learn More
line
AI就绪移动应用加速器:可复用的身份验证、推送、离线与支付基础模块 AI就绪移动应用加速器:可复用的身份验证、推送、离线与支付基础模块

移动应用加速器是一套可复用的应用基础模块,涵盖登录、推送通知、离线数据与支付,由Netbase JSC为每个新产品进行配置,使开发从差异化功能起步,如AI搜索、个性化推荐或端侧AI。这是一项成长型能力,以跨平台React Native技术交付定制开发。

Learn More
line

与 Netbase 远程合作

Netbase 所有项目均远程交付,任何国家和行业的客户均可与我们合作;Netbase 已服务全球 80 个国家的客户。合同与发票由 Netbase JSC 签发,付款方式为银行转账至 Netbase JSC 公司账户或 PayPal Business。欢迎通过 WhatsApp 或邮件联系 CEO Huy Nguyen(David)。

联系 Netbase

洽谈项目

Netbase JSC 帮助企业设计、构建、现代化和运营数字产品及 AI 赋能的业务系统。
项目咨询

project@netbasejsc.com

WhatsApp

+84 937 869 689

办公地址

91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam

取得联系

告诉我们您想构建、现代化或运营什么。

告诉我们您想构建、现代化或运营什么。

联系 Netbase