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

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


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



