發表於2024-11-23
JavaScript性能優化:度量、監控與可視化 [Pro JavaScript Performance] pdf epub mobi txt 電子書 下載
首部係統化闡述JavaScript性能優化的經典著作,擁有20餘年經驗的Web性能調優專傢經驗結晶,
從語言特性、瀏覽器原理、網絡傳輸機製、數據結構等多角度深層探討影響JavaScript代碼性能的根本原因,並給齣解決問題完整流程和解決方案
《JavaScript性能優化:度量、監控與可視化》是首部係統化闡述JavaScript性能優化的經典著作,擁有20餘年經驗的Web性能調優專傢經驗結晶,全五星好評。從語言特性、瀏覽器原理、網絡傳輸機製、數據結構等多角度深層探討影響JavaScript代碼性能的根本原因,從性能問題的度量、監控和可視化全維度給齣瞭提升JavaScript代碼性能的實用工具、方法和實踐,並對各種常見的性能問題給齣瞭完整的解決方案。
《JavaScript性能優化:度量、監控與可視化》共分8章:第1章從Web應用運行機製和原理方麵解析性能;第2章介紹測量性能的工具(Firebug、YSlow、WebPagetest、R)和實用技術;第3章基於樣例工程WPTRuner來介紹如何進行自動化性能監測與可視化;第4章以創建的自製工具perfLogger來講解JavaSript基準測試和日誌記錄;第5章講解W3C製定的用於收集瀏覽器性能度量值的新標準化方法;第6章具體介紹如何使用JavaScript改進Web性能的各個方麵;第7章探討提升運行時性能的途徑,並運用R生成量化的性能圖錶;第8章探討如何在性能與代碼可讀性以及代碼模塊化之間謀求平衡。
Tom Barker,資深Web技術專傢,有20餘年行業經驗,專注於Web開發的各個方麵。現為Comcast公司的Web開發高級經理,費城大學的兼職教授。癡迷於優雅的軟件解決方案,軟件持續改進,數據的提煉、分析以及可視化。
繆綸,資深軟件開發工程師、安全員,負責或參與過多個國傢科技支撐項目。現從事計算機網絡以及Web開發相關工作,關注JavaScript網站性能多年,對Web性能提升有獨到見解。
目 錄
譯者序
緻 謝
第1章 什麼是性能
1.1 Web性能
1.2 解析與渲染
1.2.1 渲染引擎
1.2.2 JavaScript引擎
1.3 運行時性能
1.4 為什麼性能如此重要
1.5 工具與可視化
1.6 本書的目的
1.7 使用的技術以及拓展閱讀
1.8 小結
第2章 測量和影響性能的工具與技術
2.1 Firebug
2.1.1 安裝
2.1.2 使用
2.2 YSlow
2.2.1 安裝
2.2.2 使用
2.3 WebPagetest
2.4 縮減
2.4.1 Minify
2.4.2 YUI Compressor
2.4.3 Closure Compiler
2.4.4 結果比較
2.4.5 分析與可視化
2.5 R入門
2.5.1 安裝並運行R
2.5.2 R基礎
2.5.3 使用R進行簡單繪圖
2.5.4 R的一個實例
2.5.5 使用apply()函數
2.6 小結
第3章 WPTRunner--使用WebPagetest進行自動化性能監測與可視化
3.1 架構
3.2 創建一個共享配置文件
3.3 解析測試結果
3.4 完成實例
3.5 數據解析
3.6 繪製加載時間
3.7 繪製負載和HTTP請求數
3.8 開源
3.9 小結
附:WebPagetest的創辦人Patrick Meenan訪談
第4章 perfLogger--JavaScript基準測試和日誌記錄
4.1 架構
4.2 開始編寫代碼
4.2.1 計算測試結果
4.2.2 設置測試結果元數據
4.2.3 顯示測試結果
4.2.4 保存數據
4.2.5 製定公有API
4.3 遠程日誌記錄
4.4 一個示例頁
4.5 為測試結果繪製圖錶
4.6 開源
4.7 小結
第5章 展望未來,性能的標準化
5.1 W3C的Web性能工作組
5.2 性能對象
5.2.1 性能定時
5.2.2 用perfLogger整閤性能對象
5.3 升級日誌功能
5.4 性能導航
5.5 性能內存
5.6 高分辨率時間
5.7 新數據可視化
5.8 小結
第6章 Web性能優化
6.1 優化頁麵的渲染瓶頸
6.1.1 腳本加載
6.1.2 異步
6.1.3 對比結果
6.2 惰性加載
6.2.1 惰性加載的藝術
6.2.2 惰性加載腳本
6.2.3 惰性加載CSS
6.2.4 為什麼不惰性加載圖片
6.3 小結
第7章 運行時性能
7.1 跨作用域的緩存變量和屬性
7.1.1 新建文件
7.1.2 創建測試
7.1.3 結果可視化
7.1.4 屬性引用示例
7.2 核心JavaScript與Frameworks的比較
7.2.1 jQuery與JavaScript比較:循環
7.2.2 jQuery與JavaScript比較:DOM訪問
7.3 Eval函數的真正價值
7.4 DOM訪問
7.4.1 使用隊列完成DOM元素修改
7.4.2 使用隊列添加新節點
7.5 嵌套循環的代價
7.6 小結
第8章 在性能、軟件工程最佳實踐和軟件産品運行之間謀求平衡
8.1 在性能與可讀性、模塊化和良好設計之間謀求平衡
8.2 焦土化性能
8.2.1 內聯函數
8.2.2 Closure Compiler
8.3 下一步:從實踐到實際應用
8.3.1 Web性能監測
8.3.2 用工具檢測你的網站
8.3.3 在測試實驗環境中進行基準測試
8.3.4 分享你的發現
8.4 小結
第1章 什麼是性能
所謂性能是指應用程序運行的速度,它反映瞭應用程序質量多個層麵的問題。我們在談論Web應用程序時,該應用程序呈現給用戶所消耗的時間就是我們所說的Web性能,應用程序對用戶指令的響應速度就是我們所說的運行時性能。接下來我們就看看性能的這兩個方麵。
在Web(特彆是移動Web)開發背景下,性能是一個相對較新的主題,但是它絕對早就應該得到關注瞭。
本書將探討如何量化和優化JavaScript性能,包括Web性能和運行時性能。這是至關重要的,因為當你試圖解決網站的整體性能時,JavaScript可能是提升性能最大的地方。作為YSlow和PageSpeed的締造者,以及Web性能領域的先驅者,Steve Souders已經通過實驗證明瞭這一點。在實驗中,他演示瞭當刪除一個樣本網站的JavaScript代碼之後,該網站平均性能提高瞭31%。我們也完全可以像Steve實驗中做的那樣,從我們的網站中刪除所有的JavaScript代碼,或者精簡JavaScript代碼,並學習如何評估我們編寫的代碼的執行效率。
徹底刪除JavaScript代碼是不現實的,所以我們要知道如何使JavaScript更加高效。甚至更為重要的是,我們要知道如何創建自動化的工具以跟蹤JavaScript的效率,並給齣可視化的分析和報告。
1。1 Web性能
當你坐在筆記本前,或使用手持設備,打開Web瀏覽器,輸入一個URL地址並按下迴車鍵,然後等待頁麵內容傳送過來、呈現在你的瀏覽器上時,此時所需要的時間取決於Web性能。甚於我們的目標,我們將Web性能定義為全麵反映頁麵傳送並對最終用戶可用的時間。
影響Web性能的因素有很多,網絡延遲是排在第一位的。你的網絡有多快?要得到所需的服務內容,需要往返跳轉多少次?服務器要給齣多少次響應?
為瞭更好地理解網絡延遲,先來看看完成一個HTTP事務所需要的步驟(見圖1-1)。
……
譯者序
JavaScript是比較完善的一種前端開發語言,在現今的Web開發(尤其是在Web 2.0)中應用非常廣泛。在Web 2.0越來越流行的今天,我們會發現,許多Web應用項目都會涉及大量的JavaScript代碼,並且以後會越來越多。Web開發過程中經常會遇到一些性能問題,尤其是在針對Web 2.0的應用中,應用的性能問題很大一部分都是由於程序員編寫的JavaScript腳本性能不佳所造成的,其中也包括瞭JavaScript語言本身的性能問題,以及與DOM交互時的性能問題。
JavaScript作為一種解釋執行語言,加之它的單綫程機製,決定瞭性能問題是JavaScript的軟肋,這也是Web軟件工程師在編寫JavaScript代碼過程中需要高度重視的一個問題,尤其是針對Web 2.0的應用。絕大多數Web軟件工程師都或多或少地遇到過所開發的Web 2.0應用的性能欠佳問題,其主要原因就是JavaScript性能不足,瀏覽器負荷過重。但是,解決這種解釋執行並且單綫程運作語言的性能問題並非易事。
本書從一個體係化的角度對JavaScript性能進行考量,從Web性能探測工具,到數據的收集整理,再到數據的展示與可視化,最後是性能問題的解決,深入淺齣、條理清晰。本書嘗試從多個方麵綜閤分析導緻JavaScript性能問題的原因,並給齣適閤的解決方案,幫助讀者提升Web應用的品質。
本書頁數瞭瞭,內容精煉,但是它承載瞭JavaScript性能方麵最為寶貴的經驗。不僅從語言特性、瀏覽器原理、網絡傳輸機製、數據結構等層麵分析導緻JavaScript性能問題的原因,而且介紹多種工具來幫助讀者提升開發過程中的工作效率。
翻譯本書的過程,也是我們學習和提高的過程。雖然我們一直關注國內外Web性能領域的相關動態,但是從未像本書的作者那樣,形成一套完整的實踐方法體係。每當看到書中作者提供的代碼樣例,我們都試圖在真實環境中實踐,以深刻體會作者的意圖和思想。但是由於時間和軟硬件環境等方麵的原因,無法實踐書中所有的代碼樣例。這裏也希望讀者能夠親自動手實踐,這樣纔能夠更快地掌握JavaScript性能改善的方法和能力。
本書的翻譯組織工作由繆綸全麵負責。第1~3章由繆綸和王誌璋譯校,作者簡介、第4章、第6章由繆綸和王冠華譯校,第5章、第7章、第8章由葉茂譯校。
我們在翻譯本書的過程中力求行文流暢,但紕漏之處在所難免,請廣大讀者能夠批評指正。
最後,希望本書能夠幫助業界的同仁們打造齣性能優越的Web軟件産品。
繆 綸
還沒有看,先給好評。
評分還沒看以後追加再評論
評分比較基礎的東西吧,還行
評分書還是不錯的,快遞送貨速度很快
評分挺好的這本書適閤進階.
評分書挺好,速度挺快
評分書比較薄,就是講的怎麼測量並展現JavaScript運行時間等等,比較簡單
評分竟然沒發票,老子還要報銷呢。
評分不錯的相關專題書籍 給贊
JavaScript性能優化:度量、監控與可視化 [Pro JavaScript Performance] pdf epub mobi txt 電子書 下載