转载

要跟上苹果的步伐对开发者来说也是不容易

  如果这些视觉改变还不够的话,请你想想 4 种 iPhone 尺寸,iPhone 4s、iPhone 5/5s、iPhone 6 和 iPhone 6 Plus。为了不甘示弱,苹果还于 2015 年发布大屏 iPad Pro,并运行支持分屏的 iOS 9 操作系统。

  在过去 3 年时间里,为 iOS 做设计时的考虑从两种尺寸增长到了 12 种。为了适应,iOS 需要 24 种不同的布局。真是疯狂。

  像 CloudKit、 HomeKit 和 CarPlay 这类技术,除了熟悉框架连续改进和更新之外,这个月月初,苹果发布 iOS 9.3 预览版,这些技术的升级也没有停止。WWDC 大会才应用全新升级的日子早就已经远去。

  这些还不够,2014 年,苹果还发布了新的编程语言——Swift。2015 年,Swift 迎来一个重大升级,而且还向公众开源,为下一个重大修改做准备。

  你还觉得库克领导下的苹果不够创新?这话可别让应用开发者听,他们还想要一个假期呢,可到了 2015 年底,也没有缓解、轻松的迹象。

  更多平台,更多的输入方式

  在去年 9 月份的苹果新品发布会上,苹果给我们带来了更多新的输入方式,苹果创新的速度也来快,也越来越明显。

  Apple Pencil、遥控器、语音输入。这些全都是间接输入,你和屏幕上的内容进行交互。在 Apple TV 上,你需要打造 2 种特殊遥控器:普通远程遥控和授权的第三方游戏手柄。

要跟上苹果的步伐对开发者来说也是不容易

  但我们要知道的是,在 9 月份那场发布会之前,iOS 开发者只需要考虑直接输入,不需要考虑间接输入方式。

  对大部分开发者来说,这需要花费数年时间来充分利用这些不同的输入方式。

  2014 年下半年,苹果发布 Apple Watch 和 iPhone 6 Plus。在竖屏模式下,iPhone 6 Plus 的屏幕看起来确实是像一款 iPhone,但是在横屏模式下,它就像一台 iPad。

  2015 年下半年,苹果带来了 Apple TV 和 iPad Pro。一场发布会就带来了 2 个新平台。开发者表示压力山大。

  苹果正在以极快的速度发展。也许会有人说,苹果的软件质量不行,处处都是 bug。确实,过去几年,苹果发布的软件中暗藏不少 bug。可是,这也和苹果以前所未有的速度更新软件有关系。

  当你考虑到这些软件要支持不同的设备和用户,你就能够明白 bug 的存在几乎无法避免。其中有些 bug 还很令人讨厌。

  那些质问苹果软件质量的用户无法理解苹果究竟推出了什么,又是如何推出。如果你花时间来想想一个平台供应商面临的问题,想想苹果的规模,你可能就会换一个角度想:有多少 bug 被修复了。

  过去几年,苹果完成的业绩很是惊人,但在你大加赞赏之前,你更要了解哪些软件框架开发的细节,以及它们如何被推向不同的平台。

  我们观察苹果已经有一些日子了,对于软件发布这些事情,我们略知一二。优秀的软件都在多款硬件设备上、不同的情况下经过多重严格测试。

  想要你的软件更快一点?那就在最慢的硬件上运行,如果它在最慢的硬件上都能运行,那么在其他设备上便不会有问题。比如 iOS 9,它也在 iPhone 4s 和第一代 iPad mini 上运行测试。

  想要应用的网络快的能飞上天,没有一点点延迟?那就在 Wi-Fi 和蜂窝网络下多次转换测试软件。此外,还要在 3G 网络和低带宽网络下测试,比如 GPRS。

  听起来很简单,是吗?你要在全部已知的条件下进行严格、全面的测试。如果你稍微认真一点,你就会抓到一大把 Bug。这些对应用开发者来说并不少见,因为我们可以从理论上描述软件将在哪一种环境下运行。开发者提供的是应用,苹果提供框架和平台。

要跟上苹果的步伐对开发者来说也是不容易

  苹果要测试框架,执行框架的作用,那么苹果不得不测试框架的应用。所以,当应用开发者知道他们整个环境的时候,苹果必须依赖第三方。只有和外部开发者合作才可以在预期环境中测试代码。没错,他们也可以内部测试,但是,最终的验证也是在框架公布出去,在第三方开发者手里完成。

  和应用开发者不同,这对于平台开发者来说计划不可能,比如苹果,很难再见弄清楚每一种可能出现的情况。

  苹果是一家有诸多秘密的公司,我相信它们最新的最优秀的软件通常都面向那些尚未发布的硬件平台。我们已经建立合适的测试需求,用来测试所有可能的设备。但是,这对软件开发者来说并不适用,因为他们的目标硬件还在草稿上。更甚的是,如果没有硬件,应用开发者就无法测试一个框架的应用。

  所以,如果苹果以来第三方来测试框架,他们就需要耐心等待,等待目标硬件向开发者开放。到那个时候,他们才可以在新的框架上实现真正的严格的测试。

  鸡生蛋和蛋生鸡的问题

  对苹果来说,当苹果发布一款硬件,并宣布几周后上市,这就给能第三方开发者留了一点时间来适配应用。

  可是,对第三方来说,这样的话,他们没有任何机会将软件带到新硬件上。在苹果第一次公布硬件的时候,他们需要新的框架已经为他们准备好。

  这一直是一个困扰苹果的难题,即使是乔布斯也没有很好的解决方案。

  想着等待 SDK 在 iPhone 上完美工作,但 iPhone 的应用商店永远都在变化。在苹果发布 iPad 两年之后,苹果不得不在硬件发布之前就先发布 SDK。

  苹果面向 iPad 的解决方案并不理想,因为它只给了开发者一个月的时间。结果就是,很多应用没有能够在 iPad 上发挥自己最好的效果,应用的特性也没有得以展现。

要跟上苹果的步伐对开发者来说也是不容易

  在库克成为苹果 CEO 之前,他是苹果的首席运营官。苹果是一个大型的硬件制造商。从外部来看,这需要非常复杂的背后供应链支持。因此,许多计划就要提前很早制定。如果苹果已经确定何时出货,部件却还未准备好,产品的推出就会遭到延迟。在库克的打理之下,苹果的供应和制造渠道已经成为全球最高效的渠道。

  库克一定也明白,面对苹果产品尺寸和复杂性时,狠抓制造问题的重要性。

  苹果如何推出新的框架和技术,以支持那些未来几年都不会推出的硬件设备?更困难的是,苹果如何能够保密,同时又要和数百万开发者分享新技术,以方便新技术能够被正确测试?

  大家还记得 auto-layout (自动布局)第一次发布的时候吗,它开始的时候是为 Mac 发布,它是一项复杂的技术。一年之后,它登陆 iOS。再过了两年,iPhone 6 和 6s 发布,平台变得更加碎片化,auto-layout 就更加被需要了。

  那为什么苹果以前推出这么早?因为它需要测试,很多的测试。

  自动布局是一种全新的排布应用的方式,它的背后有很多复杂的技术在支撑。它需要在真实的环境中测试,被真正的第三方开发者测试。这项技术一开始的时候很粗糙,但每一次更新都得到优化和提升。

  到 iPhone 6 和 6 Plus 发布的时候,它已经被开发者接受,并成为他们偏好的一种布局应用的方式。

  这样做的结果是,许多第三方应用在适配 iPhone 6 和 iPhone 6s 的时候只需要做少量修改和优化即可。

  一个全新的硬件平台,连同软件一起发挥了它的独特功能。需要批评的是,iPhone 6 的尺寸之谜直到发布了才揭晓。

  两年前,大约是 WWDC 2014 的时候,苹果给我们带来“尺寸等级”的说法,当时许多人将它当成是苹果将发布大尺寸 iPhone 的线索。

  在 WWDC 2015 上,苹果发布了 iOS 9 操作系统,为 iPad 带来了分屏功能,这让“尺寸等级”有了存在的必要。iPad Pro 发布之后,应用开发者不需要担心应用对更大屏幕的适配。如果开发者已经采用尺寸等级,他们就不需要对应用大幅修改。

  应用就是未来

  许多权威人士认为,库克是一个伟大的组织者,不认为在他的领导下,苹果能够产出惊艳的产品。我们却认为库克能够前所未有的点燃苹果的产品野心。

  库克领导下的苹果意识到,第三方开发者对于苹果产品获得成功的重要性,应用开发者和硬件供应商同样重要。将第三方开发者视为产品供应链的一部分,这是库克最伟大的成就之一。

  iPad、Apple Watch 和 Apple TV 都需要优秀的软件来吸引用户。2015 年秋季新品发布会上,库克说,应用是 TV 的未来。库克认为,应用是一切的未来。感谢库克,我们现在有 Apple Watch 应用、TV 应用,还有 Apple Pencil 应用。

  平台越来越多,希望开发者能跟上。

正文到此结束
Loading...