[关闭]
@springxiao 2015-07-04T16:58:48.000000Z 字数 1808 阅读 4962

Watch OS2.0开发概述

AppleWatch WatchOS2.0

Watch OS 2.0时代
  北京时间2015年6月9日,WWDC在美国旧金山召开,Apple发布了第二代苹果婊(洋名AppleWatch)操作系统,以下简称watch os2.0。
  此处输入图片的描述
  
  这版本最大变化或许就是你能够在watch构建原生app。不像之前的版本,watch app只能存放一些资源与界面文件,主要业务逻辑需要在iPhone上执行代码。在watch os2.0上能够通过apple开放的框架api在watch自身驻留与运行。这样带来的好处就是你的app能启动的更快,运行的更流畅,而不需要每一次操作都通过watch和iPhone的蓝牙模块往返传递数据(蓝牙的带宽是硬伤)。从产品的维度来看,这的确是一次优良的改进,但从程序猿的角度,意味着需要消化的东西变得更多了。
  
                                此处输入图片的描述

Watch OS1.0到2.0

  watch os2.0app中包含的两个相符隔离的bundle共同协作向用户展示app内容, watch app自身包含UI呈现相关的storyboards和 resource 文件, watchKit extension中则存放业务逻辑代码和更新UI的resources。
  
此处输入图片的描述

 以上仅仅是架构上的变化, 但watch app 和watchKit extension 两者在watch os的分工保持一致。watch os1.0中在watchKit extension编写的业务代码迁移到watch os2.0上基本上也是可以正常跑起来的,但这时得从watch os2.0 app的整个架构的角度去思考,这样做是不是合理,而不要一味的去搬代码(始终要记住watch 2.0是一个独立的操作系统,和iPhone没半毛钱关系)。在 extension中实现的代码,必须是基于watchOS SDK,而不是ios SDK,如果apple开放的watch os2.0 api不能满足业务开发的需要,这时有个变通的方法:先在iPhone上通过调用ios sdk 拿到数据,然后再通过WatchConnectivity frameworks传递到watch上。
 
Watch OS1.0转向2.0
  如果决定将watch 1.0 app迁移到2.0上,必须得评估这两者完全不同的系统架构对1.0版本app架构设计带来的影响。以下问题需要慎重考虑:

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注