【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

  • 2017-02-23
  • 本文字数:1230 字

    阅读完需:约 4 分钟

最近,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 )关注我们。

2017-02-23 18:002501

评论

发布
暂无评论
发现更多内容

2021年阿里、腾讯、百度、华为、京东、美团和滴滴最新Java面试题汇集!

Java架构之路

Java 程序员 架构 面试 编程语言

第十周学习总结

晴空万里

极客大学架构师训练营

浅谈优秀工程师的成长因素

数据社

程序员 七日更

区块链发展的3个必经阶段究竟是什么

CECBC

去中心化

附PPT丨广东移动智慧中台能力运营实践

dbaplus社群

中台 中台战略

北漂七年Java开发的一路辛酸史:面试腾讯、阿里、美团、字节后的一点心得

Java架构之路

Java 程序员 架构 面试 编程语言

一个月吃透这份阿里高级专家的《Java500道面试手册》成功拿下了腾讯offer!

Java架构之路

Java 程序员 架构 面试 编程语言

TypeScript | 第六章:理解声明合并,以及编写声明文件

梁龙先森

typescript 大前端 七日更

第五周学习心得

cc

第五周作业

胡益

“区块链+”产业生态雏形已现 安全监管逐步完善

CECBC

区块链 区块链生态

京东技术解密

田维常

京东

【mybatis-plus】什么是乐观锁?如何实现“乐观锁”

Java架构师迁哥

字节跳动自研「BVC2.0」视频编码器在 MSU 2020 中获得四项第一

字节跳动技术团队

字节跳动 视频编码

华为大佬亲自手码Dubbo服务暴露源码解析!这次够清楚了吧

比伯

Java 编程 架构 程序人生 计算机

大厂offer直通车:并发编程28题+JVM21题+Redis 16题+Java集合22题

Java架构之路

Java 程序员 架构 面试 编程语言

亚马逊 CTO 预测 2021 将改变世界的八大技术趋势:云加速向边缘推进

亚马逊云科技 (Amazon Web Services)

云计算 AWS

金融知识图谱的构建与应用

DataFunTalk

AI 知识图谱

Presto入门

Albert

presto 七日更

星环科技作为信通院隐私计算联盟成员亮相2020数据资产管理大会

星环科技

大数据

第十周课后练习

晴空万里

极客大学架构师训练营

职责链模式

soolaugust

设计模式 七日更 职责链模式

微服务网关的技术架构

积极&丧

第五周命题作业

cc

如何使用数据仓库?

数据社

数据仓库 七日更

反垄断之下 区块链迎来新生?

CECBC

区块链

Spring源码高级笔记之——Spring AOP应用

Java架构师迁哥

久等了,Rancher 2.5中文文档新鲜出炉

Rancher

容器 k8s

史上最全1000道Java高频面试题:集合、IO流、多线程、网络、算法、Git、设计模式、springboot

Java架构之路

Java 程序员 架构 面试 编程语言

面试被问:JDBC底层是如何连接数据库的?

田维常

JDBC

注册中心Eureka源码解析

洛神灬殇

Twitter基于React的网络协议栈媲美原生性能_JavaScript_David Iffland_InfoQ精选文章