蘋果為什么不封殺 Flutter ?
點(diǎn)擊“開發(fā)者技術(shù)前線”,選擇“星標(biāo)?”

? ? ?回復(fù)“666”,獲取一份專屬大禮包?
作者:mingyu ye
鏈接:http://tinyurl.com/te6zz45
對(duì)于 Flutter、RN、Weex、小程序這些跨平臺(tái)解決方案的審核風(fēng)險(xiǎn),曾與蘋果團(tuán)隊(duì)專門溝通過這塊。
RN、Weex、小程序:
首先 RN 和我們內(nèi)部的 Weex 本身是類似的解決方案,都是期望團(tuán)隊(duì)開發(fā)業(yè)務(wù)的同學(xué)可以開發(fā)一套代碼供多端使用,更多追求的是跨平臺(tái)能力,在做這個(gè)方案的同時(shí)正好也具備了動(dòng)態(tài)化能力,關(guān)于動(dòng)態(tài)性方面本身具有一定的審核風(fēng)險(xiǎn),這里明確表示是不合規(guī)的,參考審核規(guī)則 2.5.2 蘋果動(dòng)態(tài)性審核條款,只不過 RN 和 Weex 的風(fēng)險(xiǎn)不如當(dāng)年的 JSPatch 那么大;
JSPatch 等熱修復(fù)解決方案通過底層操作使得開發(fā)者可以用 js 等語言調(diào)用任意原生代碼,這直接導(dǎo)致了用戶 App 在蘋果審核之后,依然可能做大范圍的改動(dòng),這會(huì)使得蘋果的審核機(jī)制形同虛設(shè),想象下你一個(gè)明面上說是新聞?lì)惖?App,審核通過后搖身一變變成了博彩 App,你說合不合規(guī),既影響 App Store 整體的體驗(yàn),更會(huì)給蘋果帶來系統(tǒng)性的合規(guī)問題,這是一大封殺 JSPatch 的原因,至于官方說的安全性問題,確實(shí)可能存在下發(fā)腳本被黑客控制導(dǎo)致 App 出現(xiàn)重大安全隱患,但是都這么多年了,為什么蘋果自己沒有提供這樣一個(gè)安全通道呢,答案顯而易見審核才是其命脈和維護(hù) App Store 生態(tài)的根本;
RN、Weex 蘋果的建議是不提倡、不承諾不封殺,從我的理解是蘋果對(duì)于這類相對(duì)低風(fēng)險(xiǎn)的方案,秉持的態(tài)度是觀望,比如某天發(fā)現(xiàn)影響了他們的審核,就會(huì)毫不猶豫的封殺;如果在審核期間,通過這類技術(shù)動(dòng)態(tài)改變頁面,很有可能會(huì)被直接拒審。
至于小程序,其實(shí)本身是當(dāng)年 H5 離線包的一個(gè)開發(fā)語法標(biāo)準(zhǔn)化的衍伸,本身確實(shí)也具備了跨平臺(tái)和動(dòng)態(tài)化能力,從蘋果目前的態(tài)度來看,只要不做的特別過分,目前是可以的,尤其是目前各大平臺(tái)都出了自己的小程序解決方案與開放平臺(tái)的情況下,總不能把這些 App 都干了。
Flutter:
Flutter 與前面說的 RN、Weex、小程序最大的不同就是 Flutter 是一個(gè)跨平臺(tái)解決方案,而非一個(gè)動(dòng)態(tài)化解決方案,Google 的野心很大,想把 Flutter 打造成為新一代的移動(dòng)端開發(fā)標(biāo)準(zhǔn),在做任何事情時(shí)都會(huì)考慮合規(guī)問題,所以才會(huì)在考慮了 iOS 上動(dòng)態(tài)化能力時(shí),依然不考慮支持這個(gè)特性,因?yàn)橐坏?Flutter 在 iOS 上具備了這個(gè)能力,也就存在了審核風(fēng)險(xiǎn),這個(gè)審核風(fēng)險(xiǎn)是系統(tǒng)性的;
這點(diǎn)要說到國內(nèi)外開發(fā)模式的不同,國外主張加強(qiáng) CodeReview,國內(nèi)主張小步快跑,快速迭代,有問題動(dòng)態(tài)更新和熱修復(fù)頂上,而蘋果的審核速度即便一再加快,也難滿足國內(nèi)各大 App 的快速發(fā)版需求,正因?yàn)槿绱艘辉僭囂教O果的審核邊界,最終在審核方面造成的問題和風(fēng)險(xiǎn)會(huì)逐步抵消掉動(dòng)態(tài)更新和熱修復(fù)帶來的好處,當(dāng)然不同 App 有不同的大環(huán)境,未來 App 也一定是朝著更合規(guī)的方向去發(fā)展;
蘋果表示 Flutter 目前沒有合規(guī)上的風(fēng)險(xiǎn),因?yàn)楸旧砭筒皇且粋€(gè)動(dòng)態(tài)化解決方案,但一樣秉持不提倡、不承諾不封殺,因?yàn)?Flutter 的崛起會(huì)吃掉蘋果 App 原生開發(fā)人員的份額,蘋果不建議使用官方以外提供的 Native 開發(fā)方案,蘋果是絕不能容忍開發(fā)人員的大面積消失,一旦這種情況發(fā)生,蘋果的生態(tài)就會(huì)遭人掣肘,這是蘋果爸爸就會(huì)出來保護(hù)蘋果 App 原生開發(fā)人員,這個(gè)時(shí)候也就是 Flutter 份額降低影響力降低的時(shí)刻,蘋果也在不斷推行 Swift 和 SwiftUI 等對(duì)原生開發(fā)人員更友好的解決方案,力圖抵擋住各跨平臺(tái)解決方案對(duì)蘋果 App 原生開發(fā)人員的蠶食。
END
前線推出學(xué)習(xí)交流群,加群一定要備注: 研究/工作方向+地點(diǎn)+學(xué)校/公司+昵稱(如移動(dòng)端+上海+上交+可可) 根據(jù)格式備注,可更快被通過且邀請(qǐng)進(jìn)群,領(lǐng)取一份專屬學(xué)習(xí)禮包
掃碼進(jìn)群,免費(fèi)大廠內(nèi)推、高質(zhì)量技術(shù)交流
END
歷史推薦
當(dāng)當(dāng)網(wǎng)的羊毛被網(wǎng)友薅慘了!這一次到底又被薅了多少?
Elasticsearch用得好,下班下得早!? 全網(wǎng)最細(xì)!PyCharm 安裝+破解詳細(xì)使用指南
為什么阿里巴巴要禁用 Executors 創(chuàng)建線程池?


點(diǎn)個(gè)在看吧 



