苹果禁止JSPatch

最近几天,苹果禁止JSPatch的事件比较热,最近几天也做了一点思考。

双重标准

  • 禁止脚本下载代码,改变App的默认属性,从这个角度讲,JSPatch主要用来做“热修复”,解决线上bug,用到的情况比较少。比如我们就只用到了3~4次而已,每次的代码改动不超过50行。
  • React Native,weex等“热更新”,其主要功能就是用JS来替代Native,进行web式开发,是堂而皇之的用脚本改变App功能
  • JSPatch被禁止了,React Native,weex没事,这个就相当于小偷小摸被抓了,强盗没事一样。
  • WebKitJavaScriptCore可以作为例外,因为苹果提供了这些技术
  • runtime其实也是可以用的,因为苹果开放了它的API
  • JSPatch只是把JavaScriptCoreruntime结合起来,结果就不能用了

苹果的忧虑

  • 得开发者得天下,当年苹果能够迅速起来,苹果商店吸引了一大批开者是很重要的原因。比如,本人是传统行业用c写小应用的,也转过来了。现在的情况是,iOS开发者逐步转JS的前端开发者,国内的趋势特别明显。
  • 开放JavaScriptCore只是给JS开了小口子,不过现在JS逐渐成为移动开发的主流技术,苹果自己推的Swift,在JS面前显得软弱无力
  • Swift试图采用泛型替代runtime,不过效果很差,开发者对runtime形成了依赖。runtime和JS,原本是苹果漏了口子,准备小范围应用的技术,现在成了主流,并且危害到了自己的技术,不论是Obejct-C还是Swift,都有被再次边缘化的危险。

苹果的应对

  • 应用商店审核时最后的手段了
  • 通过安全性的接口,希望开发者减少JS的使用,增加Native的比例
  • 希望开发者转Swift,而不是JS
  • JSPatch不是腾讯的主流,先禁一下,看看反应
  • React Native,weex,微信小程序等应该是主要目标,只是顾忌背后的庞然大物,不敢贸然下手

苹果的期望

  • 加强应用商店审核,重新把控生态系统
  • 普及Swift,容忍Object-C,开发者重新回到Native
  • 用泛型替代runtime,隐藏runtime相关的API
  • 取消JavaScriptCore,降低JS的使用比例

作为iOS开发者,怎么办?

  • 如果有机会用Swift,那就安心用吧,这是苹果期望的方向
  • 如果坚持用Object-C,那也没问题,这是Native的,也是苹果希望的开发方式
  • JS学起来也没问题,多一项技术总是好的。并且现在JS如火如荼,连苹果都不敢贸然下手
  • 至于React Native,weex,根据需要吧,选一个就行。目前这两个各有特点,很难说一个比另外一个好。
  • 这次是苹果的危机,同样也是iOS开发者的危机。根据具体情况,灵活应变吧
  • 在最终结局出来之前,做预测意义不大,先照顾眼前再说。

对苹果有信心吗?

  • 如果还是乔布斯掌舵,对苹果可以有80%的信心(不说100%只是留个余地)
  • 苹果的特色是安全、快速、良好的体验,而不是功能、兼容性、跨平台
  • 目前JS已经危及iOS开发者的生存;当开发者都离开苹果,转投JS前端开发之后,苹果也差不多被边缘化了。当年PC平台微软发生的事在移动平台的苹果上将重演
  • 不禁止JS,Swift基本上起不来,至少国内是这样的
  • 苹果产品也越来越失去自己的特色,开始拼功能、拼配置、还有多种尺寸屏幕---渐渐地跟一个普通Android产商也差不多了。目前的状况,只是在硬件领域发生的事传导到软件开发领域
  • 目前,我对苹果只有50%的信心(不说20%只是自己乐观向上的心态)。作为iOS开发者,尽快开始转JS,毕竟还是要吃饭

关键因素

  • 苹果是否有决心禁止JavaScript?
  • 如果有这个决心,苹果还有生存的机会;
  • 如果没有这个决心,苹果将被边缘化,开发者由于生存压力,转JavaScript前端开发。微软在PC输给Java的事情在移动端将重演
  • 如果是乔布斯时代,苹果会这么做,体验和生态是他最看重的
  • 目前是库克时代,没有信心,从这几年苹果推出大屏,增加功能,学习Android等等来看,越来越没特色。

选择

  • 当然希望苹果坚定往swift的方向走,坚持自己特色,才有生存的空间。至于JavaScript等脚本,用在命令自动化方面就可以了,或者后台开发,这才是动态更新应该考虑得地方
  • 适应环境,现在学JavaScript,转前端。语法跟swift有点像,也不浪费。
  • Swift转业余时间或者延后,先解决眼前的问题最重要。
  • swift3的重点是API的学习和使用,写一些小工具。代码托管从GitHub转到码云,就像写东西从Gitbook转到简书一样
  • 继续当吃瓜群众看戏,看苹果到底有没有魄力维护自己的生态系统,保持自己的特色。
  • Mozilla有个开发者写了一篇关于Firefox OS的文章,其中有一条教训就是坚持自己的特色和做自己擅长的,不是拼功能,不迁就市场与合作伙伴。关于这一点,此时的苹果很有参考意义。苹果能吸取教训吗?苹果有这个决心吗?苹果会珍视自己的特色吗?
    一个失败移动操作系统的前世今生,别了Firefox OS

参考文章

苹果「热修复门」事件复盘、分析和展望
跨平台开发时代的 (再次) 到来?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,245评论 4 61
  • 内容提要:* 为什么收到了苹果的警告邮件?* 关于这次事件的个人浅见。 一、为什么这么热闹? 在今天这特殊的日子...
    萧城x阅读 5,407评论 0 1
  • 长街寥寂无人影 日下西山百鸟还 自古羁途多落寞 何堪冷月照青衫
    阆苑寒梅阅读 1,612评论 7 12
  • 九年前的今天,你还记得吗?你在忙什么呢?好久没有上QQ了,过去的一切都记录在QQ里,翻看了好久的QQ相册,过去的所...
    c5f6c6c9747a阅读 3,025评论 0 0
  • 你的状态影响着你身边的状态,你变一切都变。 为什么道理都懂,却很难做到,说来说去还是自己不强 记住 以苦为师 以苦...
    达浪Dalang阅读 734评论 0 0