找回密码
 立即注册
楼主: dajiji2046

Apple 为什么不封杀 Flutter 呢?

[复制链接]
发表于 2020-11-27 16:49 | 显示全部楼层
因为react native还在排队,cordova这种都得2020/3才知道要不要封杀
发表于 2020-11-27 16:50 | 显示全部楼层
不管一个iOS app是用oc开发,Swift开发,react native开发还是干脆就是一个webpage对苹果来说有什么区别?只要开发者是用IAP和ADs苹果就都能赚钱,否则苹果就都赚不了钱。
跨平台开发从App Store诞生的第一天就存在,苹果封杀跨平台开发技术除了会给自己家平台带来更少的软件和软件开发者外能给自己带来什么好处呢?一件没有好处的事情苹果为什么要做呢?
其次再讨论一下flutter能不能取代native开发的问题。从我开发了几个flutter app来看,如果你的app只需要跟自家的后台API交互一下然后更新UI,那么flutter还是很靠谱的。但是用什么技术开发对于一家公司来说取决于能以什么样的成本在市场上招到人才,这也是为什么哪怕Swift已经发布五年多了,主流开发依然用的是OC,指望大部分公司能直接切换到flutter上面来,并不现实。所谓一套代码多个平台的优势只对新项目有意义,现在还有多少从0开始的新项目呢?谷歌自己为什么不把自己的新app用flutter开发呢?
再来讨论一下跨平台框架/引擎这件概念,事实上在软件开发游戏开发这个领域跨平台本来就是一个伪概念或者说理想。以游戏引擎为例,虽然unity,unreal都很成功,但是哪家叫的出名字的大公司没有自己的引擎?用通用跨平台引擎的大部分还是小公司甚至独立开发者或者大公司的试水项目。同样道理,虽然可能大家都用Java开发后台API,用JS/TS写前端,但是哪家大的互联网公司没有自己的框架?不魔改语言?所以你指望跨平台开发能成为主流这件事情,学会一门技术就能去哪儿都直接上手干活这是不现实的。
发表于 2020-11-27 16:55 | 显示全部楼层
可以从以下几个角度谈谈看待:

从 Fluter 本身的特性来说

Flutter 是一个跨平台解决方案,不是一个动态化解决方案,Google 的目标是想把 Flutter 打造成为新一代的移动端开发标准,所以他们考虑了合规问题,不让 Flutter 支持动态性,支持动态性相当于是给自己添加风险。但是如果将来 Flutter 的崛起在满满吃掉苹果 App 原生开发人员的份额,苹果的生态就会遭人掣肘,苹果爸爸就会出来保护苹果 App 原生开发人员,试图抵挡住各跨平台解决方案对苹果 App 原生开发人员的蚕食。
从苹果的生态来说

目前苹果的生态里,除了 Swift 和 SwiftUI,还有 RN 、Weex。目前这两种方案苹果都是默许的,这个从侧面上来说对于苹果整个生态来说,他是默许这么做的,毕竟一方面能丰富整个生态的内容,另一方面给开发者多了一些选择。
从 Apple Store 的政策来说

目前从 Apple Store 政策 来看,只要你遵循了开发者协议,APP 体验过关,就是可以审核上架的
综上所述,短期内苹果是不会封杀 Flutter,除非有一天 Flutter 在蚕食 App 原生开发人员的份额,苹果应该就会举起大刀了。
发表于 2020-11-27 17:01 | 显示全部楼层
苹果之所以不禁Flutter,原因只有一条:因为它符合AppStore的政策。
Flutter说白了,就是带有一个渲染引擎(Skia,Android的底层渲染也是它)的View库,Flutter的各种控件,都是在它这个自带的渲染引擎上来单独渲染的,所以,从这个角度上来看,它跟Cocose 2dx这种游戏引擎有些类似了(当然,你也可以用cocos 2dx 去写App也OK,反过来,以后用Flutter写有些也不是不可)。
之前Flutter公布的RoadMap中,有一个很重要的任务就是热更新,不过没多久,官方就把这个任务从RoadMap中移除了,原因无他,需要符合AppStore的政策(AppStore和Play对热更新都不允许,因为可以热更新很多绕过审核的功能)。
发表于 2020-11-27 17:06 | 显示全部楼层
苹果的底线是不能滥用用户隐私。其他能收30%苹果税就够了,不管开发者用什么技术。
发表于 2020-11-27 17:13 | 显示全部楼层
苹果为什么要封杀flutter,flutter完全没有违反苹果的任何规定
热更新这个大坑也不碰,性能优势又好,反过来可以说苹果暂时没有任何理由封杀flutter
发表于 2020-11-27 17:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2020-11-27 17:31 | 显示全部楼层
什么是Flutter?打包到iOS的都是机器码啊,都是调用的系统库,是哪个系统库ABI不让调用吗?
发表于 2020-11-27 17:34 | 显示全部楼层
flutter都是编译成机器码,没有理由要封杀。除非出现了严重的安全漏洞问题。
发表于 2020-11-27 17:38 | 显示全部楼层
因为 Flutter 暂时还没被大面积用于实现热更新能力
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 12:14 , Processed in 0.102893 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表