掌握聚合最新动态了解行业最新趋势
API接口,开发服务,免费咨询服务

Twitter基于React的网络协议栈媲美原生性能

最近,Twitter将它们移动前端用户迁移到了一个新的、基于JavaScript的网络协议栈中。在这样做的过程中,他们阐述了移动web技术在与原生应用性能的对比中都有哪些优势。

在一条不经意的Twitter动态中,Twitter的工程师Nicolas Gallagher提到,迁移工作已经完成:

今天我们将Twitter所有的移动web端流量(好像有很多)迁移到了我们新的网络协议栈中:Node.js、Express、React PWA(React渐进式网络应用)。

——Nicolas (@necolas) February 8, 2017

这条极其神秘的推特留下了许多未解之谜。最重要的是,“之前这些流量在什么上运行?” Ghallagher之后的推特解答了其中的一些谜团。

对于那些已登录的用户,“新的”网络协议栈其实已经投入应用有九个月了。未登录的用户其实由一个不同的网络协议栈提供服务,这个协议栈是由Scala和Closure Templates组成。当React开发者们所提倡的登录体验改善的时候会用回到新的协议栈。

新的基于浏览器的UI构建于Node.js和Express之上,Node.js和Express用于处理服务器端。应用程序就像渐进式Web应用 (Progressive Web App)一样被构建,渐进式Web应用通过Service Workers来支持即时页面加载、离线功能、消息推送等。目前的应用还不能支持所有这些特性,但是另一个Twitter工程师Paul Armstrong透露,这些特性将很快被支持。

后端不是运行在服务器上的React。Twitter工程师James Bellenger提到,“后端服务不是使用的反应渲染(react rendering)并且几乎没有路由处理”,他还补充道,“这个服务做的最难的一项处理是对json进行分词”。在这些推特中,Bellenger透露了很多关于这项服务怎样工作的细节。对于初学者而言,它运行在当前Node.js的长期支持版本上并且使用handlebars而不是反应渲染(react rendering)

社区正在要求他们透露更多信息,关于他们是如何应对处理站点的大量流量的。Stuart Langridge回复道,他想“看到一条(或者更多)的动态能解释这是怎么做到的(处理大量流量),以及期间遇到的问题等等。”

Ryan Johnson写了一个对于Twitter的Redux存储的独立分析,其中有许多有趣的见解。在和InfoQ的谈话中,Johnson谈到,看了Twitter的实现,给了他对于技术的信心:

对于Redux,我一直关心的一个问题是,到底存储多少数据才算多,到底能存储多少数据?你能看到,当你滑动Twitter时或者收到新的推特时,Twitter会不断地存储推特数据。如果Redux能处理Twitter这么多的数据,我相信它能处理得了所有我应用在上边的数据。

它在移动端的性能是非常出众的。Johnson说到,“我发现移动端页面响应的流畅让人难以置信,在我看来,它能轻易取代原生应用。”

新的web应用能通过以下网址访问:https://mobile.twitter.com

微信截图_20160512155838.png

原文来自:InfoQ

声明:所有来源为“聚合数据”的内容信息,未经本网许可,不得转载!如对内容有异议或投诉,请与我们联系。邮箱:marketing@think-land.com

  • 营运车判定查询

    输入车牌号码或车架号,判定是否属于营运车辆。

    输入车牌号码或车架号,判定是否属于营运车辆。

  • 名下车辆数量查询

    根据身份证号码/统一社会信用代码查询名下车辆数量。

    根据身份证号码/统一社会信用代码查询名下车辆数量。

  • 车辆理赔情况查询

    根据身份证号码/社会统一信用代码/车架号/车牌号,查询车辆是否有理赔情况。

    根据身份证号码/社会统一信用代码/车架号/车牌号,查询车辆是否有理赔情况。

  • 车辆过户次数查询

    根据身份证号码/社会统一信用代码/车牌号/车架号,查询车辆的过户次数信息。

    根据身份证号码/社会统一信用代码/车牌号/车架号,查询车辆的过户次数信息。

  • 风险人员分值

    根据姓名和身份证查询风险人员分值。

    根据姓名和身份证查询风险人员分值。

0512-88869195
数 据 驱 动 未 来
Data Drives The Future