当前位置:首页 > 民俗文化

twitter官网 Twitter 是如何做新版手机网站的

汇编:伯乐在线/格非咖啡

渐进式Web App,使用服务工作者缓存html和静态资源,reactjs+redux,使用ES2015。在网络条件差的场景中优化使用。

我们如何构建推特精简版

我们非常高兴地推出Twitter Lite,这是一个突破性的网络应用程序,可以从mobile.twitter.com下载。Twitter Lite响应快,用数据少,占用存储空间少空,支持在现代浏览器推送通知和离线使用。轻量级应用程序允许用户按需访问、无冲突安装,并支持渐进更新,网络正成为此类应用程序的平台。在过去的一年里,我们采用了全新的开放网络API,显著提高了性能,增强了用户体验。

建筑概述

Twitter Lite是一个客户端Java应用和一个简单的轻量级Node.js服务器。服务器处理用户身份验证,构建应用程序的初始状态,并呈现初始的HTML应用程序外壳。一旦加载到浏览器中,应用程序将直接从Twitter API请求数据。这个基础设施的简单性能帮助我们大规模提供可靠高效的卓越服务,Twitter Lite比我们服务器渲染的桌面网站便宜很多。

客户端Java应用程序是基于许多开源库开发、构建和测试的,包括React、Redux、Normalizr、Globalize、Babel、Webpack、Jest、WebdriverIO和Shate。依靠已经构建(完成)的开源软件,我们可以花更多的时间改善用户体验,提高迭代速度,处理推特特有的问题,比如处理和操纵时间轴和推特数据。

我们写过现代Java(ES2015及以后),是巴别塔编译的,和Webpack捆绑在一起的。API响应数据首先由Normalizr处理,它允许我们删除重复的数据,将数据转换成更高效的形式,然后发送到每个Redux模块,其功能是获取、存储和检索远程和本地数据。UI由数百个React组件实现,可以实现文本渲染、虚拟列表管理、惰性加载模块、惰性渲染等多种功能。Twitter Lite总共支持42种语言,我们使用Globalize提供本地化的数字、日期和消息。

性能设计

每个月都有数亿人来mobile.twitter.com旅游。当你的网络连接缓慢、不可靠、受限或昂贵时,我们希望Twitter Lite成为你使用Twitter的最佳方式。通过一系列渐进式性能提升(称为PRPL模式)和在Android现代浏览器(如Google Chrome)上使用新功能,包括页面工作器、IndexedDB、web应用安装提示栏和web推送通知,可以获得高速可靠的网络连接。

实用性

Twitter Lite具有网络灵活性。为了覆盖地球上的每一个人,我们也需要照顾那些网络环境缓慢不可靠的人。当网络可用时,我们使用服务人员来启用临时离线浏览和即时加载,而不考虑网络条件。服务工作者缓存HTML应用外壳、静态资源和一些流行的表情符号。当无法加载脚本或数据时,我们会提供一个“重试”按钮来帮助用户从故障中恢复。总之,这些改进都提高了网络的可靠性,有助于大大加快重复访问时的加载和启动时间。

逐步加载

Twitter Lite在大多数设备上都处于3G网络环境,完成交互不到5秒。世界上大多数国家都使用2G或3G网络,因此快速的初始体验至关重要。在过去的三个月里,我们的平均加载时间缩短了30%以上,第99百分位的交互延迟时间缩短了25%以上。为了实现这一点,应用程序向浏览器发送初始的HTML响应,发送预加载关键资源的指令,服务器同时构造初始的应用程序状态。通过使用Webpack,应用程序的脚本被分解并按需加载,这意味着初始加载只需要加载可见屏幕所需的资源。(当条件允许时,服务人员提前缓存额外的资源,并允许将来即时导航到其他屏幕。这些改进让我们可以一步一步的加载应用,让人们更快的阅读和创建Tweet。

捣蛋

Twitter Lite颠覆了昂贵的渲染工作。虽然我们已经注意到组件的渲染优化,但是Tweet仍然是一个复杂的复合组件,在渲染无限列表的Tweet时需要考虑额外的性能。我们实现了自己的虚拟列表组件,它只在视口视图中显示内容,使用requestAnimationFrame API来增量渲染多个帧,并保持屏幕上的滚动位置。通过使用requestIdleCallback API,将非关键渲染延迟到空空闲时间,从而进一步提高感知性能。

数据使用

默认情况下,Twitter Lite减少数据使用,提供较小的媒体资源,(主要)依赖缓存数据。我们已经优化了图像,以减少其对数据使用的影响:当您滚动时间线时,数据使用的影响会减少多达40%。“数据节流”的模式进一步减少了数据的使用,用一点模糊预览取代了推特上的Tweet和Direct Messages。这个图像的HEAD请求帮助我们在按钮旁边显示它的大小,以便可以按需加载。Twitter Lite只占用少量的设备存储空,相对于我们的原生应用来说,只占其体积的1-3%。

设计系统和迭代速度

增强快速迭代的能力可以帮助我们确保高质量的用户体验。我们严重依赖Flexbox进行布局规划,以及少量固定数量的颜色、字体大小和长度。Twitter Lite是由基于组件的响应设计系统构建的,可以使应用适应任何形状参数。使用UI组件有助于我们在设计(学习)和工程(学习)之间建立一个共同的词汇,更有利于现有构件的快速迭代和重用。一些非常复杂的产品功能,如混合内容的时间轴,可以通过减少到30行代码来配置Redux模块并将其与React组件连接来创建。

展望未来

在如此大的规模上构建一个快速的web应用,并保持其高速稳定的运行,对Twitter的设计、产品和工程团队/部门来说是一个巨大的挑战。我们对现阶段取得的进展感到兴奋,并尝试了HTTP/2、GraphQL等压缩格式,以进一步减少加载时间和数据消耗。未来几个月,我们将在Twitter Lite的可访问性、安全性、设计、功能和性能等方面做出更多改进。

1.《twitter官网 Twitter 是如何做新版手机网站的》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《twitter官网 Twitter 是如何做新版手机网站的》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/807605.html

上一篇

德国体操队 1.32米体操冠军,退役后去北大读书

下一篇

金妍在 韩国艺术体操精灵,22岁独揽5金,曾示爱宁泽涛被拒,25岁仍单身

勇士格林 格林对于勇士到底有多重要?记者给出数据对比,防守效率天壤之别

  • 勇士格林 格林对于勇士到底有多重要?记者给出数据对比,防守效率天壤之别
  • 勇士格林 格林对于勇士到底有多重要?记者给出数据对比,防守效率天壤之别
  • 勇士格林 格林对于勇士到底有多重要?记者给出数据对比,防守效率天壤之别
皮尔洛任意球 皮尔洛:我与米哈任意球能力谁更强?数据说明一切

皮尔洛任意球 皮尔洛:我与米哈任意球能力谁更强?数据说明一切

1月23日直播。在对阵博洛尼亚的赛前新闻发布会上,记者问尤文图斯教练皮尔洛,他和博洛尼亚教练米哈伊洛维奇之间谁更擅长任意球。“当时他给我上了一堂精彩的课,然后我给他发信息,表扬他,因为他踢的任意球真的很精彩。但这只是一个教训,他也没有解释自己是怎么任意球的。至于任意...

第五届中国网络音乐节 五月将至,跟着音乐躁起来!第五届明天音乐节即将开幕

第五届中国网络音乐节 五月将至,跟着音乐躁起来!第五届明天音乐节即将开幕

五月来了,好事即将发生。由深圳华侨城主办的第五届明日音乐节将于2018年5月17日至20日在B10举行。本次明日音乐节是“有形无界”十月文化博览会系列活动中的一个重点项目,将邀请来自6个国家的7个音乐家/艺术家团体进行多元化的节目展示,包括表演、讲座和纪录片放映。此...

网络营销经理 经理如何做好网络推广?

网络营销经理 经理如何做好网络推广?

互联网的发展势不可挡,传统企业开拓网络渠道势在必行。但是,通过传统渠道做的企业较少参与网络推广,如何做好网络推广成为开拓网络销售渠道的关键。 一般来说,企业的网络推广是由网络营销经理或网络推广经理负责,营销总监负责。网络推广团队也可能有文案、设计、程序员。而传统企业...

实达网络 90%的人不知道的星网锐捷冷知识

  • 实达网络 90%的人不知道的星网锐捷冷知识
  • 实达网络 90%的人不知道的星网锐捷冷知识
  • 实达网络 90%的人不知道的星网锐捷冷知识

陈妍希的微博 陈晓转错陈妍希微博登上网络热搜了,到底是怎么回事?

  • 陈妍希的微博 陈晓转错陈妍希微博登上网络热搜了,到底是怎么回事?
  • 陈妍希的微博 陈晓转错陈妍希微博登上网络热搜了,到底是怎么回事?
  • 陈妍希的微博 陈晓转错陈妍希微博登上网络热搜了,到底是怎么回事?
跨省追捕 跨省追捕!四川广元昭化警方破获特大电信网络诈骗案 27人落网

跨省追捕 跨省追捕!四川广元昭化警方破获特大电信网络诈骗案 27人落网

1月22日晚9时许,四川广元赵华警方几个抓捕组将23名犯罪嫌疑人从湘豫粤三地押回广元,另有4人取保候审。至此,警方成功侦破“9·25”特大电信网络诈骗案,捣毁诈骗、洗钱、制假证件等9个犯罪窝点,查获手机、电脑、路由器80多台,银行卡、物联网卡236张,查获、冻结、扣...

杨幂工作室声明 杨幂工作室发布辟谣声明,呼吁合法使用网络平台

杨幂工作室声明 杨幂工作室发布辟谣声明,呼吁合法使用网络平台

新京报1月22日晚,杨幂工作室针对杨幂在多个网络平台上的虚假言论发表声明:“不要相信,不要传递,合法使用网络平台,共同建立和维护良好健康的网络环境。”在声明中,工作室要求虚假信息的发布者和传播者停止侵权,删除虚假信息。工作室已委托律师保存证据,并将依法追究侵权人的一...