每个曾经运行过应用程序项目的经理都知道这个场景:有人问“我们要在本机还是跨平台上进行?”谈话变成了偏好的争论,而不是标准的争论。最终的决定是出于本能,或者是房间里说话声音最大的人。
为了做出正确的决定,您不需要使用 Kotlin 进行编程。但您需要了解原生 Android 应用程序的基本原理。如果没有这一点,您就将战略选择委托给当前供应商的意见。
这篇文章是一个门户。目的是为经理、创始人或产品专业人士提供与技术团队平等对话并了解利害关系的概念基础。
Android 中的“本机”是什么意思
原生 Android 开发是使用该平台的官方工具和语言(目前主要是 Kotlin(历史上是 Java))以及 Google 自己的开发套件来构建应用程序。
与之相对的是跨平台方法,例如 Flutter、React Native 或 PWA,它们承诺在 Android 和 iOS 上运行单一代码。 Native 意味着为 Android 量身定制的代码,直接与操作系统对话。
实际的区别在于接近程度。本机应用程序可以直接访问相机、传感器、通知、GPS 和所有设备的功能,无需中间层。这通常会转化为更好的性能、更好的集成和更好的体验,但代价是维护纯 Android 代码库。
为什么这个主题现在很重要
Android 在巴西市场占据绝对主导地位。该国绝大多数手机都运行 Android,其中许多是入门级设备,内存和处理能力较少。这改变了一切。
一款笨重、优化不佳的应用程序在设计师的 iPhone 上运行良好,但在大多数人使用的流行手机上就会崩溃。在社会影响或数字政府项目中,忽视这一现实意味着排除最需要服务的公民。
了解当地人的基本原理就是了解为什么在许多巴西场景中,性能不是奢侈,而是包容性。一个公共服务应用如果不在普通公民的手机上运行,根本就无法发挥其功能。
您需要了解的支柱
语言和架构
Kotlin 是 Google 推荐的官方语言。它是现代的,比传统的 Java 更安全,更能防止常见错误,而且效率更高。当供应商提出一个 Android 项目时,“它会使用 Kotlin 吗?”这是一个合理且具有启发性的问题。
比语言更重要的是建筑。 MVVM 和 Clean Architecture 等术语描述了代码的组织方式。您不需要掌握它们,但您需要知道它们的存在,因为糟糕的架构会使维护变成一场噩梦,并使应用程序的成本随着时间的推移而爆炸。
生命周期和碎片
Android 应用程序生活在一个分散的环境中:数千种设备型号、多个系统版本、不同的屏幕尺寸。制作精良的本机应用程序可以处理这种多样性。制造质量差的产品会损坏一半的设备。
这是许多人在预算中忽略的无形成本。在单个手机上进行测试并不是测试。碎片化是 Android 挑战的一个固有部分。
发布和更新
该应用程序位于 Google Play 商店,并具有发布规则、审查和隐私政策。更新是有一个过程的,并不是每个用户都会更新。这意味着您必须长期使用旧版本的应用程序,这与同时为每个人更新的网站相比存在巨大差异。
安全和用户数据
本机应用程序将数据存储在设备上并与服务器交换信息。这些点中的每一个都是一个风险面。敏感数据存储在哪里?它们被加密了吗?与服务器的通信安全吗?这些问题不是实施细节,而是从第一天开始的要求。
在巴西,[LGPD0 使这一点更加具体。在没有法律依据的情况下收集个人数据、保留超过必要的信息或因技术监督而泄露信息不再只是声誉问题:它已成为真正的法律风险。不当处理公民数据的政府或健康应用程序会使该机构面临制裁,更糟糕的是,还会破坏公众的信任。安全和隐私是基础的一部分,而不是最后的饰面。
总成本,不仅仅是建筑成本
任何只考虑构建应用程序的成本来制定应用程序预算的人都会犯下项目中最昂贵的错误。实际成本包括持续维护、更新以跟上新的 Android 版本、安全修复、适应商店规则更改以及随着时间的推移不断改进产品。应用程序是一项长达数年的承诺,而不是一次性交付。
了解这一根本性改变了与供应商的对话。成熟的经理不会问“做这件事要花多少钱?”,而是问“在未来三年内保持这种活力和健康需要花多少钱?”第二个问题的答案实际上定义了项目的可行性。
刚刚起步的人最常犯的错误
典型的错误是将本机和跨平台之间的选择视为纯粹的技术问题。它不是。这是一个商业决定。
Nativo 提供了尽可能最佳的体验,但需要单独的 Android 和 iOS 团队,这使维护成本增加了一倍。多平台降低了成本并加快了发布速度,但代价是性能和对尖端资源的访问会受到一定程度的损失。
没有普遍的答案。有适合您情况的正确答案:您的预算、您的受众、应用程序的复杂性以及您拥有的时间。资源不足的初创公司 [MVP1] 和拥有数百万用户的银行应用程序需要不同的决策。
第二个错误是低估维护。应用程序并不是一个在启动时就结束的项目。它是一个活生生的产品,需要不断更新以跟上新的 Android 版本、新的商店规则和安全修复。任何只考虑建设成本而忽视维护成本的人,以后都会失败。
技术决策是愿景决策
选择如何构建应用程序并不是选择技术。它决定了您想要提供什么类型的体验、向谁提供以及您愿意投资多少来维持这些年。
原生 Android 基本原理很重要,因为它们揭示了这一决定背后的真正权衡。那些了解这些权衡的人会谨慎做出决定。那些忽视它的人,决定时尚,然后在返工中支付账单,让用户感到沮丧,并且产品无法扩展。
您不需要成为开发人员。您需要提出正确的问题并理解答案。这是那些引领技术但不一定编写技术的人的角色。
如果您在公司或项目中面临这样的决定,那么在签署任何合同之前值得进行更深入的研究。这里还有其他关于移动策略和产品选择的文章,有助于描绘完整的图景,我可以讨论您的具体案例。
另请阅读
- [原生 Android 开发:启动应用程序的快速指南2
- [应用程序中的 WebView:它是什么以及何时使用它有意义3
- [Android 原生开发:Kotlin 完整指南4
- 【Android原生开发:如何采取必要步骤5
- [应用程序的未来:避免落后的工具清单6
- [初创公司申请-日常清单7
