专访知名iOS开发者王巍:轻车熟路的Apple Watch开发

专访知名iOS开发者王巍:轻车熟路的Apple Watch开发

采访对象王巍,微博ID“onevcat”,圈儿内人称喵神,知名iOS/Unity 开发者,现居日本,就职于LINE。喵神是objc中国项目发起人,开源过广受开发者喜爱的Xcode插件VVDocumenter,主创或参与开发《姬骑士和最后的百龙战争》、《英雄 Slash》、《冒险谜题王国》以及《小熊推金币》等多款游戏,个人应用代表有《番茄工作法》(Pomodoro Do)和《云端记账》(Our Money)

作为一款被业内寄予厚望的颠覆性产品,Apple Watch毫无疑问是这次苹果发布会上最大的亮点。同样苹果对待Apple Watch的态度,从库克不遗余力的出现在各大媒体的版面中就可见一斑。

WatchKit初探

然而对于开发者来说,Apple Watch的开发更有价值。

去年11月29号苹果 的WatchKit 随 Xcode 6.2 Beta 一并释出。但是第一版的WatchKit ,并没有开放更多的接口给开发者。王巍认为:“也许是因为处理性能和电量的因素的限制或者其他原因,现在手表上的app注定只是作为手机app的延伸和补充。”这和之前的通知中心扩展的情况是类似的,也是Apple对之前手表app的定位。

但正是由于提供的接口相对简单、限制较多,所以对于之前有多 target (比如通知中心扩展或者自定义输入法)开发经验的开发者来说,在开发Apple Watch App时应该是轻车熟路了。

王巍同样认为:“Apple Watch App简单说就是在手表上负责显示和交互的,实际上的指令和逻辑部分还是手机端在进行处理。所以开发中可能会有很多时候需要在不同的设备间传递信息,不过WatchKit的API还是非常友好的,可以完全不用担心。”

不过笔者相信,苹果公司不遗余力的宣传Aplle Watch 并不只是为了让它成为手机的附属品,库克在接受媒体采访时也表示,会让Apple Watch像iPhone一样不可或缺。所以完整版的WatchKit更是所有开发者的期待。

在谈到完整版的WatchKit时,王巍提到:“开放更多的传感器,甚至是可以脱离手机制作完全的手表app,这样会有很多很有意思或者能真正改变我们生活方式的app出现。”

Watch App

2014年12月,Google Play的应用数量超过150万,仅一个月后,App Store应用也超过150万款。因此在一年的时间内,移动应用数量增加超过60万款,也就是说每天有超过800款新的APP面世。

app市场已经是一片红海。除非立意新颖,制作精良的app以外,可能绝大多数app都无法存活得很好。如果想要在Apple Watch App上有所收获的话,确实还是需要精心打磨产品。

王巍告诉笔者:“重要的是思路的转变,因为手表的使用场景其实和手机有很大不同,如何抓住这个区别,会是关系到一款Watch App能不能成功的关键。”

实际情况却是,已经有很多开发者已经基于当前版本的WatchKit开发了一些游戏,但收到的反响却非常糟糕。抛开手机续航问题不谈,Watch App中游戏一定是必不可少的部分。

“从初级版本WatchKit的API来看,想现在为手表开发一款好玩的游戏应该是有一定难度的。游戏一直是app的一个大类,而市场对移动设备的游戏也有着强烈的需求。手表现在对大家来说是一个全新的舞台,一定会出现很多新想法,所以我是比较期待和看好适合手表的游戏的”王巍说道。

语言选择

2014年Swift以惊人的速度在iOS开发中迅速普及,甚至一度有超越老大哥Objective-C的架势。许多开发者也在这两种语言的选择中纠结不已,对于开发语言的选择王巍认为:“如果是小型项目或者个人项目的话,我会选择使用Swift,因为用Swift可以省去不少模式化的代码,开发效率会高一些。但是如果是大型商业项目或者是在已有的Objective-C项目里,我可能还是偏向于使用Objective-C,因为可以和已有项目无缝兼容,也有更多的工具可以使用。不过这个状况可能会随着Apple对Swift的完善以及社区的快速发展而在一两年内被彻底改变。”

对于开发者来说无论是Objective-C,Swift都是希望能够快速的适应开发节奏,开发出更好的App.

对于开发者的成长王巍认为:“对于程序设计的初学者,不管是iOS还是其他开发,有一点共通之处就是需要多实践。很多问题只有你在实践中才会遇到,也才会去想办法解决。我不是很赞成总是通过看书来学习,有书籍引入门固然重要,但最后绝对需要自力躬耕才能掌握和熟练。所以不管是个人项目还是公司项目,或者是开源项目,如果能真正地参与进去的话,相信一定会进步很快。”

在日本的 iOS 开发者和国内很多开发者不同的一点是对资讯的接触和掌握感觉要更前沿一些,也就是视野要开阔一些。王巍坦言说:“日本的团队合作和规范确实很厉害,每个项目基本无论大小,都会有很正式的文档和 wiki,另外像测试和 CI 这些方面也都很注意,对程序员来说开发起来特别舒服,基本可以专注于开发的内容。日本开发者另一个优点是做事认真,每一个特性都要反复确认;QA 那边过来的 bug 报告也十分详尽,对于定位问题很有帮助,但是另一方面,他们的基础可能比国内的 CS 出身的开发者同行们要差一些,开发效率也低不少。所以两国开发者其实互相都有需要学习和借鉴的地方。”

结语