苹果:开发者别自找麻烦,让我“自身自灭”吧!

全文共 2727 字,预计学习时长 8 分钟

来源:Pexels

苹果作为科技品牌界的翘楚,拥有着自成一体的系统和产品,在世界消费者中口碑一直很高,然而近期它的一系列“骚操作”正在逐渐毁掉它这么多年建立的品牌形象,甚至是网络技术。

智能手机的“智能力”源泉之一: 用于网络的编程语言通常也可以直接应用于手机上的程序。

这主要归功于允许开发者们重写代码的软件,把原本应用于网络端的代码,运用到聆听(Linux)、安卓、微软视窗(Windows)、苹果电脑系统(macOS)等操作程序上。

然而,苹果公司非常不喜欢这种网络科技循环。 它想要苹果商店里装满只有它这里才能找到的应用程序,而不是其他平台上通用的那种。

光想不行,苹果渐渐还付诸行动了。

苹果 近来的一个政策变动 ,让开发人员上传包含网络端代码的应用程序变得更为困难。

来源:Pexels

苹果商店在暗中拒绝使用当下流行编写工具Electron的应用程序了,因为它允许开发者使用网络端代码来编写应用程序。 很多应用商店里大热的应用,像Slack ,Spotify,Discord还有WhatsApp都属于这个范畴。

Slack :聊天群组 + 大规模工具集成软件。

Spotify :在线流媒体音乐播放平台。

Discord :一款专为电子游戏社区设计的免费网络实时通话软件与数字发行平台。

WhatsApp :是Facebook公司的旗下一款手机端跨平台加密即时通讯应用程序。

在编程交流社区Github上有一个 讨论 ,几名开发人员表示,他们用Electron编写的应用遭到了拒绝,但此前并未出现问题,而这次被拒绝的理由是他们的应用“试图掩盖使用应用程序接口(API)的事实”,这种应用程序接口是为在苹果内部使用而开发的,而不是出于第三方开发人员的目的。 使用私有应用程序接口,来开发面向公众的应用程序通常是不受欢迎的,因为这些应用程序可能随时改变或者中断。 但苹果更进一步,直接 拒绝 了这些应用。

多年来,Electron一直在安全地使用这些私有应用程序接口。 这些接口能够让开发者从 根本上提高软件使用性能 ,而苹果许可的开发工具却会让用户体验变差。 可多数开发人员,尤其是那些想要使用私有应用程序接口的人,并没有从苹果那里得实际有效的替代方案。

对于数以千计的开发者而言,现在想要升级他们使用Electron编写的程序是不可能的,除非Electron在它的器具供给组成上能做出显著提升。

或者开发者可以在他们自己的网站上发布应用程序,然后让用户直接下载。 但这意味着放弃苹果应用商店和苹果云(iCloud)同步中的自动更新机制,而且这种直接面向消费者的方式可能很快也会被封锁,因为苹果公司颇有争议的 公证要求 会需要开发者提交审查。

苹果遏制网络技术的行为在其平台上的发展由来已久。 在手机(iOS)系统上, 苹果不允许完全独立的第三方浏览器进入 ,所有的应用程序想和网络端链接时,都需要通过Safari。 尽管像Chrome和Opera这样的浏览器在应用商店里都能够找到,但它们必须要在后台通过Safari才能够进入网页。 也就是说,苹果在手机和平板用户进入互联网的方式上,有绝对的控制权。 为了让开发者直接开发适用于iOS系统的应用,而不是通过网络技术转入的应用,苹果刻意忽略了其他浏览器所实现的 开放网络规范 中的通用部分,以此为自己牟利。

来源:Pexels

苹果这些微妙的反竞争行为,单独看来并没有多么可怕,但是它们共同形成了一个明确的战略。

以网络即时通信技术为例,它支持在网络浏览器中进行视频通话,而且不需要额外的软件来辅助。 它也支持像GoogleMeet这样的即时会议视频应用。 但是苹果 实施这个规范 的进程极为缓慢,不仅没有提供该技术的关键功能,而且在将它 嵌入应用程序 时也不起作用。

苹果还阻碍了一个新兴的标准,渐进式网络应用(ProgressiveWeb Apps,PWAs)的推广。 和Electron一样,PWAs能够让开发人员为台式机和移动设备开发应用程序,但苹果只 采用了它的部分功能 ,这就使该标准由于无法统一而大大降低了可用度。 如果用户使用谷歌浏览器(Chrome)或火狐打开应用程序,PWA就不会遇到同样的问题,但苹果手机和平板用户却不能安装第三方浏览器,这就使基于PWA的技术应用困难。

开发者选择Electron和PWA这样的技术,是因为它们支持平台间快速升级,而不需要一组不同代码库来完成这一过程。 一些人认为这会产生低质量的应用程序,但我认为另一种选择根本产生不了应用程序,或者产生很少更新的应用程序,因为维护Windows、Mac系统和其他基于网络的产品是复杂且昂贵的。 苹果最近推出了一个 名为Catalyst的竞争架构 ,该架构支持平板应用程序开发人员迅速将其应用引入电脑操作系统。 对于专门针对苹果用户的开发人员而言,这是一个很棒的工具,但对于那些跨平台的开发人员来说毫无用处。

苹果这些微妙的反竞争行为,单独看来并没有多么可怕,但是它们共同形成了一个明确的战略:在苹果平台上使用基于网络的技术来构建应用是如此痛苦,以至于开发者根本不会考虑这个选项。 现在,苹果应用商店不再接受使用Electron 开发的应用,开发者可能会找到一些创造性的方法来规避这个问题,但苹果已经为持续不断的猫捉老鼠的游戏做好了准备,因为它计划在应用程序上架这一环节上 施加更多的控制

这些改变可能是以隐私或安全的名义进行的,但现实是,当用户和开发者都没有选择时,这个论点看起来很弱,因为苹果控制着平台、浏览器引擎和发布途径。 抛开你对Electron应用质量的看法,至少很重要的一点就是,要有选择权。

来源:Pexels

苹果对其应用程序生态系统的控制是一种新型的垄断,立法者很难理解,我们也很难予以反击——因为当苹果公司既控制着分销方式,又控制着平台本身时,根本就没有办法完全解除这些限制。

看到这里,不少热心市民可能会指责它“垄断狂耍流氓”,但等到苹果再出新产品,大家又会默默自觉加入“真香小队”。此乃人之常情,毕竟对于普通消费者来说,没啥大影响, 只是可惜了那些开发技术,苦了我们可爱的开发员们……

推荐阅读专题

留言 点赞 发个朋友圈

我们一起分享AI学习与发展的干货

编译组:刘鉴楠、王品一

相关链接:

https://onezero.medium.com/apple-is-trying-to-kill-web-technology-a274237c174d

如需转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017 论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章