大多数与我合作的人都知道,我是追求性能优化的极客。 渲染引擎...这些关键词在工作中很常见。一切都是为了性能!
软件工程领域的一领域的一流公民。
在团队中建立它可以帮助您提前降低与性能相关的风险。
为什么性能如此重要?风险在哪里?
为什么性能优化如此重要
作为合格的 Web 我们的目标是提供最好的用户体验。
性能与可用性有关
有很多研究 [1],[2],[3]) 展示商业目标与网站可用性的关系。
网站的用户体验是否快速简洁,往往决定了网站的成败。
如果你的网站速度太慢,那么再优秀的 UI 框架和架构不能留住用户。当白屏或加载时,他们可能无法忍受等待并关闭网页。
如果网站不显示任何内容,53% 的用户在 3 页面将在秒内关闭。
另外,根据 Google 站长工具显示,性能也会影响移动终端网页的搜索排名。.
性能与可访问性有关
让我们来看看全球市场。考虑到数据成本,性能也是一个重要因素。想想用户浏览你的网站要花多少钱?
你可以从这个网站上找到来自世界各地的人一个月 500M 手机流量支付的费用。问问自己,我愿意花钱 X 元浏览我的网站吗?
此外,在一些国家,大多数人通过手机上网(移动上网时间)。 因此,在优化性能时,首先要考虑移动优化。忽略这一点,你的产品可能会被很多人拒绝。
性能与同理心有关
拿着锤子的木匠眼里只有钉子。我们不应该只关注钉子,因为我们只能通过它对房子有肤浅的理解。
不要只沉浸在一些令人眼花缭乱的事情中(如新技术、尖端框架),开阔视野,关注住在房子里的人,关注他们的需求,使用新技术和尖端框架来满足他们。
性能第一,始终保持与状态。不幸的是,并非所有的团队都有这些品质。
计划最坏
几周前,我的同事向我展示了一个有趣的场景。某装修网站采用内容管理系统(类似WordPress)在后台管理数据。有一天,有人上传了一张图片:
截图来自 Chrome Dev Tools
这张图片有,在 MacBook Pro 上,Wi-Fi 当连接超好时,加载只是显示。你能想象这张图在移动终端上显示需要多长时间吗?答案是:因为在移动浏览器中打开这个网页是不响应。
就是这个网站,如果你对宝宝很好奇,试试,但请注意你的浏览器很可能会卡住。
我们不应该抱怨上传照片的用户,他们只是想展示家具的细节。
回到刚才的观点——了解我们的用户,当用户生成内容时,我们应该始终为最糟糕的情况做好准备。
作为开发者,当用户与您开发的软件交互时,您应该考虑它的觉悟。
何时优化
性能优化通常有两种方法。Ben Schwarz本文总结了这两种方法。如果对Python感兴趣,想了解更多Python以及AIoT知识、测试问题和入门指导可以帮助你解决学习问题Python我们这里有技术高手遇到的困惑。如果你正在找工作,或者刚从学校出来,或者你已经工作了,但你经常觉得有很多困难Python学得不够好,想继续学习,想转行怕学不会, 你可以加入我们,得到最新的Python大厂面试资料及Python爬虫,人工智能,学习资料!VX【pydby01】暗号CSDN
以(上图) vs(下图) 优化性能的方法
首先,让我们来看看传统的被动方式。David, 有一个问题——当问题出现时,考虑解决方案,称之为。我经常看到这样的场景:问题来了,快,请砖家。
这种开发和运营模式不仅产生了高昂的成本,而且损害了团员的合作热情。它甚至可能导致团队成员在解决性能优化目标时过于人性化和摩擦。
另一方面,积极拥抱。从积极的角度考虑性能优化。
如果你想要了解具体的性能优化所带来的好处,以说服你的上司采用“主动”提高的方式,你可以看看网络性能优化演示报告。
开启主动模式后,开发效率效率,建立早发现、早解决的团队文化,而不是有问题、找顾问。
但性能罗马皇城不会一夜之间建成。我们只能在适当的情况下逐一理解它的影响和适当的解决方案。
优化的艺术 - 具体措施
你了解有多少用户通过移动端登录你的站点么?你进行站点压力测试的频率如何?你有在中档设备例如 Moto G4您的设备在测试中运行吗?
这就是我们维修站每天要面对的场景。
了解你的目标用户和你的目标场景。选择正确的目标是实现团队性能第一文化的重中之重。
当你选择你关注的指标时,你可以开始。
终于到了开始的时候了! 在这里分享一些方法和实践,你可以介绍你的日常工作。
第一步:性能评价
- Lighthouse,这是一个很棒的项目,你可以 Chrome 在开发者工具中使用它。它可以帮助你理解潜在的性能优化点。 SEO、可访问性和最佳实践为您提供参考。
- 通过Webpagetest对性能优化策略部署前后的指标跟踪调查和变化进行比较。同样推荐gtmetrix,小众软件,有亲和力的交互界面。
第二步:性能流程自动化
- 在产品迭代过程中考虑性能相关问题。bundlesize在迭代过程中定义参数的范围是一个很好的工具包。
- 如果加载次数或其它指标超过一定阈值,则创建自动测试。Puppeteer直接访问谷歌浏览器的应用接口,直接观察相关指标。
第三步:性能可视化
- 团队成员应该了解他们写的代码对团队的影响。页面包装分析器是页面包装可视化的工具。如果使用某个库,代码总量将增加 10%,所以开发者在选择之前要多考虑。
- import cost用于 VSCode,您可以告诉您加载的依赖包的代码量。同样,该工具也可以帮助每个成员了解其代码对项目的影响。
第四步:监督和授权
- 有序的组织离不开强有力的规范,对成员的持续教育应该贯穿整个过程。我们使用performance checklist规范每个项目的性能模块。
- 确保融入性能优化团队文化。如果只有一个人参与,你就会陷入被动优化的循环。让团队履行自己的职责,共同确保项目各方面的质量。
建筑性能第一非朝夕之功。 它是一个团队问题,改善以及转型过程。性能优化并不复杂,你需要有技术背景和相应的网络知识。坚实的基本功能可以帮助你使用最先进的技术来改进你的产品。
在我工作的地方,性能优化已经成为我日常学习和工作的一部分。我们将讨论性能优化背后的原因,而不是单独优化性能。
Performance cheatsheet poster展示在我们 Fortech 的办公室中
性能是产品质量的一部分
最后,产品性能优化与前端交互体验、安全性和可访问性一样重要。的一部分。
有时候,你可能会认为注重性能提升是画蛇添足的举动。也许不是你客户需求的关键。但作为一名合格的开发人员,我们有责任提供高质量的应用程序。而应用性能则是软件质量的要素之一。如果对Python感兴趣,想了解更多Python以及AIoT知识、测试问题和入门指导可以帮助你解决学习问题Python我们这里有技术高手遇到的困惑。如果你正在找工作,或者刚从学校出来,或者你已经工作了,但你经常觉得有很多困难Python学得不够好,想继续学习,想转行怕学不会, 你可以加入我们,得到最新的Python大厂面试资料及Python爬虫,人工智能,学习资料!VX【pydby01】暗号CSDN
这里总结一些建议,创造性能至上的文化:
- 提高你的认知能力,了解你的用户
- 主动拥抱问题,解决问题
- 保持“测评”与“行动”的习惯:测评,行动,如此循环
- 统一团队,知行合一
- 牢记把关产品质量