早期iOS應用和系統之間的關系非常簡單,主屏左面上點開那個App圖標,那就是應用的全部。從iOS 8開始,蘋果開放iOS的應用擴展系統(App Extensions),從根本上改變了iOS系統的開放性問題,此後iOS應用在每個人的iPhone裡,有了更多發揮的舞台,這就是我們經常說的“開放性”。蘋果以完全不同於安卓系統的擴展道路,不斷讓開發者甚至用戶“擴入其中...
iOS應用擴展的歷程
回顧iOS開放性的進程,其實就是iOS應用擴展的進程,談到iOS,大家以往常常會說“封閉”、“不開放”這樣的字眼,早期iOS應用基本無法和系統展開更多的互動,更不要說應用與應用之間的相互調用了,蘋果對各個程序之間的交互環境進行了十分嚴格的控制。各個應用程序之間都很難實現通聯,各自為政,用戶既很難通過主屏之外的更多入口進入各種第三方應用,也無法從一個應用程序內部訪問另一個應用程序文件。
因為系統不開放,用戶不能自己更改系統的設置或是自己手動完善手機的功能,越獄就應運而生,越獄是通過系統漏洞來獲得系統的更多權限。越獄可以說已經成為大部分iOS用戶的必修課。每次蘋果發布重大的系統更新,廣大用戶就會翹首企盼完美越獄的發布。因此一個更加開放的iOS自然成為了廣大用戶的期盼。
早期的iOS越獄圖總會做成“逃出囚牢”的涵意
蘋果在iOS 7上有了一個比較小的突破,雖然所有人對它的認識是開創iOS扁平化風格,但控制中心和多任務處理的改善,終於在應用擴展上前行了一部。iOS不再將第三方應用程序限制於幾個後台API,而是可以讓任何應用程序在後台實施多項不同的功能,不過那時蘋果並未向開發者提供解決方案,第三方應用和系統之間、第三方應用相互之間,依舊無法整合和交流。
真正的巨變在iOS 8,WWDC 2014上,蘋果花大量的時間來介紹名字叫“Extensibility”的API工具,iOS 8很多足以取代越獄插件的功能以及新增的4000個API應用程序接口,都來自於Extensibility。這個工具是蘋果第一次允許開發者涉及操作系統核心應用和選項,比如當年WWDC現場演示的,Safari浏覽器直接啟用微軟翻譯應用Bing Translate直接將一整頁的日文網站翻譯成英文網站,而不需要跳轉或再打開Bing Translate進行翻譯。
在系統與第三方應用的交互方面,iOS 8開放了系統所有菜單中支持第三方應用的“分享、共享”功能;在“照片”中可以打開第三方應用編輯;“通知中心”允許第三方應用集成小插件;“Safari”浏覽器支持第三方應用插件;“鍵盤”開放第三方鍵盤輸入法。除此之外,各個應用之間的共享機制也終於出來了,全新的iCloud Drive支持各個應用程序之間互相共享、交換文件……
從此App Store上增加了大量新應用,比如各種第三方鍵盤輸入法,比如形形色色的通知中心小插件,原有的應用也更深度地接入iOS系統之中,不僅方便開發者,用戶體驗也更加豐富了,無怪乎有人說,iOS 8的開放是生態級別的開放。
隨後的iOS 9在iOS 8基礎上更開放,為開發者提供的全新API就到達5000個,其中一個重要的開放特性就是spotlight的系統級全局搜索接口,只要應用匹配,你就能搜索你想搜索的一切內容,比如微博,已經適配了全局搜索接口,我們在搜索關鍵字的時候就可以搜索到微博當中的內容。現在系統全局搜索對很多用戶來說都成為不可或缺的一個功能。
此外Network、備忘錄、音樂都實現了一些簡單的應用擴展,至iOS 9為止,應用擴展已經滲入到iOS系統的各個方面與層次。
iOS 10——史上最開放版本
iOS 10的的任務,是對擴展進行一次大改造,首先是將萬眾期待的一些重要API開放,比如電話黑名單功能、Siri第三方應用擴展,地圖擴展,光這幾項就讓開發者和用戶們喜大普奔。這是蘋果地圖和Siri走向開放的一個開端,屆時,我們將可以在這些應用程序中通過Siri進行互動,比如配合Siri來叫車,進行個人支付和日常鍛煉。地圖開放擴展之後,開發者的第三方應用功能可以直接集成到地圖中了。例如說你正在浏覽器地圖,安裝的點評應用就會為你標注地圖上一些很不錯的餐廳,還有相關評價和推薦,此時你可以直接進行餐廳的預定,而不用打開第三方應用,蘋果表示還可以在地圖中直接叫車,或安排相關事宜。
接下來是讓應用擴展實現更多的可交互性,比如通知中心推動,在iOS 8和iOS 9中,通知中心可以直接操作,並且可以直接回復內容,iOS 10的通知中心更加靈活,新消息框架(Messages framework)使得開發者能夠創建與Apple的“信息”應用進行交互的應用擴展。比如App可以直接根據通知內容進行預處理,然後反饋給用戶,比如一些有安全性保障的應用下載、更新等等……
但iOS 10之所以被稱為“有史以來”最開放版本,是因為它連內核也開放了。與以往蘋果竭盡全力加密保護iOS的內核生怕給別人看見不同,蘋果這次沒有給iOS 10的內核加密,當內核公開之後,人人都可以研究,通過開發者們的不斷努力,可以在現有的框架下,找到更多讓第三方與系統對接的創新方法。
無論如何,iOS 10新一輪開發的特征展現出了更懂用戶的一面,第三方應用程序可以直接為你呈現,而不是讓你再去找到並打開它,慢慢摸索怎麼用,如今這種體驗已經提升到了手機和服務是一個整體。當然了,是否真正更有效還要看開發者是否真正去利用這些擴展。
開放的意義 在於更深度的交互
如果說以前我們要越獄主要是為了各種方便好用的插件、能調用到原生系統中不開放的功能,那麼隨著iOS 一步一步開放,越獄的價值也顯得越來越低。iOS應用開始從一塊主屏走向手機裡的各個“位置”,從哪裡都能打開,而不再需要從主屏點擊iOS 圖標打開——這就是應用擴展。
越來越豐富的擴展不僅讓iOS系統逐步完善,同時也不要忘記,這樣的擴展也讓iOS應用進一步強大,無論是原生應用還是第三方應用,它們不再局限於“打開App”之後呈現給用戶的那些,開始注重自己功能的延伸性,與系統的契合性,與其他第三方應用的粘連性,數據存儲的共享性。
這或許是一種看不見的變革,卻比iPhone 7 Plus加多一個攝像頭這樣的硬件變化來得更讓人興奮。未來iOS應用的趨勢是:使用在開啟之前,體驗在主體之外,因為iOS應用可以在系統層面的各個角落,通過擴展的方式與用戶交互。蘋果以完全不同於安卓系統的這種擴展道路,不斷讓開發者甚至用戶加入“擴展”之中,一起造就iOS應用全新的交互方式。