APP下载
报价宝  ›  综合  › 

脸书准备翻修ReactNative架构,朝更轻量、弹性、大规模部署前进

报价宝 来源:baojiabao.com 发布时间:2018-06-15 18:32:00 11月10日更新
报价宝综合消息脸书准备翻修ReactNative架构,朝更轻量、弹性、大规模部署前进

由于React Native当初的设计架构以及原则,限制了部分功能开发的弹性,因此脸书向社群说明,他们正对React Native的架构进行三大修改,包括执行绪模型、异步渲染以及更简单的桥接机制,不过,开发者不需要担心,这些改变都是低层架构调整,对于现存的应用程序不会有影响。

脸书React工程经理Sophie Alpert提到,在2013年他们启动React Native专案时,与JavaScript间建立了异步、序列化和批次处理的单独一桥接方式。她举例,就像是React DOM把React的状态更新转为可变呼叫DOM API,例如document.createElement(attrs)与.appendChild(),或是React Native被设计回传一个需要更新的JSON清单讯息。

这些机制除了确保系统永远不依赖同步回应外,所有内容也都能转为序列化,以JSON格式回传。而这样的设计概念源自于要给这个架构额外的灵活性,基于这个灵活性,可以用来建置Chrome除错工具,在执行JavaScript程式码的同时,还能够异步执行WebSocket连线。

不过,在5年前为了增加灵活性而设计的架构却显得越来越绑手绑脚,她提到,异步桥接表示开发者无法直接整合Native API与JavaScript逻辑取得同步结果,而批次桥接则会以伫列暂存Native的呼叫,这使得React Native函数呼叫难以原生实作。另外,序列化的另一个意思,在可以共享内存的情况下,却以不必要的复制方法处理。他认为,这些限制对于完全使用React Native开发的应用程序不是问题,但是当要与其他既有的App程式码整合,便会让开发者崩溃。

为了解决这些问题,脸书现在正研究React Native的大规模架构,并且让开发框架更具弹性,JavaScript/native混合App能够以原生基础架构整合得更好。

要让React Native更轻量,并且与原生App结合更好,新架构将进行三个主要内部改变,首先脸书改变了执行绪模型,有别于现行UI更新需要三个不同的执行绪,未来将可以使用任何执行绪,对JavaScript同步呼叫进行高优先度更新,并且同时为其他非主执行绪处理的工作保有回应性。第二是在React Native中加入异步渲染能力,除了提供多重渲染优先级外,也简化了异步资料处理。最后,他们简化了桥接机制,使其更快更轻量,未来Native与JavaScript间的直接呼叫更有效率,建置像是跨语言堆叠追踪等除错工具会相对简单。

脸书重新撰写了许多React Native的底层,带入了许多更现代的架构,但是这些改变都是开发者看不见的,现有的React Native应用程序将能几乎不做任何改变继续正常运作。

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 手机价格 汽车价格 笔记本电脑价格 小米手机价格 红米手机价格