解讀2014之iOS篇:擁抱變化

jopen 9年前發布 | 27K 次閱讀 IOS

對于 iOS 技術領域,2014 年是變化巨大的一年。在硬件上,由于蘋果發布了更大尺寸的 iPhone 6 和 iPhone 6 plus,使得 iOS 設備的屏幕適配工作也多了起來。這還不包括全新的 Apple Watch 帶來的開發上的變化。在軟件上,Swift 語言的推出驚呆了整個業界,從 Objective-C 切換成另一個全新語言的代價是巨大的,但我們也看到了它長遠的好處以及蘋果對此的決心。除了軟硬件外,編程語言、中國區、開發社區在 2014 年也有著巨大變化,我們試著用幾個關鍵詞來勾勒出 iOS 技術領域在 2014 年所經歷的變化。

硬件

蘋果在 2014 年推出了 iPhone 6 和 iPhone 6 plus,iOS 設備也進入了大屏時代!雖然包括筆者在內的許多朋友都認為:“Plus 實在太大了”,但是從銷售量看, iPhone 6 plus 在初期占據了 6 成 的銷售量。我本人在實際使用 iPhone 6 plus 幾周后,也很快適應了它的屏幕尺寸,現在反而不習慣使用了兩年的 iPhone 4s 了。在開發上,iPhone 6 的推出使得 iOS 開發者也開始像 Android 開發者那樣,為適配工作擔憂。與 Android 開發者不同,iOS 開發在過去多年都是用 “絕對定位” 的方式來放置各種 UI 控件,使用 Autoresizing Mask 就可以輕松搞定 iPhone4 和 iPhone5 屏幕高度的差異問題。但現在不一樣了,iOS 開發者需要學習使用 AutoLayout,通過各種 Constraint 來調整 UI 控件,但是很多界面是需要用代碼來編寫的,所以這方面的開發工作會比較辛苦,好在有 Masonry 這一類的開源庫來輔助我們做界面開發工作。

iPhone 6 plus 引入的特有的 3x 的圖片問題使 UI 設計師的工作量也大大的增加了。另外,以前由于 Android 設備其實太過于分裂,無法對每種屏幕分辨率都做到精致地設計,所以設計師大多只是用 “湊合用” 的思想來實施 Android 應用的適配。這一點從 Android 大屏手機上的應用呈現就能看出來。而現在同樣的方式不太可能被嚴格的蘋果以及挑剔的 iPhone 用戶所接受,設計師很可能需要為 iPhone 6 plus 做專門的大屏設計,才能獲得用戶的芳心。 

</div> </div> </div>

Apple Watch 的推出讓適配工作真正地進入了 Hard 模式。優秀的開發者需要在工程中做好代碼地復用,才能讓底層的邏輯能夠同樣運行在 Apple Watch 中。不過這方面的工作還只是猜想,我們得等到 Apple Watch 真正面世的時候,才能真正了解到相關的開發工作有多么不同。

軟件

蘋果在 2014 年的全球開發者大會(World Wide Developer Conference,簡稱 WWDC)上并沒有發布任何新的硬件產品,但展示出其在軟件上的各種功能改進和整合上的巨大努力。蘋果推出了新的 OS X 10.10 操作系統 Yosemite,它吸收了從 iOS 7 開始的扁平化的設計風格,很多改進的細節都可以看到 iOS 系統對于 OS X 的影響。Yosemite 最吸引我的是 handoff 功能。handoff 功能將 Mac 電腦和 iPhone、iPad 的功能進行了深度整合,當你擁有這三個設備時,它們每一個都可以接打電話和收發短信,你在它們任何一個設備上編輯的文檔,也可以實時同步到另一個設備上。 handoff 并不是蘋果的應用獨有的功能,蘋果將其相關的 API 都開放給了開發者,所以開發者也可以完全開發出支持 handoff 功能的應用。

相對于 Yosemite 帶來的整合方面的改進,新版 iOS 8 的改進的重點則是開放。蘋果開放了輸入法接口,允許第三方提供輸入法。蘋果也開放了 Touch ID,允許第三方應用獲得指紋信息。HomeKit 則為智能硬件開放了不少可以互操作的接口。另外,iOS 8 還新增了 4000 個新的 API,開放了大量底層 API 接口供應用調用。所以對于普通用戶而言,iOS 8 新增的可見功能可能是有限的,但是其開放的大量 API 和新 SDK 釋放出了巨大的想象空間,相信會產生更多有趣的應用。

對于一個硬件來說,相關的軟件是非常重要的,但是蘋果卻將它的操作系統和 iWork 辦公套件完全免費,這顯示出蘋果對于軟件生態圈不同的理解。而微軟至今最大的兩大收入還是來自它的 Office 和 Windows 系列操作系統。在微軟還在發愁他的新版 Wiindows 10 怎么賣出去時,蘋果早已不玩這種 1.0 的商業模式游戲了。

Swift

蘋果的 Objective-C 語言發明于與 C++ 同時期的上世紀 80 年代初,雖然蘋果對其進行了很多次改進,但這終究像給應用打補丁一樣,不是特別舒服。這次 Swift 的推出,蘋果試圖用全新的編程語言來提高 OS X 和 iOS 程序員的開發效率。單從語言特性上來看,Swift 吸收了眾多現代編程語言的優秀特性,例如類型推斷(Type inference)、范型(Generic)、閉包(Closure)、命名空間(namespace),元組(tuple)等,整體語法上也更加簡 潔。我們也了解到 Swift 是蘋果從 4 年前就開始籌劃中的事情,可見蘋果在長遠規劃上對于 Swift 語言的重視,相信未來 Swift 會接替更多 Objective-C 原本的地位,所有 iOS 開發者都應該花時間學習這門全新的語言。

蘋果這次推出 Swift 也吸引了大量的討論,其中比較不正確的觀點是認為 iOS 開發的門檻因此而降低了。從我和身邊的同行對 Swift 的學習和討論來看,Swift 并不是一門可以簡單上手的語言。并且在未來一到兩年內,iOS 開發必然會經歷同時使用 Objective-C 和 Swift 的過渡階段。對于 iOS 開發者,除了必須掌握以前的 Objective-C 語言的知識,還需要學習并不簡單的 Swift,可見 iOS 開發的門檻不但沒有降低,反而提高了不少。

中國

蘋果是重視中國的,它在大中華區的銷售貢獻了約 15% 的全球營收。但是從某些方面看,蘋果還是不夠重視中國的。很多中國用戶抱怨的問題,蘋果都一直沒有解決。我們來看看蘋果對于中國區的用戶和開發者,還有哪些需要改進的地方。

剛剛提到的 handoff 功能依賴于蘋果的 iCloud,但是蘋果的 iCloud 存取速度在中國卻是非常糟糕的。筆者試圖打開一個通過 iCloud 共享的約為 6M 的視頻,但是等了 3 分鐘才打開。與此同時,國內的各種網盤服務卻能提供非常大的免費容量以及非常快的訪問速度。

中國的垃圾短信和騷擾電話一直是非常嚴重的,而 iMessage 免費發送的特點給了垃圾短信發送提供了很好的平臺。蘋果到現在都沒有推出相關的有效避免垃圾短信的辦法,只提供了一個用于反饋垃圾短信的郵箱,整個反饋流 程也非常繁瑣,需要提供發送者郵件、內容以及相關截圖。筆者反饋了數十次之后,也沒有得到過任何回應。對于騷擾電話,蘋果只提供了事后將該電話號碼加入黑 名單的功能,這使得用戶只能是接了騷擾電話后,才能做相應的手工處理。這些問題從技術上要解決沒有任何難度,看看 Android 平臺就可以看到這方面的問題被非常完美地解決了。但是蘋果卻不愿意做相關的努力,這只能說明它還不夠重視中國用戶。

蘋果的 App Store 中國區也是比較混亂的,各種刷榜的應用充斥著排行榜的前幾名。蘋果在這方面應該是做了很多努力的,但是終究還是做得不夠。從很多應用的評論中,我們都能看 出刷榜的痕跡。由于這方面直接和收入相關,所以我相信蘋果還是會盡力改進的。App Store 還有一個問題是支付不太方便,今年蘋果和銀聯合作,不但推出 1 元的應用,而且允許用戶使用銀聯卡來付費,極大地方便了用戶購買應用。

社區、會議和第三方服務

國外的 iOS 開發社區今年依然發展紅火,比較引人注目的是 objc.io 。 objc.io 每一期的質量都非常高,所以由知名開發者王巍(onevcat)組織的翻譯團隊會將每一期文章都翻譯成中文。國內的博客和社區發展相比國外還是比較慢,參 與分享 iOS 技術的獨立博客相比以往多了很多,但整體質量還有待提高。

移動開發也實實在在地成為了一個重要的技術領域,QCon 和 ArchSummit 每一屆都會有專門的移動專題,可見這方面聚焦了開發者大量的關注。

2014 年國內外都涌現出了大量服務于移動開發者的第三方服務。這些第三方服務作為生態圈的一個重要組成部分,將會方便開發者聚焦核心功能,而不用擔心基礎設施的搭建。

展望

展望 2015 年,筆者認為:

  • 蘋果的 iPhone 將會繼續占據高端機市場,但千元左右的 Android 機將會占據其它所有的用戶,最終 Android 的用戶量將遠遠大于 iPhone 的用戶量,但由于 iPhone 用戶的優質屬性(付費意愿高),所以各大應用將會在這兩大平臺都會投入足夠的開發力量。如果有人能夠比較好的解決代碼在 iOS 和 Android 平臺的復用性問題,將會很大程度上改變現在的開發模式。
  • Swift 語言將仍然處于發展階段,Objective-C 依舊會是 iOS 程序開發的主要語言。更多的開發者將會使用混合開發的方式,同時使用 Objective-C 和 Swift 來開發應用。
  • 國內 iOS 開發社區還會進一步發展,會出現更多的移動開發相關的開源基礎設施或第三方服務。
  • 蘋果很可能會繼續不那么重視中國區用戶。iCloud 服務依然糟糕,iMessage 垃圾短信依然泛濫,由于害怕 “侵犯用戶隱私 “,騷擾電話還是沒有很好的解決辦法。但蘋果在大中華區的收入會繼續增加。
  • 由于 Objective-C 和 Swift 相比 Java 語言沒有那么普及,Mac 電腦也沒有 Windows 電腦普及,這造成 iOS 學習門檻較高。優秀的 iOS 開發者依然是稀缺資源,相比同等的 Android 開發者,iOS 開發者可以獲得更多的收入。
來自:http://www.infoq.com/cn/articles/interpretation-of-2014-ios-part-embrace-change

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!