NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

提高 Web 应用程序性能的权威指南

  • 2019-08-16
  • 本文字数:1752 字

    阅读完需:约 6 分钟

提高Web应用程序性能的权威指南

一份能够提高你的速度和效率的工具和资源列表。



如果你的网站不能在 3 秒内加载,谷歌会将它标记为慢。这样想就很恐怖,因为现在很多网站事实上都很慢。人类正着手登陆火星,而地球上的网站却还在以糟糕的方式构建和维护,从而导致互联网上到处都是反应迟缓的网站。除非你正在构建一个渐进式 Web 应用程序,否则很大可能你的网站会被认为很慢。


因此,解决方案很简单:不要构建一个网站,而是构建一个渐进式 Web 应用程序!


这样做,你就成功了一半。剩下的一半,你需要指南和工具。当我在Hyperware坚持构建高质量、快速的 Web 应用程序的过程中,我学到了一件事:如果你在互联网上寻找建议和工具,网上比比皆是,但是只有很少一部分对完成工作有所帮助。而找到这些对你有帮助的建议和工具是一份艰巨的任务。


本文将介绍我个人认为有用,并且尝试和测试过的工具和优化方法,以及一些我在为企业构建渐进式 Web 应用程序时仍会参考的有用文章。


当你聚焦于某事时,继续寻找东西是很痛苦的。因此,我为你们做了这个脏活,写了这篇值得收藏的文章。


这些很棒的工具的用途是:


  • 优化或压缩图片

  • 检查网站性能

  • 提高 Web 应用程序性能

优化或压缩图片

Squoosh

Squoosh是我用过的最棒的优化工具。我真希望早点发现这个工具。Squoosh 是由谷歌工程师构建的,其中最棒的是,你在调整质量参数的时候可以实时看到优化过的图片和没有优化过的图片的差异。Squoosh 很好用,能让你清楚知道压缩后的图片是什么样子。


ImageOptim

ImageOptim是一个简单易用的图片优化器。它会自动缩减图片尺寸而不会丢失图片的原始质量。ImageOptim 有一个友好的拖拽界面和多文件上传选项,因此非常易用。由于 ImageOptim 只在 Mac 上可用,FileOptimmizer对于 Windows 用户是一个不错的选择。


检查网站性能

网站性能测分工具并不仅仅是提供 100 分能得几分的数字——他们应该用来反复寻找和修复你的网站中薄弱的部分。

Lighthouse

没有其他工具比Lighthouse更了解网站性能的了。性能上 90+的得分对于 Web 应用程序来说是一个绝对的基准。我强烈建议你读一读《Lighthouse | Tools for Web Developers | Google Developers》来更好地了解谷歌的 Lighthouse。


专业建议:使用Lighthouse chrome扩展来更快地审核任何页面。

GTmetrix

GTmmetrix可能是你除了 Lighthouse 外唯一需要的工具,来进一步检查你的网站是否还有需要修复的地方。它显示了相关机会来提高页面速度以及页面加载时间和页面大小。

提高 Web 应用程序性能

  1. 总是在.js 文件前面引用 CSS 文件。

  2. 在 HTML 文件中少用和,除非你有一个关键的请求需要提前加载。

  3. 对于需要频繁更新的应用程序来说,拆分打包文件比较好。对于小型应用程序,最好打包成一个.js 文件和.css 文件,这样会减少 HTTP 请求的数量。

  4. 使用 Pagespeed 模块。PageSpeed模块是开源的服务器模块,可以自动优化网站。静态托管用户可以将如下代码加到他们的.htaccess 文件中来启用 PageSpeed 模块。



  1. 压缩.js 和.css 文件。这种用途的在线工具有很多(例如,minifier)。如果你使用 Webpack,那么你的文件会在生产构建时被自动压缩!

  2. 如果你使用 Webpack 作为模块打包器,使用UglifyJsModuleConcatenateSplitchunks等 Webpack 优化插件。

  3. 使用Webpack Bundle Analyzer插件来了解你的应用程序在生产构建时每个占用了多少空间。减少在你的打包文件中占用大量空间的没有用到的或很少用到的模块。

关于提升 Web 应用程序性能的一些福利文章

如果有工具来为你做这些脏活儿就好了。这就是为什么开发者喜欢 Webpack 的原因,也是他们不了解 Webpack 是如何工作的原因之一!


下面的内容将深入探讨性能优化。你将了解网站速度的方式、内容和原因。通过这些内容,你可以花一点儿时间来学习关于浏览器渲染和网站速度的基础知识。

视频 | 使用Chrome DevTools优化网站速度

浏览器渲染优化——谷歌的一项免费课程

谷歌的渐进式Web应用程序指南

理解Webpack中的代码拆分和打包拆分

我相信所有上述信息都将为你在提升 Web 应用程序性能方面提供很大帮助。由于互联网的信息变化很快,一旦我遇到其它有用的东西,我将持续更新本文。敬请期待!


作者介绍:


Swanand Kadam 是 HyperwareX.com 的创始人,关注渐进式 Web 应用程序、机器学习和员工激励。


原文链接:


The Definitive Guide to Boosting Your Web Application Performance


2019-08-16 11:4111838

评论

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

Tomcat性能调优

Java 程序员 后端

Ubuntu16安装Nvidia驱动(GTX1060显卡)

Java 程序员 后端

Vue学习之基础入门

Java 程序员 后端

基于Fiber的React Diff算法源码分析

贝壳大前端技术团队

Fiber React Diff

windows 下JDK12的安装过程

Java 程序员 后端

营口市广东商会成立

江湖老铁

架构实战营-模块三作业

随风King

「架构实战营」

YGC问题排查,又让我涨姿势了!

Java 程序员 后端

两强联手,百度智能云和中电互联打造自主可控工业互联网联合实验室

百度大脑

人工智能 百度

System

Java 程序员 后端

Tomcat 多端口,多虚拟主机配置方法

Java 程序员 后端

Vim,人类史上最好用的文本编辑器!从此以后你就是一个善良的极客!

Java 程序员 后端

Win10安装Tomcat服务器与配置环境变量

Java 程序员 后端

SymmetricDS 数据库双向同步开源软件入门

Java 程序员 后端

官宣!Apache ShardingSphere 5.0.0 正式发布

SphereEx

Java 数据库 Apache ShardingSphere

windows7 本地搭建ELK 收集项目运行日志

Java 程序员 后端

this与super关键字(阿里巴巴面试竟然问道这个了……今天把它盘透彻了!

Java 程序员 后端

使用JDBC操作SAP云平台上的HANA数据库

Jerry Wang

JDBC Cloud SAP 11月日更

T-SQL——数据透视和逆透视

Java 程序员 后端

Android技术分享| 【自习室】自定义View代替通知动画(2)

anyRTC开发者

android 音视频 WebRTC 移动开发 自定义view

tomcat的maxThreads、acceptCount,对高并发的影响

Java 程序员 后端

智能边缘框架Baetyl,为各行业落地实践提供安全机制

百度大脑

人工智能 百度

WPF学习——依赖项属性(2)(1)

Java 程序员 后端

Swagger 3

Java 程序员 后端

volatile关键字的原理和要避免的误区

Java 程序员 后端

WPF学习——依赖项属性(2)

Java 程序员 后端

TLS加密远程连接Docker

Java 程序员 后端

Volatile:内存屏障原理应该没有比这篇文章讲的更清楚了

Java 程序员 后端

TCP面试相关总结

Java 程序员 后端

WPF学习——依赖项属性(1)

Java 程序员 后端

Worktile、Teambition与Tower项目管理软件对比

Java 程序员 后端

提高Web应用程序性能的权威指南_技术管理_Swanand Kadam_InfoQ精选文章