當前位置: 華文問答 > 數碼

為什麽iOS不需要GMS,而鴻蒙需要GMS?

2021-07-18數碼

因為 iOS 有 iCloud,或者說是 Apple Services 套件(

GMS 就是 Google Mobile Services,Google 移動服務套件/框架。

為 Android 套用提供 系統基礎元件 能力。

為什麽需要這個呢?

比如說,你想做一個外賣套用。

你得處理好地圖的展示,你只是一個做外賣服務的,你怎麽處理地圖呢?

在國內 Android 一般就是買,買百度地圖,高德地圖之類的商業服務。

這服務不便宜,而且一般人還不好買。

在 Apple 平台可以直接引入 Apple 提供的 MapKit。

在 Apple 平台內,可以免費,無限制使用高質素的地圖數據。(Apple 國內地圖數據來自高德)

不需要額外購買,沒有限制,只要你聲明引入 MapKit 就可以。

在國外 Android 呢?

一般是直接引入 Google 地圖。

也是和 Apple 引入 MapKit 一樣,免費,無限制使用。

但是 Google 地圖來自哪裏呢?

來自於 GMS。

如果你的手機沒有 GMS,開啟這個套用就會無法正常使用。

這僅僅是 地圖 部份,GMS 包含了 Android 幾乎所有套用開發領域可能用到的功能。

包括但不限於,地圖/帳號/搜尋/相簿/數據同步/付費/認證/分享/市集/通知推播 等等。

有人可能會說 HUAWEI 的 Android 本身也提供類似功能啊。

市集沒有,換一個就行了啊。

但實際上問題在於,擁有 GMS 的器材可以無縫從一個廠商遷移到另一個廠商。

你沒有,在換新器材的時候,自然不會最優先考慮你。

跟隨他多年的數據,就因為一個沒有什麽特別吸重力的手機全放棄了?

對於大部份 國內 Android 使用者來說,GMS 的缺失大概率沒有任何影響。

國內無法正常使用大部份 Google 服務,大部份國內套用都有各自生態。

但是對於外國使用者,沒有 GMS 幾乎寸步難行。

因為對於國外開發者來說,幾乎所有套用或多或少都參照/依賴了 GMS 直接提供的功能。

就像我本身作為 iOS/Android 開發者,我的 iOS 套用基本上都適配了 CoreData 與 CloudKit。

持有多個 Apple 器材的使用者在我的套用下,Apple iCloud 會自動同步所有數據,而且數據僅僅保留在他本地與 iCloud 伺服器。

同樣,基於 iCloud 家庭與分享,可以與家庭使用者共享部份數據。

不會上傳到我的伺服器,保證私有數據私密。

我的 Android 程式也使用了 GMS 的相關服務,達成相同/類似的功能。

而且我的 Android 程式沒有針對沒有 GMS 的情況下做出容錯,未安裝 GMS 的 Android 器材開啟會直接閃退。

這也是大部份國外 Android 程式的表現。

Google 開源了 Android,理論上 Android 屬於全人類。

但 Android 是一個由 Google 主導的開源專案,Google 是一個擁有大量互聯網基礎服務的商業公司。

Android 作業系統 內 沒有提供任何 與 作業系統 基礎具有 功能無關的任何功能。

Google 沒有在 Android 內提供任何 依賴於 Google 的 服務/功能/框架。

轉而提供了一個由 Google 完全掌控的服務授權體系。

GMS。

所有由 Google 提供的功能都獨立在 Android 之外,由系統擴充套件的方式安裝進 Android 系統。

而對於 Android 套用開發者來說。

你可以在 Android 上制作任何東西,但對於小公司/個人來說,很多功能,必須依賴於 GMS。

而 Google 在 Android 市集領域又是幾乎壟斷。

在 Android 上,第三方市集的市占率不高,相關核心框架缺失或是功能缺失。

Android 縱使沒有禁止第三方商店,和直裝套用。

但對於小開發者來說總歸要登陸 Google Play。

自然,Android 和 GMS 就越來越密不可分。

Android 越強,則 Android 開發者越依賴 Google。

Android 開發者越依賴 Google,則 Android 生態越依賴 Google。

Android 生態越依賴 Google,則 Google 對 Android 掌控越強。