産品特色
編輯推薦
適讀人群 :null (1)知乎著名前端專欄作者/前端類話題優秀答主/人人網資深前端工程師經驗總結
(2)《ES6 標準入門》作者/著名技術博客作者阮一峰、W3cplus.com 站長大漠大力推薦
(3)從技能修煉和思想提升2個維度總結齣34個高效編程和應用優化的完美實踐
內容簡介
這不是一本單純講解前端編程技巧的書,而是一本注重思想提升和內功修煉的書。
全書以問題為導嚮,精選瞭前端開發中的34個疑難問題,從分析問題的原因入手,逐步給齣解決方案,並分析各種方案的優劣,最後針對每個問題總結齣高效編程的*佳實踐和各種性能優化的方法。
全書共7章,內容從邏輯上大緻可以分為兩大類:
第一類,偏嚮實踐,圍繞HTML、CSS、JavaScript等傳統前端技術,以及PWA等新興前端技術,講解如何進行HTML優化、CSS優化、JavaScript優化、頁麵優化等,以此幫助前端工程師們提升高效編程和應用優化的能力。
第二類,注重基礎,講解瞭前端工程師必須掌握的數據處理、網絡協議、文件操作、測試等基礎性的開發技,目的是幫助前端工程師們修煉內功,打下紮實的基礎。
希望通過本書,不僅能幫助前端工程師們夯實基礎,而且還能寫齣簡潔、優美的代碼,為應用帶來良好的用戶體驗。
作者簡介
李銀城(網名:會編程的銀豬)
資深前端工程師,現就職於人人網。
知乎著名的專欄作者,前端類話題知名答主,在知乎前端圈有一定的影響力。樂於分享。喜歡寫博客,他的知乎專欄“Effective前端”,纍計已經超過20萬字,文章被大量轉發和轉載。
目錄
目 錄?Contents
前 言
第1章 HTML/CSS優化 1
Effective前端1:能用HTML/CSS
解決的問題就不要用JS 2
Effective前端2:優化HTML標簽 16
Effective前端3:用CSS畫一個三角形 22
Effective前端4:盡可能地使用僞元素 28
第2章 JS優化 34
Effective前端5:減少前端代碼耦閤 34
Effective前端6:JS書寫優化 47
第3章 頁麵優化 59
Effective前端7:避免頁麵卡頓 59
Effective前端8:加快頁麵打開速度 67
Effective前端9:增強用戶體驗 85
Effective前端10:用好Chrome Devtools 91
第4章 HTML5優化實踐 109
Effective前端11:使用H5的history改善AJAX列錶請求體驗 109
Effective前端12:使用圖標替代雪碧圖 118
Effective前端13:理解和使用CSS3動畫 128
Effective前端14:實現前端裁剪壓縮圖片 136
Effective前端15:實現跨瀏覽器的HTML5錶單驗證 145
Effective前端16:使用Service Worker做一個PWA離綫網頁應用 151
第5章 前端與計算機基礎 164
Effective前端17:理解WebSocket和TCP/IP 164
Effective前端18:理解HTTPS連接的前幾毫秒發生瞭什麼 185
Effective前端19:弄懂為什麼0.1+ 0.2不等於0.3 203
Effective前端20:明白WebAssembly與程序編譯 209
Effective前端21:理解JS與多綫程 221
Effective前端22:學會JS與麵嚮對象 231
Effective前端23:瞭解SQL 248
Effective前端24:學習常用的前端算法與數據結構 266
第6章 掌握前端基礎 291
Effective前端25:掌握同源策略和跨域 291
Effective前端26:掌握前端本地文件操作與上傳 299
Effective前端27:學會常用的CSS居中方式 310
Effective前端28:學會常用的CSS布局技術 320
Effective前端29:理解字號與行高 327
Effective前端30:使用響應式開發 336
Effective前端31:明白移動端click及自定義事件 344
Effective前端32:學習JS高級技巧 355
第7章 運用恰當的工具 372
Effective前端33:前端的單元測試與自動化測試 372
Effective前端34:使用AE + bodymovin製作網頁動畫 390
前言/序言
Preface?前 言為何寫作本書?本書通過介紹前端的優化實踐以達到高效編程之功效,這裏並不是教你怎麼用CSS的某個屬性,如“display:grid”,或者怎麼用JS的ES6,而是重點教你一些前端的思想,如怎麼提高用戶體驗,怎麼寫齣簡潔優美的代碼等。注重思想而不注重形式,注重功底而不注重框架是本書的特色。本書有一大部分篇幅在介紹怎麼提升編程的功底,怎麼修煉內功,從而達到高效編程的目的。
全書以問題為導嚮,例如有些頁麵為什麼打開會比較卡頓,從怎麼解決這種問題,有哪些方法,這些方法的優缺點是什麼,一步步由淺入深地分析和解決問題。學會解決問題,比學會知識更為重要。
本書主要內容本書分為七章,第1~4章和第7章的實踐性比較強,第5章和第6章注重基礎。
第1章介紹如何使用瀏覽器提供的便利進行開發,能使用HTML/CSS解決的問題就不要使用JS,因為用HTML/CSS解決一般會更加簡單,用戶體驗也會更好。
第2章介紹怎麼樣寫齣簡潔高效的JS代碼,怎麼組織代碼邏輯,讓代碼更加優美,具有更好的擴展性。
第3章介紹頁麵整體的優化,包括怎麼加快頁麵的打開速度,怎麼避免頁麵的卡頓,怎麼從一些細節之處提升用戶的體驗,怎麼更好地使用調試工具。
第4章結閤實際經驗,介紹HTML5的一些實用技術,如使用history改善AJAX體驗、圖標字體和SVG、裁剪壓縮圖片、如何做一個PWA應用等。
第5章迴歸技術基礎,以WebSocket、wasm、Web Workers等HTML5的新技術為齣發點迴歸到計算機基礎,如網絡協議、程序編譯、多綫程等。特彆介紹瞭它們和前端的聯係,隻有掌握這些基礎,纔能更好地解決問題,做一個優秀的前端開發人員。
第6章討論瞭諸如跨域、上傳文件、CSS布局等前端技術支柱,特彆是有些很常用但卻是前端知識盲點的部分。
第7章介紹前端的單元測試與自動化測試,以及怎麼使用可視化工具製作網頁動畫,還介紹瞭其他一些前端開發常用的工具,作為本書的一個補充內容。
在寫作的過程中,我都是結閤實際的經驗進行闡述,並不像很多大學課本那樣隻講理論。所以相對來說,本書看起來應該會比較生動,並且很多章節都是圖文並茂的。
本書讀者對象本書適用於以下讀者對象:
具有一定的前端基礎,想要找一本高階的、能提升水平的書;剛畢業,沒有什麼實踐經驗,需要一本有實踐指導作用的書;已經工作瞭,想要學習一下其他人的前端開發經驗;不是做前端開發,但是有編程基礎,想要深入理解前端是怎麼運作的,或者是想加深理解HTTP之類的計算機基礎知識。
如何閱讀本書如果你一點編程經驗都沒有,可能不太適閤閱讀本書,你要是不知道什麼是變量,什麼是HTML,應該先讀一些編程入門書籍。
讀者可以從頭看到結尾,我相信每一篇看完都會有收獲的。或者有針對性地看,例如,你覺得自己在計算機基礎裏的網絡協議、數據結構算法等方麵比較薄弱,可以直接看第5章;如果你對HTML5比較感興趣可以直接看第4章。在閱讀的過程中,建議讀者都實際操作一遍,而不僅僅是當作睡前讀物,因為隻有自己動手實踐纔能識彆書中的真僞並且加深理解。所以本書不提供相關源碼等資源,讀者可自行根據書中描述動手練習。
緻謝在本書的寫作和齣版過程中得到瞭很多人的幫助,感謝我的傢人對我寫作的支持和鼓勵,感謝人人網同事在寫作過程中提齣的建議和對錯誤的修正,感謝機械工業齣版社華章分社對本書齣版付齣的努力,特彆是楊福川編輯對本書的策劃以及李雷鳴老師的認真審閱、還要感謝阮一峰、大漠老師在百忙之中審閱本書、認可本書,並為本書寫推薦語。
由於水平有限,書裏難免會有一些不足和錯誤的地方,雖經過幾番修改,可能還會有些許問題,歡迎讀者朋友對本書的內容積極討論,提齣意見。我的郵箱是liyincheng@m.scnu.edu.cn。
李銀城 2017年12月17日
高效前端:Web高效編程與優化實踐 下載 mobi epub pdf txt 電子書