Apple Watch开发(一)--简介

一、Apple Watch简介

2015年3月10日,苹果在旧金山Moscone Center召开2015年春季新品发布会,正式发布了Apple WATCH,分为运动、标准、定制三版,将于2015年4月10号预售,4月24日上市。

Apple Watch采用蓝宝石屏幕不怕刮,两个屏幕尺寸。支持电话,语音回短信,连接汽车,天气、航班信息,地图导航,播放音乐,测量心跳、计步等几十 种功能,是一款全方位的健康和运动追踪设备。有普通、运动、定制三个系列,18K金铝金属等材质配色。Apple Watch表带有多种颜色可以选择:银色,金色,红色,绿色和白色。Apple Watch具有三个系列,Apple Watch Sport、Apple Watch 和Apple Watch Edition。三个系列的表壳材质为铝合金,不锈钢和金,同时可以与多种表带任意搭配组合。

Apple Watch拥有各种各样的个性化表盘,令你随心改变、自定义的设置。在自定义的表盘上,可以增加天气、下一个活动等实用信息。可以显示用户的心跳信息。Apple Watch与iPhone 配合使用,同全球标准时间的误差不超过 50 毫秒。

二、Apple Watch运行模式

刚才对Apple Watch简单介绍了一下,那么对于开发者,我们改如何下手呢?下面从开发的角度说下Apple Watch上的app特点和原理。

首先手表上app和iPhone上app是一种联动关系,即Apple Watch上的开发的app是离不开iPhone的。为什么呢,这个它的运行策略有关,手表的cpu、硬件、电量都是有限的,所以节约空间和电量是很重要的,所以手表界面设计要精简,操作比较少。Android方面也已经有些很酷的手表了,但都是可以独立运行的,这在开发速度上可能就要慢些了,并且对手表硬件要求比较高了。

Apple Watch今年初才上映,因为要提高app的体验,并为开发者们提供了一定的开发适配时间。手表的欢迎程度很大一方面取决于app质量,所以等Watch一上市,肯定就会有很多优秀的app发布了,而且肯定会比Android手表上的app多很多。Watch app和iPhoneapp是无缝关联的,因为Watch上的app都是iPhone帮它运行的,手机和Watch离得近,靠无限传输,在一定程度上节省了Watch的很多工作量,Watch负责显示iPhone处理后的结果,这其实也是一种绑定销售策略。苹果也提出以后是可以在Watch上开发原生独立的app的,但具体什么时候还不确定,当前还是只能开发这种联动的app,Watch上的app其实就是iPhone上app的一部分、一种扩展。



通过这幅图我们可以看出其实Watch app可以当做iPhone上app的精简版,一部分的显示内容和简单操作放到了手表上,来带给用户更多地方便。

三、Apple Watch app界面类型

那么从开发的角度来讲,Watch app有三种和用户交互的方式,或者说Watch app有三种界面:

  • 常规Watch app,这个是必须的,一些简单内容的显示和简单操作,可以看成手机上的精简版;
  • glance类型的界面,是一种纯提示型的界面,是不能和用户互动的,这部分可有可无;
  • notification类型的界面,这是消息通知时用到的,手机也可以接收推送通过这种界面显示,这种是可以和用户互动的。
四、Watch app和iPhone app的关系

刚才说到Watch app和iPhone app是一种联动关系,其实也是一个绑定关系,是一个整体,Watch app并不是一个单独的project,而是在iOS project上扩展的一个Target,Watch app上并没有代码,只有界面资源,代码是在iPhone上运行的。



上图我们可以看出,Watch app和iPhone app是通过Watchkit进行桥接的,所有的代码执行逻辑方面都是在iPhone上运行的,storyboard和图片资源在Watch端显示的,并且Watch app的安装运行都是由iPhone控制的。

此外,一个iPhone每次可关联一个Apple Watch,它们是一对一的关系。目前Apple Watch只能跟iPhone设备配对,不支持ipad。

五、Watch app启动过程

上图是Watch app加载的一个过程,可以看出Watch app的加载是依靠iPhone来进行的,启动app,加载Watch端的storyboard和图片等资源,然后会初始化UI,这个时候就走到iPhone端扩展里的初始化方法了,初始化完了之后就是显示UI,UI中的触发的动作都是去iPhone扩展里调用代码,将执行结果显示到Watch上。

刚才提到的init方法顾名思义了,awakeWithContext:方法就是通过iPhone传递过来的信息初始化UI的,类似我们之前的viewDidLoad,willActivate就相当于之前的viewWillAppear,这样就应该好理解了。

六、Watch app生命周期

iPhone上app都有各自的生命周期,那么Watch app的生命周期呢,从上图我们就可以很直观的看到,从显示UI、用户交互到app结束,每一步都和iPhone对应app的扩展密切交流。

七、Watch app

以上呢是对Apple Watch的特点简介和Watch上app的特点、运行模式和生命周期进行了简单介绍,相信你会对它有一个初步的了解。那么在开发时我们需要单独为Watch app创建一个project吗?当然不是,我们可以在原项目基础上进行扩展、适配。所以Watch上app的数量肯定会在短时间内大幅度提升,质量体验肯定也没的说,这就是一开始说到的Android手表app和Watch app的差距所在。

在我写这篇博客的时候,已经有很多小伙伴拿到Apple Watch了,并且早在其发售之前,已经有很多大型的互联网公司对其app产品进行了开发适配,比如微信和支付宝等,发售Watch之后又有一大批知名app陆续对其做了扩展适配。



并且在iOS8.2之后手机上多出了一个AppleWatch应用,专门为Watch提供的AppStore,当前上面已经发布很多优秀的app,赶快来体验一下吧。

刚才说了一堆Watch app的介绍,那么具体在Xcode中怎么开发呢?在下片文章中将继续介绍。

你可能感兴趣的:(Apple Watch开发(一)--简介)