华为,贸易禁令,以及开发者
国外一篇写给应用开发人员的文章,建议不要过于依赖谷歌服务,为将来的华为新系统做准备
【华为,贸易禁令,以及开发者】
上周,美国政府对华为实施了某种程度的贸易禁令。确切的结果还在被破译中,但是路透社报道,谷歌已经决定不再将播放商店和商业谷歌应用程序(Gmail, YouTube等)交付给华为用于未来的设备。科技博客The Verge和彭博(Bloomberg)也证实了这一点,并详细说明英特尔(Intel)、高通(Qualcomm)和其他芯片组制造商也在停止向华为销售芯片。谷歌的推特强调“现有”设备,为这一报道提供了证据。XDA开发人员指出,华为的一份声明进一步表明,谷歌的禁令已经到位。
假设所有这些都是真实发生的,下面是对这种情况的一些想法,着眼于它如何影响开发人员。
目前看来,华为现有设备和用户似乎不会立即受到影响。所有的措辞都表明,Play Store和相关的谷歌专有技术将继续在华为过去和现在的设备上得到支持。谷歌的决定将对未来的设备产生最大的影响。这也意味着目前的设备可能无法升级到Android Q或更高版本,但开发者已经习惯了这些设备无法升级到Android OS。因此,对于目前为华为用户服务的开发者来说,短期内不应该有任何改变。
最终的结果将是,所有华为设备的工作原理都将与华为在中国销售的设备相同。谷歌没有为这些设备授权他们的套件。华为在谷歌Play生态系统之外的设备分销方面有着丰富的经验,因此从技术角度来看,这将是一个令人头痛的问题,但不应成为华为的障碍。
华为软件面临的最大挑战是弄清楚用户将如何获得他们的应用程序。在中国有无数的应用商店,包括华为自己的,填补了Play商店留下的空白。华为或许可以使用自己的应用商店,或者利用与西方主要应用品牌有关系的现有合作伙伴,让“大牌”应用在没有商店的华为设备上运行。正如罗恩•阿马德奥(Ron Amadeo)所指出的,面向Android的亚马逊应用商店(Amazon AppStore)很可能不是一个选择,即便华为希望如此,因为亚马逊是一家美国公司。
如果华为真的走这条路,并在中国境外销售非谷歌Play设备,开发者应该注意这些设备上包括哪些应用商店。它们可能是你的应用程序的一个有趣的分销渠道,作为Play Store的补充,因为华为在很多市场都是一个主要品牌。幸运的是,这些应用程序商店将尝试让那些拥有商店列表的开发者更容易在其他商店中进行交叉列表。
这有助于说明当开发人员只关注Play Store时所出现的问题。虽然这是自谷歌离开中国以来,Play Store第一次遭受损失,但考虑到近年来人们对反垄断/反竞争行为的重新兴趣,这可能不是最后一次。在过去的10年里,我一直在断断续续地恳求开发者们让他们的发行渠道多样化,这样一个渠道的问题(比如Play商店禁令)就不会影响他们的整个业务。或许华为最终将帮助建立一个明确的Play Store替代品,或至少突显出其他分销渠道对开发者的机遇。
这也有助于说明为什么我尽量避免依赖Play Services框架。与Play服务密不可分的应用程序只能通过Play Store分发。从战术上讲,这或许有道理,但对开发商来说,IMHO是一个糟糕的战略决策。如果您使用Play服务,则有两种产品风格:Play服务一种和另一种。确保另一种风格可以“优雅地降低”您的应用程序体验,如果您的某些用户因为某种原因无法使用Play服务,那么您的应用程序体验就会受到影响。
当然,这也指出了应用程序捆绑包、谷歌的应用程序签名服务、即时应用程序和其他任何将您锁定到Play Store的东西的问题。如果你的应用程序可以有条件地使用这些东西,但没有它们也能生存,那就太好了!如果你的应用不能在没有Play Store的情况下正常运行,我想再次强调,这不是一个明智的战略选择。
就操作系统本身而言,从实际的角度来看,这一贸易禁令不能阻止华为通过Android开源项目(AOSP)与Android合作。即使美国政府试图宣称华为不能与美国开发的开源软件合作,也没有什么好办法阻止它。此外,与之前的中兴禁令一样,作为美中正在进行的贸易谈判的一项解决方案,该禁令很有可能在不久的将来被解除。
然而,从战略角度来看,这有可能促使华为采取一种长期的“非Android”策略,与他们过去帮助自己摆脱对美国芯片依赖的努力保持一致。长期以来,三星一直试图使其操作系统产品多样化,Tizen就是其中之一。华为自己也在尝试开发另一个操作系统。我可以看到三星、华为,或许还有其他公司(HMD?)组成一个财团,致力于开发下一代移动操作系统。仅三星和华为就占据了智能手机市场的三分之一,所以如果他们“合作”,无论他们支持什么操作系统,都会非常有趣。
如果华为——不管有没有其他制造商——开始推出一款新的移动操作系统,关键将是为其开发应用程序。用户希望能够安装各种不同的应用程序。华为或许能够让开发者相信,他们拥有足够的设备发行数量,这是值得的。然而,这仍然相对容易做到。这可能是通过某种Android兼容层实现的,就像黑莓尝试的那样。这可能是通过某种Android运行时实现的,类似于Chrome OS的工作方式。这可以通过集中精力获得现有的跨平台工具包(Flutter、React Native等)来支持他们的新操作系统。这可能是通过确保Kotlin的多平台方法能够同时支持Android和新操作系统。它可以通过这些的组合,或其他类似的解决方案。但它必须存在 - 告诉开发人员,他们必须从头开始,这将使其在中国以外的地方出售。
DR:从短期来看,你可能想用华为作为一个理由,让你的Android应用程序在技术(Play服务)和分销(Play商店)方面不那么依赖谷歌。从中期来看,当有机会出现时,考虑一下您可能希望采取哪些步骤来更容易地支持一些新操作系统——无论是来自华为、谷歌(Fuchsia)还是其他公司的操作系统。
繁忙的程序员指南Android开发:法律允许的最多的Android知识!:-)