Web性能优化的完整资料汇总

webx性能相关的一些文档和文章荟萃!

Documentation

Blogs

Articles

Books

Best books about WPO

Talks

Best talks about WPO

Analyzers

  • Confess - Uses PhantomJS to headlessly analyze web pages and generate manifests.

  • Page Speed - The PageSpeed family of tools is designed to help you optimize the performance of your website. PageSpeed Insights products will help you identify performance best practices that can be applied to your site, and PageSpeed optimization tools can help you automate the process.

  • YSlow - YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages.

  • YSlow for PhantomJS - YSlow for PhantomJS also introduces new output formats for automated test frameworks: TAP (Test Anything Protocol) and JUnit.

  • Grunt-yslow - Grunt task for testing page performance using PhantomJS, a headless WebKit browser.

  • Grunt-perfbudget - A Grunt.js task for enforcing a performance budget (more on performance budgets).

  • Web Tracing Framework - Web Tracing Framework is a set of libraries, tools, and visualizers for the tracing and investigation of complex web applications.

Analyzers - API

  • Node-yslowjs - YSlow.js on Node.js is a simple Node.js wrapper for programmatically running phantomjs yslow.js.

  • PSI - PageSpeed Insights for Node - with reporting.

Benchmark - CSS

  • CSS-perf - Completely unscientific way of testing CSS performance. Most of these tests will revolve around methodologies and techniques for determining effective CSS architecture. Put another way, I want to know what works best given a particular comparison of CSS strategies.

Benchmark - Javascript

A set of tools for creating test cases and compare different implementations in JavaScript.

  • JSPerf - jsPerf aims to provide an easy way to create and share test cases, comparing the performance of different JavaScript snippets by running benchmarks.

  • Benchmark.js - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.

  • JSlitmus - JSLitmus is a lightweight tool for creating ad-hoc JavaScript benchmark tests.

  • Matcha - Matcha allow you to design experiments that will measure the performance of your code. It is recommended that each bench focus on a specific point of impact in your application.

  • Timing.js - Timing.js is a small set of helpers for working with the Navigation Timing API to identify where your application is spending its time. Useful as a standalone script, DevTools Snippet or bookmarklet.

  • Stats.js - This class provides a simple info box that will help you monitor your code performance.

Bookmarklets

  • Yahoo YSlow for Mobile/Bookmarklet - YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages.

  • PageSpeed - PageSpeed Insights is available as an open-source browser extension for Google Chrome. Webmasters and web developers can use PageSpeed Insights to evaluate the performance of their web pages and to get suggestions on how to improve them.

  • PerfMap - A bookmarklet to create a front-end performance heatmap of resources loaded in the browser using the Resource Timing API.

  • DOM Monster - A cross-platform, cross-browser bookmarklet that will analyze the DOM & other features of the page you're on, and give you its bill of health.

  • CSS Stress - CSS Stress is a Testing and Performance Profiling.

CDN

A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks. (by Wikipedia)

  • jsDelivr - Similar to Google Hosted Libraries, jsDelivr is an open source CDN that allows developers to host their own projects and anyone to link to our hosted files in their websites.

  • GBtags CDN中文服务:GBtags - Chinese net open CDN service

  • Google Hosted Libraries - Google Hosted Libraries is a content distribution network for the most popular, open-source JavaScript libraries.

  • CDNjs - An open source CDN for Javascript and CSS sponsored by CloudFlare that hosts everything from jQuery and Modernizr to Bootstrap.

  • Microsoft Ajax Content Delivery Network - Microsoft Ajax Content Delivery Network (CDN) hosts popular third party JavaScript libraries such as jQuery and enables you to easily add them to your Web applications.

  • jQuery - jQuery CDN – Latest Stable Versions, powered by MaxCDN.

  • Bootstrap - The recommended CDN for Bootstrap, Font Awesome, and Bootswatch.

  • Yandex CDN - Yandex Content Delivery Network hosts popular third party JavaScript and CSS libraries (best for use in Russia).

  • Handpicked jQuery Plugins Repository CDN - Content Delivery Network for popular jQuery plugins (only supports HTTP).

  • Bootstrap开放CDN服务 - Bootstrap Chinese net open CDN service (only supports HTTP).

  • Forget Google and Use These Hosted JavaScript Libraries in China - Some popular javascript libraries hosted by Chinese Internet companies. They are hosted on servers within China so they are much more stable and faster.

  • CDNify - A Content Delivery Network for distributing all your static assets with ease around the globe.

  • Cached Commons - Caching and Compressing Javascripts and Stylesheets since 2009. 148 libraries and counting.

  • OSSCDN - OSSCDN is a free CDN powered by MaxCDN that hosts all kinds of Open Source projects.

See a large list of CDN in (Wikipedia)[http://en.wikipedia.org/wiki/Content_delivery_network#Notable_content_delivery_service_providers]

CDN - Monitor

  • CDNperf - finds you fast and reliable JavaScript CDNs that make your websites snappy and happy.

CDN - Utilities

Image Optimizers

How to remove all this unnecessary data and give you a file without degrading quality.

  • Grunt-smushit - Grunt plugin to remove unnecessary bytes of PNG and JPG using Yahoo Smushit.

  • Gulp-smushit - Gulp plugin to optimize PNG and JPG using Yahoo Smushit. Made on top of smosh.

  • Smush.it - Smush.it uses optimization techniques specific to image format to remove unnecessary bytes from image files. It is a "lossless" tool, which means it optimizes the images without changing their look or visual quality.

  • Imagemin - Minify images seamlessly with Node.js.

  • Sharp - The typical use case for this high speed Node.js module is to convert large images of many formats to smaller, web-friendly JPEG, PNG and WebP images of varying dimensions.

  • Gm - GraphicsMagick and ImageMagick for node.

  • Exexif - Pure elixir library to extract tiff and exif metadata from jpeg files.

  • OptiPNG - OptiPNG is a PNG optimizer that recompresses image files to a smaller size, without losing any information.

  • Grunt-contrib-imagemin - Minify PNG and JPEG images for Grunt.

  • Gulp-imagemin - Minify PNG, JPEG, GIF and SVG images with imagemin for Gulp.

  • Grunt-WebP - Convert your images to WebP format.

  • Gulp-WebP - Convert images to WebP for Gulp.

  • Imageoptim - Free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, removes junk metadata and unnecessary color profiles.

  • Grunt-imageoptim - Make ImageOptim, ImageAlpha and JPEGmini part of your automated build process.

  • ImageOptim-CLI - Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimisation of images part of your automated build process.

  • Tinypng - Advanced lossy compression for PNG images that preserves full alpha transparency.

  • Kraken Web-interface - Optimize your images and will be available for download for 12 hours.

  • Shrinkray - One-click optimization for images in your Github repos

  • mozjpeg - Improved JPEG encoder.

  • Jpegoptim - Utility to optimize/compress JPEG files.

  • ZopfliPNG - A command line program to optimize PNG images.

  • AdvPNG - Recompress png files to get the smallest possible size.

  • Leanify - Lightweight lossless file minifier/optimizer.

  • Trimage - A cross-platform tool for losslessly optimizing PNG and JPG files.

Loaders

  • HeadJS- The only script in your HEAD. for Responsive Design, Feature Detections, and Resource Loading.

  • RequireJS - RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node.

  • Labjs - is an open-source (MIT license) project supported by Getify Solutions. The core purpose of LABjs is to be an all-purpose, on-demand JavaScript loader, capable of loading any JavaScript resource, from any location, into any page, at any time.

  • Defer.js - Async Everything: Make the meat of your pages load faster with this JS morsel.

  • InstantClick - InstantClick makes following links in your website instant.

Metrics Monitor

  • Phantomas - PhantomJS-based web performance metrics collector and monitoring tool.

  • Showslow - open source tool that helps monitor various website performance metrics over time. It captures the results of YSlow, Page Speed Insights, WebPageTest and dynaTrace AJAX Edition.

  • Bench - Using Phantomas (a PhantomJS backed client performance metrics scrapper). Benchmark a page, store results in MongoDB and display result via the built in server.

  • Keepfast - Tool to monitor indicators related to performance of a web page.

  • GTmetrix - GTmetrix uses Google Page Speed and Yahoo! YSlow to grade your site's performance and provides actionable recommendations to fix these issues.

  • Pingdom Website Speed Test - Test the load time of that page, analyze it and find bottlenecks.

  • Dotcom-tools - analyze your website's speed in real browsers from 20 locations worldwide.

  • Libra - Libra is a service to measure the weight along the time, written in Python.

  • WebPageTest - Run a free website speed test from multiple locations around the globe using real browsers (IE and Chrome) and at real consumer connection speeds. You can run simple tests or perform advanced testing including multi-step transactions, video capture, content blocking and much more. Your results will provide rich diagnostic information including resource loading waterfall charts, Page Speed optimization checks and suggestions for improvements.

  • Sitespeed.io - Sitespeed.io is an open source tool that will check your site against web performance best practice rules and use the Navigation Timing API to collect metrics. It will create XML & HTML output of the result.

  • Grunt-phantomas - Grunt plugin wrapping phantomas to measure frontend performance.

  • Perfjankie - Runtime Browser Performance regression suite (Demo).

  • BrowserView Monitoring - Continually checks web page load times in Internet Explorer, Chrome and Firefox from multiple points around the world.

  • Perf Bar - Simple way to collect and look at your website performance metrics quickly, that supports budgeting and adding custom metrics.

  • New Relic Browser Monitoring - Monitor your browser-side applications in real time, with a focus on real end users’ experiences.

  • DareBoost - Real Browser Monitoring. Offers complete reports about web performance and quality using YSlow, Page Speed and numerous custom tips.

Metrics Monitor - API

Minifiers - HTML

  • HTMLCompressor - HtmlCompressor is a small, fast and very easy to use Java library that minifies given HTML or XML source by removing extra whitespaces, comments and other unneeded characters without breaking the content structure. As a result pages become smaller in size and load faster. A command-line version of the compressor is also available.

  • Django-htmlmin - django-html in an HTML minifier for Python with full support for HTML 5. It supports Django, Flask and any other Python web framework. It also provides a command line tool that can be used for static websites or deployment scripts.

  • HTMLMinifier - HTMLMinifier is a highly configurable, well-tested, Javascript-based HTML minifier, with lint-like capabilities.

  • Grunt-contrib-htmlmin - A grunt plugin to minify HTML that uses HTMLMinifier.

  • Gulp-htmlmin - A gulp plugin to minify HTML that uses HTMLMinifier.

  • Grunt-htmlcompressor - Grunt plugin for html compression, using htmlcompressor.

  • HTML_minifier - Ruby wrapper for kangax html-minifier.

  • HTML_press - Ruby gem for compressing html, that removes all whitespace junk, and leaves only HTML.

  • Koa HTML Minifier - Middleware that minifies your HTML responses using html-minifier. It uses html-minifier's default options which are all turned off by default, so you have to set the options otherwise it's not going to do anything.

  • HTML Minifier Online - A HTML min tool by kangax (HTMLMinifier Creator).

  • Minimize - Minimize is a HTML minifier based on the node-htmlparser,currently, HTML minifier is only usuable server side. Client side minification will be added in a future release.

  • Html-minifier - A simple Windows command line tool to minify your HTML, Razor views & Web Forms views

Minifiers - JS & CSS

  • YUI Compressor - JavaScript compressor which, in addition to removing comments and white-spaces, obfuscates local variables using the smallest possible variable name. This obfuscation is safe, even when using constructs such as 'eval' or 'with' (although the compression is not optimal is those cases) Compared to jsmin, the average savings is around 20%.

  • UglifyJS2 - UglifyJS is a JavaScript parser, minifier, compressor or beautifier toolkit, written in JavaScript.

  • CSSO - CSS minimizer unlike others. In addition to usual minification techniques it can perform structural optimization of CSS files, resulting in smaller file size compared to other minifiers.

  • CSSmin.js - cssmin.js is a JavaScript port of YUICompressor's CSS minifier.

  • Grunt-contrib-concat - A Grunt plugin to concatenate files.

  • Grunt-contrib-uglify - A Grunt plugin to concatenate and minify Javascript files.

  • Clean-css - A fast, efficient, and well tested CSS minifier for node.js.

  • Django-compressor - Compresses linked and inline javascript or CSS into a single cached file.

  • Django-pipeline - Pipeline is an asset packaging library for Django, providing both CSS and JavaScript concatenation and compression, built-in JavaScript template support, and optional data-URI image and font embedding.

  • JShrink - JShrink is a PHP class that minifies javascript so that it can be delivered to the client quicker.

  • JSCompress - The most minimalistic online JS Compress tool.

  • CSSshrink - Because CSS is ospon the critical path to rendering pages. It must be small! Or else!

  • Grunt-cssshrink - This is just a grunt wrapper for CSS Shrink.

  • Gulp-cssshrink - Shrinks CSS files using cssshrink for Gulp.

  • Prettyugly - Uglify (strip spaces) or prettify (add consistent spaces) CSS code.

  • Grunt-contrib-cssmin - CSS Minifier for Grunt.

  • Gulp-cssmin - CSS Minifier for Gulp.

  • Grunt-uncss - A grunt task for removing unused CSS from your projects.

  • Gulp-uncss - A gulp task for removing unused CSS from your projects.

Miscellaneous

  • Socialite.js - Socialite provides a very easy way to implement and activate a plethora of social sharing buttons — any time you wish. On document load, on article hover, on any event.

  • uCSS - uCSS is made for crawling (large) websites to find unused CSS selectors, but not remove unused CSS.

  • HTTPinvoke- A no-dependencies HTTP client library for browsers and Node.js with a promise-based or Node.js-style callback-based API to progress events, text and binary file upload and download, partial response body, request and response headers, status code.

  • Critical - Extract & Inline Critical-path CSS in HTML pages (alpha).

  • Csscolormin - Utility that minifies CSS colors, example: min("white"); // minifies to "#fff".

  • StyleStats - StyleStats is a Node.js library to collect CSS statistics.

  • Lazysizes - High performance lazy loader for images (responsive and normal), iframes and scripts, that detects any visibility changes triggered through user interaction, CSS or JavaScript without configuration.

  • Perf-Tooling - Perf Tooling is a shared resource to keep track of new and existent performance tools.

  • TMI - TMI (Too Many Images) - discover your image weight on the web.

Sprite Generators

  • Glue - Glue is a simple command line tool to generate sprites:

  • Pitomba-spriter - Spriter is a simple and flexible dynamic sprite generator for CSS, using Python. It can process CSS both synchronous and asynchronous as it provides classes to be used in your python code and also a watcher that listens to your filesystem and changes CSS and sprite as soon as a static is changed.

  • Grunt-spritesmith - Grunt task for converting a set of images into a spritesheet and corresponding CSS variables.

  • Gulp-sprite - gulp task for creating a image sprite and the corresponding stylesheets for Gulp.

  • Gulp-svg-sprites - gulp task for creating svg sprites.

  • Assetgraph-sprite - Assetgraph transform for auto generating sprites based on the CSS dependency graph.

  • Sprite Cow - Sprite Cow helps you get the background-position, width and height of sprites within a spritesheet as a nice bit of copyable css.

  • Spriteme - Create, integrate, and maintain CSS sprites with ease.

SVG

  • SVGO - SVGO is a Nodejs-based tool for optimizing SVG vector graphics files.

  • Grunt-svgmin - Minify SVG using SVGO for Grunt.

  • Gulp-svgmin - Minify SVG with SVGO for Gulp.

  • Scour - Scour is an open-source Python script that aggressively cleans SVG files, removing a lot of 'cruft' that certain tools or authors embed into their documents.

  • SVG Cleaner - SVG Cleaner could help you to clean up your SVG files from unnecessary data. It has a lot of options for cleanup and optimization, works in batch mode, provides threaded processing on the multicore processors.

Web Components

  • Vulcanize - Concatenate a set of Web Components into one file, a Build tool for HTMLImports and Web Components.

  • Grunt-vulcanize - Grunt task for Polymer's Vulcanize.

  • Gulp-vulcanize - Concatenate a set of Web Components into one file that use Vulcanize.

Webserver Benchmarks

  • HTTPerf - httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance.

  • Apache JMeter - Open source load testing tool: It is a Java platform application.

  • Autoperf - Autoperf is a ruby driver for httperf, designed to help you automate load and performance testing of any web application - for a single end point, or through log replay.

  • HTTPerf.rb - Simple Ruby interface for httperf, written in Ruby.

  • PHP-httperf - PHP Port of HTTPerf.rb.

  • HTTPerf.js - JS Port of HTTPerf.rb.

  • HTTPerf.py - Python Port of HTTPerf.rb.

  • Gohttperf - Go Port of HTTPerf.rb.

  • wrk - A HTTP benchmarking tool (with optional Lua scripting for request generation, response processing, and custom reporting)

Webserver Modules

  • PageSpeed Module - PageSpeed speeds up your site and reduces page load time. This open-source webserver module automatically applies web performance best practices to pages and associated assets (CSS, JavaScript, images) without requiring that you modify your existing content or workflow. PageSpeed is available as a module for Apache 2.x and Nginx 1.x.

  • WebP-detect - WebP with Accept negotiation.

Specs

  • Web Performance Working Group - The mission of the Web Performance Working Group, part of the Rich Web Client Activity, is to provide methods to measure aspects of application performance of user agent features and APIs.

  • Page Visibility - This specification defines a means for site developers to programmatically determine the current visibility state of the page in order to develop power and CPU efficient web applications.

  • Navigation Timing - This specification defines a unified interface to store and retrieve high resolution performance metric data related to the navigation of a document.

  • Resource Timing - This specification defines an interface for web applications to access the complete timing information for resources in a document.

  • User Timing - This specification defines an interface to help web developers measure the performance of their applications by giving them access to high precision timestamps.

  • Performance Timeline - This specification defines an unified interface to store and retrieve performance metric data. This specification does not cover individual performance metric interfaces.

  • CSS will-change - This specification defines the will-change CSS property which allows an author to declare ahead-of-time what properties are likely to change in the future, so the UA can set up the appropriate optimizations some time before they’re needed. This way, when the actual change happens, the page updates in a snappy manner.

Stats

  • HTTP Archive - It's a permanent repository of web performance information such as size of pages, failed requests, and technologies utilized. This performance information allows us to see trends in how the Web is built and provides a common data set from which to conduct web performance research.

Web Performance Meetup Groups

Other Awesome Lists


转载于:https://my.oschina.net/sqzy/blog/478385

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值