本指南适用于需要在向团队简报或比较报价之前决定应用构建方式的创始人、产品负责人和CTO。我们的移动产品开发指南涵盖从探索到规模化的完整路径,包括后端和应用商店发布;本页面聚焦于一个决策,并比该指南中的摘要更为深入。
本指南内容
- 四条路线,而非两条
- 各路线对比
- 六个决策问题
- 所有权成本:超越首次发布
- 后期切换路线
- AI功能与路线选择
- 安全性与商店规则适用于每条路线
- Netbase如何构建应用
- 哪些交付记录存在,哪些不存在
- 本指南的局限性
- 常见问题
- 下一步
四条路线,而非两条
这个问题通常被描述为原生与跨平台之争,但买家实际上是在四条路线中做选择。
- 两个原生应用。一个用Swift开发的iOS应用,一个用Kotlin开发的Android应用,各自使用平台原生工具和界面组件。
- 一套跨平台代码库。一次编写,在两个平台上运行。React Native自称“用JavaScript编写,用原生代码渲染”,其界面使用平台原生界面元素;Flutter强调从“单一代码库”构建多平台应用,并绘制自己的界面。
- 共享逻辑,原生界面。业务规则、网络和数据层一次编写,每个平台保留各自的界面。Kotlin Multiplatform将此定义为其共享层级之一,与同时共享界面的层级并列。
- 移动端Web或渐进式Web应用。一个可安装到主屏幕、在浏览器限制内支持离线的响应式网站。web.dev将其描述为“在Web上构建和部署”的应用体验。
每条路线都是某些产品的正确答案。在产品需求尚未明确之前,就凭习惯或框架之争选定一条路线,是常见的错误。
各路线对比
| 维度 | 原生(两个应用) | 跨平台(单一代码库) | 移动端Web或PWA |
|---|---|---|---|
| iOS和Android的构建工作量 | 两套代码库和两套技能 | 大多数功能共用一套代码库,部分原生模块 | 与网站共用一套代码库 |
| 设备功能与平台API | 完整且即时,包括新系统功能上线当天即可使用 | 大多数通过插件支持;新的或罕见的API需要原生代码 | 受浏览器限制;后台任务受到约束 |
| 界面体验 | 完全符合平台原生风格 | 接近原生;取决于框架和实现质量 | Web风格;适合表单和内容 |
| 性能空间 | 最高,适合图形、摄像头和实时处理 | 满足大多数商业、电商和内容应用 | 适合内容和表单;重度任务下最弱 |
| 发布路径 | 两个应用商店,两个审核队列 | 两个应用商店;部分内容可不经发布直接更新 | 无需商店审核;更新即时生效 |
| 招聘与维护 | 需维持两套专业技能 | 一套主要技能加原生知识(用于边缘情况) | Web技能 |
共享逻辑加原生界面在界面和设备访问方面与原生列一致,业务规则则向跨平台列靠拢:逻辑重复较少,但仍需构建两套界面。
六个决策问题
-
应用对设备的依赖程度如何?
持续定位、蓝牙配件、摄像头处理、增强现实或大量离线数据,倾向于选择原生,或选择预先规划原生模块的跨平台方案。
-
iOS和Android是否必须同步上线?
如果是,单一代码库通常能更快达到功能一致并保持;如果某一平台在目标市场占主导地位,可先推出单一原生应用。
-
界面的复杂程度如何?
复杂动画和图形倾向于原生或自绘界面的框架;表单、列表和结账流程则不然。
-
谁来维护它五年?
应用需要经历每年的操作系统和商店变更。选择你的团队或合作方能够持续支撑的技术,而非当年流行的技术。
-
哪些部分可以与其他渠道共享?
使用JavaScript和React的Web团队可以与React Native应用共享技能和部分逻辑;以网站为核心的产品可能暂时不需要应用。
-
用户多久打开一次?
每天使用的工具值得占据主屏幕图标。每月使用几次的订购门户,例如B2B印刷订购门户,通常先做响应式Web应用更合适。
与将为应用付费和运营的人一起,针对这六个问题评估每条路线。如果两条路线得分相同,选择维护人员已经熟悉的那条。
所有权成本:超越首次发布
首次发布的报价在各路线之间难以直接比较,因为成本在上线后会持续变化。
- 双原生应用构建成本更高,后续功能开发工作量大致翻倍,但框架层被平台更新破坏的风险最低。
- 跨平台可节省大部分重复的功能开发工作,但增加了框架升级、插件维护和偶发的原生修复;每年都需为此预留时间。
- 共享逻辑可节省重复的业务规则和测试——这通常是Bug的高发区——而界面工作量仍然翻倍。
- 移动端Web运行成本最低,但如果业务场景真正需要一个应用,可能会在功能、留存率和商店曝光度上付出代价。
Netbase未单独发布移动应用的时间表。其SaaS MVP的典型周期为8至12周,拥有独立后端且覆盖两个平台的移动产品,在范围区间内会比依赖现有API的单平台应用更靠上。SaaS MVP架构与交付路线图展示了首次发布范围通常是如何确定的。这些是典型范围,而非报价。
后期切换路线
路线并非一成不变,但切换需要时间成本。
- 从移动端Web转为应用。这是常见路径。从一开始就为移动端设计后端和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的荣誉包括:Top Mobile App Developers 2020,Clutch。
哪些交付记录存在,哪些不存在
- 存在的记录。Dey Page记录描述了一套适用于iOS和Android的React Native代码库,在与Web目录相同的后端上提供消费者和商家两种模式。RB Marketplace记录描述了基于市集API的Android客户购物应用,iOS在扩展范围内。
- 不存在的记录。两份记录均未发布下载量、评分、使用情况、性能或成本数据,且RB Marketplace记录未注明框架,因此两者均不作为某条路线更便宜或更快的证明。没有任何记录对同一产品的原生与跨平台构建进行比较。
本指南的局限性
- 框架相关表述来自各框架在访问日期的官方文档;框架变化较快,请在做决策前查阅当前版本。
- 此处的成本比较仅具方向性参考意义。已发布的节省百分比因来源和方法而异,均未用作Netbase数据。
- 上述标准适用于商业、电商和内容应用;游戏和硬件产品需要独立分析。
常见问题
跨平台比原生便宜吗?对于需要覆盖两个平台的商业应用,通常是的,因为大多数功能只需编写一次。当应用依赖需要原生代码的设备功能时,节省幅度会缩小,而框架升级每年都会增加工作量。
跨平台应用速度更慢吗?对于表单、列表、目录和结账流程,用户几乎感知不到差异。复杂图形、实时摄像头处理和增强现实仍然倾向于原生代码。
我们能先做跨平台,后期再切换到原生吗?可以,逐屏迁移,前提是从首次发布起就将业务逻辑与后端和界面分离。
我们真的需要一个应用吗?不一定。如果用户偶尔使用该服务,且不需要设备功能或离线支持,响应式Web应用通常是更好的第一步。
下一步
分享您的应用需要完成的任务、所需平台以及需要连接的系统,我们将预约方案评审,与您共同评估各路线。您也可以查看移动应用开发或更多Netbase洞察。
相关服务与解决方案
移动应用开发:AI功能助力电商与产品团队
Netbase 为零售商、初创企业和产品团队提供移动应用开发服务,助其通过客户常用的手机触达用户:跨平台 React Native 应用与加载迅速、高转化率的移动端电商,并在合适场景引入AI功能。我们在探索阶段明确每款应用的范围,复用现有后端与API,并与您共同规划应用商店发布。
Learn More
移动产品加速器:AI就绪应用的可复用基础模块(登录、推送、离线、支付)
移动应用加速器是一套可复用的应用基础模块,涵盖登录、推送通知、离线数据及支付,由Netbase针对每个新产品进行配置,使构建工作从应用的差异化功能(如AI搜索、个性化或端侧AI)开始。这是一项成长型能力,以跨平台React Native技术交付为定制开发服务。
Learn More
讨论项目
Netbase JSC帮助企业设计、构建、现代化及运营数字产品与AI驱动的业务系统。+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
取得联系
告诉我们您想构建、现代化或运营的内容。