在2015年9月9日的產品發布會中,Apple宣布了新一代的Apple TV以及tvOS,并且在tvOS中集成了App Store。這使得我們多年以來想在Apple TV上開發專屬應用的夢想成真了。
我和其他教程團隊的成員已經開始深入研究tvOS SDK,并且正在努力為你們準備一些有價值的tvOS教程。在你開這篇文章之前,Chris Wagner已經寫了一篇關于tvOS初步印象的 文章,我也基于這篇文章,設計了個tvOS的教程。
譯者注:可參閱Chris Wagner文章的中譯版: 一個iOS開發者對tvOS SDK的初探。
在這篇教程中,你將會使用TVML開發你的款tvOS應用。信不信由你,你將會使用JavaScript管理你應用的邏輯以及創建TVML模板來展現你應用的UI。
當教程結束后,你應該可以基本理解如果通過TVML和TVJS管理、控制tvOS應用。現在就我們開始吧。
注意:該教程需要Xcode7.1或更高的版本,你們可以在這里 下載。雖然你們可以跟著該教程一步一步的進行操作,但我還是建議你們能儲備一些基本的JavaScript知識。
Apple為開發tvOS應用提供了兩種方式:
TVML Apps:這類應用是使用完整的新開發技術開發的,比如TVML、TVJS、TVMLKit。在稍后我會解釋這些簡稱的含義以及如何使用它們。
Custom Apps:這類應用是使用我們已經比較熟悉的開發技術進行開發的,比如大家熟知的一些iOS框架和特性,像Storyboard、UIKit、Auto Layout等。
這兩種方式沒有孰優孰劣之分,都是Apple推薦的方法,只是按需所取,以及你更想嘗試哪種方式。
在這篇教程中,你們的目標是開發一個能播放 RWDevCon討論視頻的tvOS應用:
雖然用上述兩種方式都可以開發這個應用,但是使用TVML會更加容易一些。所以這就是你在這篇教程中要學和要做的東西。
正如我剛才提到的,種開發tvOS應用的方式是通過TVML、TVJS和TVMLKit這些新的技術實現的。如果你們對這些簡稱比較陌生,不要驚慌,因為他們本就是新鮮玩意。這里我簡單解釋一下:
TVML是一種XML格式,基于“Television Markup Language”。
TVJS是基于JavaScript APIs的腳本語言,它可以根據TVML中定義的內容展示應用。
TVMLKit是連接TVML、TVJS和原生tvOS應用的工具包。
如果你是一名經常使用原生API開發原生iOS應用的開發者,那么看到這些類似前端的技術可能會有點退縮。但希望你能保持一顆學習的心,學習了解這些新的強大的特性。
我在這列舉一個非常典型的Apple TV的應用場景。大家可以想象一下:你們想把一些內容或信息展現給用戶,這些內容和信息儲存在你們的服務器上,并且這些內容的格式、查詢方式都服務于iPhone或iPad中的應用,那么你肯定會希望你的tvOS中的應用也能方便的使用這些內容,并做到與iOS中應用有相似的展現、查詢、導航方式。
上述的這個場景恰恰是我們這片教程中的場景。我們已經有 RWDevCon網站,上面有許多技術討論視頻,所以運用TVML模板應該很容易實現。并且我們也沒有很嚴格的用戶界面的需求,所以我們可以簡單方便的使用Apple提供的UI 模板。
簡而言之:
開發TVML App:如果你主要是通過tvOS應用展現一些內容,不論是音頻、視頻、文本、圖片,并且你已經有服務器存儲這些資源。那么使用TVML開發是不錯的選擇。
開發Custom App:如果你希望用戶不只是被動的通過你的tvOS應用觀看或收聽內容,而是希望用戶與應用有更多的交互,給用戶高質量的用戶體驗。那么你應該選擇使用iOS的相關技術開發自定義的應用。
現在你們已經大概了解了TVML是如何工作的,以及我們為什么要在這篇教程中使用TVML開發tvOS應用。想要更深入的了解,好的辦法就是由你們在實踐中去學習、理解了。讓我們開始動手吧!
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。