BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

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

| 作者 David Iffland 关注 3 他的粉丝 ,译者 罗远航 关注 0 他的粉丝 发布于 2017年2月24日. 估计阅读时间: 不到一分钟 | 硅谷人工智能、机器学习、互联网金融、未来移动技术架构 ,尽在QCon上海2017

最近,Twitter将他们的移动Web端迁移到了一个新的、基于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透露,Twitter将很快支持这些新特性。

运行在服务器上的后端并不是React。Twitter工程师James Bellenger提到,“后端服务没有使用React的render函数,并且几乎没有使用react-router”,他还补充道,“这个服务中最难的一项任务是对json进行解析”。在这些推特中,Bellenger透露了这项服务是怎样工作的。对于初学者而言,它运行在当前Node.js的长期支持版本上,并且使用handlebars而不是render函数

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

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

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

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

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

查看英文原文:https://www.infoq.com/news/2017/02/twitter-react-mobile-stack


感谢冬雨对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

现在infoQ的翻译简直糟糕透了 by wang heng

你们是请的歪果仁翻译的对吧

这翻译和审核的是啥玩意儿? by Y M

这翻译和审核的是啥玩意儿?

Re: 这翻译和审核的是啥玩意儿? by Ding Alice

非常感谢您的关注,我们已经重新优化了文章翻译,如有问题欢迎反馈。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT