前端开发工程师必须关注的几个性能指标

2025 年前端开发工程师真实工作全景:从代码到架构的全链路解析 总结来说,2025 年的前端开发工程师早已不是单纯的 "代码编写者",而是用户体验的构建者、技术方案的设计者、团队效率的推动者。工作内容从多端开发到架构设计,从需求评审到线上维护,贯穿产品全生命周期。对于想入行的新人,建议从基础入手,先精通 HTML/CSS/JS 和一个主流框架,再逐步拓展技术广度;对于在职开发者,要避免陷入 "业务 CRUD" 的舒适区,主动参与架构设计与技术优化,建立不可替代的核心竞争力。你眼中的前端开发还有哪些核心工作? 阅读详情

文 | 张贤(网易前端资深工程师)

关于页面相应时间,有一条著名的“2-5-8原则”。当用户访问一个页面:

在2秒内得到响应时,会感觉系统响应很快;

在2-5秒之间得到响应时,会感觉系统的响应速度还可以;

在5-8秒以内得到响应时,会感觉系统的响应速度很慢,但可以接受;

而超过8秒后仍然无法得到响应时,用户会感觉系统糟透了,进而选择离开这个站点,或者发起第二次请求。

 

对于一个网站如果希望抓住用户,网站的速度以及稳定性是首当其冲的。

 

从各式各样的前端监控平台中,你都可以获得页面很多的性能指标。本文将介绍几个几个比较关键的指标,并给出相应的优化思路。

开始渲染时间

该时间点表示浏览器开始绘制页面,在此之前页面都是白屏,所以也称为白屏时间。

该时间点可用公式Time To Start Render = TTFB(Time To First Byte) + TTDD(Time To Document Download) + TTHE(Time To Head End)表示。其中TTFB表示浏览器发起请求到服务器返回第一个字节的时间,TTDD表示从服务器加载HTML文档的时间,TTHE表示文档头部解析完成所需要的时间。在高级浏览器中有对应的属性可以获取该时间点。Chrome可通过chrome.loadTimes().firstPaintTime获取,IE9+可以通过performance.timing.msFirstPaint获取,在不支持的浏览器中可以根据上面公式通过获取头部资源加载完的时刻模拟获取近似值。开始渲染时间越快,用户就能更快的看见页面。

对于该时间点的优化有:

1)优化服务器响应时间,服务器端尽早输出

2)减少html文件大小

3)减少头部资源,脚本尽量放在body中

DOM Ready

该时间点表示dom解析已经完成,资源还没有加载完成, 这个时候用户与页面的交互已经可用了。用公式TimeTo Dom Ready = TTSR(Time To Start Render) + TTDC(Time To Dom Created) + TTST(Time To Script)可以表示。TTSR上面已经介绍过了,TTDC表示DOM树创建所耗时间。TTST表示BODY中所有静态脚本加载和执行的时间。在高级浏览器中有DOMContentLoaded事件对应,MDN上有关DOMContentLoaded事件描述的文档如下,

The DOMContentLoaded event is fired when the document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading (the load event can be used to detect a fully-loaded page).

详细规范可以查看W3C的HTML5规范。从MDN文档上可以看出该事件主要是指dom文档加载解析完成,看上去很简单,但是DOMContentLoaded事件的触发与css,js息息相关,现在有专门的名词Critical Rendering Path(关键呈现路径)来描述,在文章【关键呈现路径】中详细介绍了关键呈现路径对DOMContentLoaded的影响。

在不支持DOMContentLoaded事件的浏览器中可以通过模拟获取近似值,主要的模拟方法有:

1)低版本webkit内核浏览器可以通过轮询document.readyState来实现

2)ie中可通过setTimeout不断调用documentElement的doScroll方法,直到其可用来实现

具体实现方法可以参考主流框架(jquery等)的实现。 DOM Ready时间点意味着用户与页面可以进行交互了,因此越早越好,对于该时间点的优化有:

1)减少dom结构的复杂度,节点尽可能少,嵌套不要太深

2)优化关键呈现路径

首屏时间

该时间点表示用户看到第一屏页面的时间,这个时间点很重要但是很难获取,一般都只能通过模拟获取一个近似时间。一般模拟方法有:

1)不断获取屏幕截图,当截图不再变化时,可以视为首屏时间。可参考webPagetest的Speed Index算法;

2)一般影响首屏的主要因素是图片的加载,通过页面加载完后判断图片是否在首屏内,找出加载最慢的一张即可视为首屏时间。当然还需考虑其他细节,具体可参考【7天打造前端性能监控系统】

针对该时间点的优化有:

1)页面首屏的显示尽量不要依赖于js代码,js尽量放到domReady后执行或加载

2)首屏外的图片延迟加载

3)首屏结构尽量简单,首屏外的css可延迟加载

onload

该时间点是window.onload事件触发的时间,表示原始文档和所有引用的内容已经加载完成,用户最明显的感觉就是浏览器tab上loading状态结束。 

该时间点的优化方式有:

1)减少资源的请求数和文件大小

2)将非初始化脚本放到onLoad之后执行

3)无需同步的脚本异步加载

为了优化整站性能,页面onload的时候可以考虑做一些预加载,把其它页面需要用到的资源预先加载进来。

阅读了上面的文章,不知道你有没有get到前端页面的性能指标分析技能。前端进阶学习的道路上,除了自己阅读参考书外,另一个好方法就是找资深的前端开发工程师交流,借助他人的经历获取高效的学习方法和快速进阶的方式。

10月30日晚,我们邀请到了网易高级前端技术专家蔡剑飞为大家进行《前端分层之数据管理》的直播分享。对于想要成为前端开发工程师,或正在前端成长之路上打怪升级的你来说,都是一次不错的学习机会。

关于这场直播,你需要了解…

| 分享人是谁?

本次直播的分享人是网易高级前端技术专家蔡剑飞。他拥有十年网易前端开发经验,是网易杭州研究院前端框架工具、流程规范工程化方向的技术负责人。

| 我能学到什么?

这场分享主要分为两个部分。

第一部分为技术专题,主要对前端分层的数据管理进行一些讲解;

第二部分会针对个人的学习成长,学习如何通过解决碰到的问题来提升个人能力。

| 收费吗?

不收费:) 本次直播为免费分享

| 如何参与直播?

扫描下方QQ群二维码,加入直播交流群~在直播开始之前,助教MM将会放出直播地址,并挥舞小皮鞭敦促大家去听课~

0?wx_fmt=png

如果扫描跳转失败,可以直接添加群号:600918673~

以下是一条诚意满满的硬广

网易云课堂《前端开发工程师》微专业由网易一线资深前端开发工程师团队打造,3个月让你掌握前端开发工程师必知必会的知识体系。通过网易真实产品案例,系统培养底层知识+技术能力+专业素养,手把手助你成为前端开发工程师。

0?wx_fmt=png
0?wx_fmt=png
0?wx_fmt=png

<<  滑动查看学员案例  >>

10月25日-11月3日,《前端开发工程师》微专业正在进行课程团购活动。预付1元,可在尾款期抵扣200元,有兴趣的同学欢迎戳“阅读原文”了解活动详情~

⑤ - 前端工程师通识指南 该章节呢主要为大家介绍的是【前端工程师】主要是做什么,了解前端岗位的工作职责和职业发展路径。 阅读详情

相关推荐

前端开发用 Postman,精准定位接口问题

在现代Web开发中,前后端分离架构已成为主流。前端开发者需要频繁与后端API进行交互,而接口问题往往成为开发过程中的主要痛点。本文旨在全面介绍如何使用Postman这一强大的API开发工具,帮助前端开发者精准定位和解决接口问题。本文涵盖Postman的基础使用、高级功能、调试技巧以及在实际项目中的应用场景,特别针对前端开发者在日常工作中遇到的接口问题提供系统性的解决方案。背景介绍:阐述Postman的基本概念和使用场景核心概念与联系:解析Postman的工作原理和关键功能。

AI架构全栈开发实战笔记 1339

tr td 编写表格

tr td 编写表格table附效果图以便理解

前端程序猿的博客 1万+

微信小程序真机HTTPS证书链失效排查与修复指南

HTTPS证书信任链是保障Web通信安全的基础机制,其核心在于客户端能否通过服务器提供的证书及其上级签发者,逐级回溯至自身预置的可信根证书。在微信小程序场景中,由于客户端不复用系统根证书库,而是采用固化、精简且更新滞后的自研CA白名单,导致大量符合浏览器标准的证书(如Let’s Encrypt新版ISRG Root X1、TrustAsia等)在真机环境下触发net::ERR_CERT_AUTHORITY_INVALID错误。该问题本质是证书链断裂或签名算法/密钥长度不合规,而非域名配置或CORS策略异常。

weixin_33935636的博客 680

html语言td和tr,HTML中的<tr>和<td>是什么意思

HTML中 标签定义 HTML 表格中的行。tr 元素包含一个或多个th或td元素。HTML中 标签定义 HTML 表格中的标准单元格。 元素中的文本通常是普通的左对齐文本。例如一个简单的 HTML 表格,包含两行两列:MonthSavingsJanuary$100扩展资料和在HTML 与 XHTML 之间的差异:1、在 HTML 4.01 中,tr 元素的 "bgcolor" 是不被赞成...

weixin_31271165的博客 1万+

如何使用Ray和PyTorch训练模型

用户编写训练函数 → 定义单机训练逻辑。通过扩缩容配置 → 指定需要多少资源(Worker 数量、CPU/GPU)。训练器整合训练函数和配置 → 自动将训练函数分发到多个 Worker 上并行执行。Worker 运行训练函数 → 在分布式环境中完成模型训练。通过这种模式,Ray Train 实现了对分布式训练的抽象,用户只需关注单机训练逻辑,无需手动管理分布式通信和资源分配。

m0_62464865的博客 1922

STMCubeMX使用TB6612驱动编码轮并进行测速

TB6612电机驱动模块通过IN1和IN2引脚控制电机的旋转方向,并通过PWM信号的占空比调节电机速度。代码示例展示了如何使用GPIO控制电机的正反转,以及如何动态调整PWM占空比实现速度控制。系统设计中,TB6612与编码减速电机连接,STM32CubeMX用于初始化GPIO和PWM输出。编码器接口配置使用TIM3进行测速,TIM4定时器用于速度计算。Keil软件中编写的代码包括编码轮计数值获取、速度计算、电机正反转控制以及小车运动控制等功能。通过OLED显示速度,并实现电机的调试与测试。

wwivn的博客 2262

html中的tr,td,th标签

tr是 table row 表格的行 HTML中 标签定义 HTML 表格中的行。tr 元素包含一个或多个 th 或 td 元素。 td是table data(表格数据) HTML中 标签定义 HTML 表格中的标准单元格。 元素中的文本通常是普通的左对齐文本。 th是table heading表格标题 ,一般表格第一行的数据都是table heading ...

zhansan的博客 2万+

eDP接口信号组成认识

eDP接口信号主要由Main Link、AUXCH与HPD三部分组成,如下图所示。 Main Link:表示主通道,用来传输各类型视频数据和音频数据; AUX CH:表示辅助通道,用于传输低带宽需求的数据,以及链路管理和设备控制信号; HPD:表示热插拔检测通道。 Main Link南1~4对数据线组成,每对数据线都是一对差分线。对于一款液晶屏而言,Main Link具体需几对数据线,这取决于屏幕的分辨率和彩色位数。 在该通道中传送的信号有视频像素信号、视频定时信号、视频格式信号、比特/像素及

精诚所至 2万+

html的tr和td标签

 tr 标签——代表HTML表格中的一行 <br />1) tr 标签是成对出现的,以<tr>开始,</tr>结束 <br />2)属性 <br /> ——Common -- 一般属性 <br /> 1》align :代表行的水平对齐方式(left(左对齐) | center(居中对齐) |right(右对齐) | justify)(此属性应该使用CSS实现) <br /> 2》valign :代表行的垂直对齐方式(top(顶部对齐) | middle(中部对齐) | bottom(下部对齐) | base

Mr. David 专栏 1万+

GitHub漏洞挖掘与CVE提交实战指南:从发现到编号的完整链路

GitHub开源项目是现代软件供应链的核心节点,其安全漏洞直接影响全球数百万系统的机密性、完整性与可用性。理解漏洞本质需回归CIA三元组原理,而真实可利用性依赖对协议解析层、配置加载区和依赖传递链等高危模块的精准识别。技术价值在于将模糊的‘可疑逻辑’转化为符合MITRE CVE标准的可验证事件,支撑SDL流程、威胁情报建设与供应链风险管理。典型应用场景包括甲方安全工程师推动供应商修复、独立研究者参与负责任披露,以及DevSecOps团队构建自动化风险坐标系。本文基于27次CVE提交经验,聚焦GitHub代码

weixin_33646989的博客 651

【SpringBoot笔记44】SpringBoot多数据源配置(方式一:配置多个mapper扫描不同的包路径实现多数据源配置)

在SpringBoot应用开发中,一般情况下,都是只会配置一个数据源信息,之后整个工程都是对当前数据源进行增删改查的操作。但是,在实际开发里面,也有可能会遇到多数据源的情况,例如:当前工程中除了需要访问自己应用的数据库,还需要直接连接第三方系统的数据库进行业务处理,这种情况下,就需要进行多数据源的配置。SpringBoot考虑到了这一点,所以它是支持多数据源的配置的,下面介绍一下如何配置多数据源。

✅ Java 开发工程师 1117

HTML基础之tr和td标签用法

网页制作用的较多的就是这些常用的标签,现在将tr和td分析如下: 1.HTMLtr标签     tr 标签 -- 代表HTML表格中的一行     * tr标签是成对出现的,以开始,结束     * 属性      Common --一般属性       align -- 代表行的水平对齐方式(left(左对齐) | center(居中对齐) |right(右对齐) | jus

从_零_开始的专栏 1万+

LSTM+Transformer混合模型时间序列预测实战教学

LSTM+Transformer混合模型时间序列预测实战教学 毕业设计

8219

前端开发,太难啦!

此外,游戏的物理引擎与AI技术的结合,为玩家提供了真实而刺激的战斗体验,敌人能够实时分析玩家的动作和策略,提供具有挑战性的反馈。这种对细节的关注和对技术的运用,确保了游戏的高质量和玩家的深度参与。当代码发生变化时,Browsersync 会自动刷新所有连接的浏览器,使前端工程师能够快速发现和解决在不同浏览器中出现的兼容性问题,确保网页在各主流浏览器上的一致性表现。总之,《黑神话:悟空》的前端开发和交互设计的成功,展示了中国游戏产业在技术和艺术结合方面的成就,同时也体现了开发团队与设计师紧密合作的重要性。

AI分享官 580

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

毕业生想学习web前端开发,有什么好的发展方向吗?

先说一下现在公司企业招聘前端开发人员需要掌握哪些技术要求 目前企业招聘前端工程师的基本需求: 1.精通DIV+CSS网页框架布局的HTML代码编写,熟悉W3C标准; 2、使用HTML5/CSS3熟练地进行页面开发; 3.具备良好的前端架构分析能力与设计能力,与开发团队保持良好沟通; 4.精通各主流浏览器(IE6+、Firefox、Chrome、Safari)间的差异性,能快速定位和解决各种兼容难题; 5.熟悉JavaScript、Ajax、Flash、JQuery、ExtJS等各种Web前端开发

liudanyang_21的博客 360

前端开发技术栈指南

早期前端开发主要依赖于HTML、CSS和JavaScript三驾马车,但随着Web应用的复杂度提升,jQuery等库应运而生,大幅简化了DOM操作和事件处理。随后,以Angular、React和Vue为代表的三大框架引领了组件化开发革命,推动了单页面应用(SPA)的普及。持续学习是前端领域的必备素质,关注Web标准进展和社区动态,参与开源项目和实践个人项目都是有效的成长途径。建立知识系统并深入理解技术背后的原理,而非仅仅追求新技术的表面使用,才能应对快速变化的Web开发 landscape。

chang_quanyou的博客 682

前端工程师的技术成长路线图:从入门到专家

Hi,我是布兰妮甜!前端开发是互联网行业中最具活力的领域之一。随着Web技术发展和用户体验要求提高,前端工程师角色已从"页面制作"转变为"应用开发"。本文将为前端开发者提供技术成长路线图,帮助规划从入门到专家的职业发展路径。

chaosweet的博客 1275

干货 | 提升50分,Trip.com 机票基于 PageSpeed 的前端性能优化实践

作者简介Patrick,携程资深前端开发工程师,专注于前端工程化和性能优化。前言网站性能对于用户体验、转化率和流失率、SEO 排名等至关重要,Trip.com 主要用户来自海外,对网站访...

携程技术 1028

全栈工程师

什么是全栈工程师 一专多长。工程师首先有一个精专的方向,在这个方向上足够精通之后(高级工程师级别),以此为突破点去学习更多的知识,增加自己的长处。 在技术上,我一直提倡的是十字型的成长方式,即从水平和垂直两个方向提升自己的能力。比如我擅长的是javascript,我会去学习jquery、angular等这些有用的js库,这属于垂直方向。同时我继续对node.js、mongodb这类后端

Strenghthen的博客 1052
上一篇: McAfee 宣布不再允许政府检查其软件源码;Linux 基金会提出 CDLA 协议,助推开放数据共享...
下一篇: 美国人如何看待本土科技巨头的?苹果、FB 和 Twitter 最不受信任
redditnote
博客等级 码龄12年 51粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值