專訪知名iOS開發(fā)者王?。狠p車熟路的Apple Watch開發(fā)
原創(chuàng)采訪對象王巍,微博ID“onevcat”,圈兒內(nèi)人稱喵神,知名iOS/Unity 開發(fā)者,現(xiàn)居日本,就職于LINE。喵神是objc中國項目發(fā)起人,開源過廣受開發(fā)者喜愛的Xcode插件VVDocumenter,主創(chuàng)或參與開發(fā)《姬騎士和***的百龍戰(zhàn)爭》、《英雄 Slash》、《冒險謎題王國》以及《小熊推金幣》等多款游戲,個人應用代表有《番茄工作法》(Pomodoro Do)和《云端記賬》(Our Money)
作為一款被業(yè)內(nèi)寄予厚望的顛覆性產(chǎn)品,Apple Watch毫無疑問是這次蘋果發(fā)布會上***的亮點。同樣蘋果對待Apple Watch的態(tài)度,從庫克不遺余力的出現(xiàn)在各大媒體的版面中就可見一斑。
WatchKit初探
然而對于開發(fā)者來說,Apple Watch的開發(fā)更有價值。
去年11月29號蘋果 的WatchKit 隨 Xcode 6.2 Beta 一并釋出。但是***版的WatchKit ,并沒有開放更多的接口給開發(fā)者。王巍認為:“也許是因為處理性能和電量的因素的限制或者其他原因,現(xiàn)在手表上的app注定只是作為手機app的延伸和補充。”這和之前的通知中心擴展的情況是類似的,也是Apple對之前手表app的定位。
但正是由于提供的接口相對簡單、限制較多,所以對于之前有多 target (比如通知中心擴展或者自定義輸入法)開發(fā)經(jīng)驗的開發(fā)者來說,在開發(fā)Apple Watch App時應該是輕車熟路了。
王巍同樣認為:“Apple Watch App簡單說就是在手表上負責顯示和交互的,實際上的指令和邏輯部分還是手機端在進行處理。所以開發(fā)中可能會有很多時候需要在不同的設備間傳遞信息,不過WatchKit的API還是非常友好的,可以完全不用擔心。”
不過筆者相信,蘋果公司不遺余力的宣傳Aplle Watch 并不只是為了讓它成為手機的附屬品,庫克在接受媒體采訪時也表示,會讓Apple Watch像iPhone一樣不可或缺。所以完整版的WatchKit更是所有開發(fā)者的期待。
在談到完整版的WatchKit時,王巍提到:“開放更多的傳感器,甚至是可以脫離手機制作完全的手表app,這樣會有很多很有意思或者能真正改變我們生活方式的app出現(xiàn)。”
Watch App
2014年12月,Google Play的應用數(shù)量超過150萬,僅一個月后,App Store應用也超過150萬款。因此在一年的時間內(nèi),移動應用數(shù)量增加超過60萬款,也就是說每天有超過800款新的APP面世。
app市場已經(jīng)是一片紅海。除非立意新穎,制作精良的app以外,可能絕大多數(shù)app都無法存活得很好。如果想要在Apple Watch App上有所收獲的話,確實還是需要精心打磨產(chǎn)品。
王巍告訴筆者:“重要的是思路的轉(zhuǎn)變,因為手表的使用場景其實和手機有很大不同,如何抓住這個區(qū)別,會是關系到一款Watch App能不能成功的關鍵。”
實際情況卻是,已經(jīng)有很多開發(fā)者已經(jīng)基于當前版本的WatchKit開發(fā)了一些游戲,但收到的反響卻非常糟糕。拋開手機續(xù)航問題不談,Watch App中游戲一定是必不可少的部分。
“從初級版本W(wǎng)atchKit的API來看,想現(xiàn)在為手表開發(fā)一款好玩的游戲應該是有一定難度的。游戲一直是app的一個大類,而市場對移動設備的游戲也有著強烈的需求。手表現(xiàn)在對大家來說是一個全新的舞臺,一定會出現(xiàn)很多新想法,所以我是比較期待和看好適合手表的游戲的”王巍說道。
語言選擇
2014年Swift以驚人的速度在iOS開發(fā)中迅速普及,甚至一度有超越老大哥Objective-C的架勢。許多開發(fā)者也在這兩種語言的選擇中糾結不已,對于開發(fā)語言的選擇王巍認為:“如果是小型項目或者個人項目的話,我會選擇使用Swift,因為用Swift可以省去不少模式化的代碼,開發(fā)效率會高一些。但是如果是大型商業(yè)項目或者是在已有的Objective-C項目里,我可能還是偏向于使用Objective-C,因為可以和已有項目無縫兼容,也有更多的工具可以使用。不過這個狀況可能會隨著Apple對Swift的完善以及社區(qū)的快速發(fā)展而在一兩年內(nèi)被徹底改變。”
對于開發(fā)者來說無論是Objective-C,Swift都是希望能夠快速的適應開發(fā)節(jié)奏,開發(fā)出更好的App.
對于開發(fā)者的成長王巍認為:“對于程序設計的初學者,不管是iOS還是其他開發(fā),有一點共通之處就是需要多實踐。很多問題只有你在實踐中才會遇到,也才會去想辦法解決。我不是很贊成總是通過看書來學習,有書籍引入門固然重要,但***絕對需要自力躬耕才能掌握和熟練。所以不管是個人項目還是公司項目,或者是開源項目,如果能真正地參與進去的話,相信一定會進步很快。”
在日本的 iOS 開發(fā)者和國內(nèi)很多開發(fā)者不同的一點是對資訊的接觸和掌握感覺要更前沿一些,也就是視野要開闊一些。王巍坦言說:“日本的團隊合作和規(guī)范確實很厲害,每個項目基本無論大小,都會有很正式的文檔和 wiki,另外像測試和 CI 這些方面也都很注意,對程序員來說開發(fā)起來特別舒服,基本可以專注于開發(fā)的內(nèi)容。日本開發(fā)者另一個優(yōu)點是做事認真,每一個特性都要反復確認;QA 那邊過來的 bug 報告也十分詳盡,對于定位問題很有幫助,但是另一方面,他們的基礎可能比國內(nèi)的 CS 出身的開發(fā)者同行們要差一些,開發(fā)效率也低不少。所以兩國開發(fā)者其實互相都有需要學習和借鑒的地方。”
結語
在蘋果官網(wǎng)上有蘋果公司這樣寫道“Apple Watch 上開始,iPhone 上繼續(xù)。”只有出色的產(chǎn)品才是開發(fā)者的舞臺,即使有是讓開發(fā)者戴著鐐銬跳舞的WatchKit我們也同樣充滿期待。
另外,51CTO學院全球首發(fā)!Apple Watch + Swift實例開發(fā)!(配字幕)