美文网首页
苹果禁止JSPatch

苹果禁止JSPatch

作者: 勇往直前888 | 来源:发表于2017-03-13 10:42 被阅读70次

    最近几天,苹果禁止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

    参考文章

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

    相关文章

      网友评论

          本文标题:苹果禁止JSPatch

          本文链接:https://www.haomeiwen.com/subject/flkfnttx.html