Apple Watch为什么不能直接运行程序?
Apple Watch的优点很明显:例如各类推送通知设置好了会很实用,例如提醒你别坐太久,如果你喜欢被人关注的感觉,那么优点还可以加一项回头率。但是它的缺点也很突出:例如电池不是特别够用,例如响应不够快。
目前的Apple Watch操作系统上,所有的应用程序实际上还是跑在iPhone上,没法在手表上直接运行,使得运行效果大打折扣。针对这个问题,苹果在WWDC 2015大会上给出了方案:发布全新的watchOS 2, 在这个第二代系统中,开发者可以为Apple Watch打造的原生应用。
让应用直接跑在Apple Watch上,不用再通过蓝牙来回在手表和手机上来回传输应用数据,自然会让整个手表用起来速度更快。
苹果在官方网站阐述了原理:含有代码和源(code and resources)的WatchKit扩展并没有被放在watchOS 1的手表应用内,而是被放在了其相对应的iOS应用上,由iPhone运行后再将结果传输给Apple Watch。
而在watchOS 2上,WatchKit扩展被移到了手表应用中, 而且不仅仅在手表应用内运行,还在手表应用内传输数据。这样就减少了手机和手表之间的消息传递,不仅使得Apple Watch的应用运行速度加快,而且即使当你的iPhone不在身边的时候Apple Watch里面的应用也可以独立运行。
但是为什么苹果一开始不这么做?在一定程度上还是出于对续航的考虑。在Omni Group负责iOS应用开发的William Van Hecke在接受Wired采访时说道,这是苹果考虑到当前的技术水平所做出的决定,通过把运算的工作交给手机,减少手表电量的负担。
可以说,目前Apple Watch的运行状态是苹果对能耗和性能进行权衡后的一个折衷方案。
当大家都在抱怨Apple Watch的续航的时候,Van Hecke反而认为Apple Watch的目前的电量还好,反倒是iPhone的电池因为要不断承担手表上应用程序的计算工作导致电量消耗很快。
事实上,在和几位已经用了一段时间Apple Watch的同事聊起这个问题时,他们都觉得,应用启动是会慢点,但是并不会对整体的使用体验带来太大影响。
所以让程序直接跑在Apple Watch上并不是一个完美的解决方案,手机的电池续航或许会因此有所提升,但是如果手表自己承担运算工作,电量恐怕会耗得更快。
也就是说,更流畅更有趣的Apple Watch,有可能是以牺牲宝贵的电池续航时间来实现的。
对于这一点,Van Hecke的比喻是:“这就像你从小公寓搬进了大房子,空间变大了,但是你的东西也变多了,所以对你来讲活动空间并没有变得宽敞。”
Wired则对这个比喻进行了进一步的延伸:
一开始开发者和用户都被困在了大房子里的箱子里,如今箱子打开了,大家在大房子里蹦蹦跳跳当然玩得更开心,但是总免不了弄脏地板。
苹果要做的工作还有很多,既要带来更好的体验,也得限制开发者写出太耗资源的应用。