首頁 搜尋 我的知識庫
跨框架提昇開發高度:前端高級架構師應具備的思想及技能

跨框架提昇開發高度:前端高級架構師應具備的思想及技能

作者: 侯策
出版社: 深智數位
出版日期: 2024/01/20
ISBN-13: 9786267383285
書店 1






內容描述


*從「匠」到「師」的必經之路,前端產業技術快速昇華到架構師
  *前端專案化管理工具,Webpack、Vite、npm、yarn。
  *前端開發架構生態,AST、Babel生態
  *核心框架原理及設計模式、深入了解各種node.js圍繞的框架:Vue、React
  *實戰設計前端架構,如行動端離線套件、編譯和建構、部署和發佈
  *前端全鏈路,完整Node.js生態開發實戰

  本書包括五個部分,涵蓋30個主題。

  第一部分首先就是以npm和Yarn套件管理工具切入專案化主題,透過Webpack和Vite建構工具加深讀者對專案化的理解。深入介紹幾個極具代表性的工具的技術原理和演變過程。

  第二部分為現代前端開發架構生態,幫助讀者培養前端專案化基礎建設思想,這也是設計一個公共函式庫、主導一項技術方案的基礎知識。

  第三部分為核心框架原理及設計模式,探索經典程式的奧秘,體會設計模式和資料結構的藝術,帶領讀者結合業務實踐,思考優秀的設計思想如何在工作中實作。

  第四部分是前端架構設計實戰在這一部分中,我會一步一步帶領大家從0到1實現一個完整的應用專案或公共函式庫。這些專案實踐並不是社區上氾濫的Todo MVC,而是代表先進設計理念的現代化專案架構專案(比如設計實現前端+行動端離線套件方案)。

  第五部分前端全鏈路Node.js全端開發,帶大家設計並完成一個真正意義上的企業級閘道,其中涉及網路知識、Node.js 理論知識、許可權和代理知識等。帶大家研究並實現一個完善可靠的Node.js服務系統,涉及非同步訊息佇列、資料儲存,以及微服務等傳統後端知識。


目錄大綱


第一部分 前端專案化管理工具
第1 章 安裝機制及企業級部署私服原理
npm 內部機制與核心原理
npm 不完全指南
npm 多來源鏡像和企業級部署私服原理
總結

第2 章 Yarn 安裝理念及相依管理困境破解
Yarn 的安裝機制和背後思想
破解相依管理困境
總結

第3 章 CI 環境下的npm 最佳化及專案化問題解析
CI 環境下的npm 最佳化
更多專案化相關問題解析
最佳實作建議
總結

第4 章 主流建構工具的設計考量
從Tooling.Report 中,我們能學到什麼
總結

第5 章 Vite 實現:原始程式分析與專案建構
Vite 的「從天而降」
Vite 實現原理解讀
總結

第二部分 現代化前端開發和架構生態
第6 章 談談core-js 及polyfill 理念
core-js 專案一覽
如何重複使用一個polyfill
尋找最佳的polyfill 方案
總結

第7 章 整理混亂的Babel,拒絕編譯顯示出錯
Babel 是什麼
Babel Monorepo 架構套件解析
Babel 專案生態架構設計和分層理念
總結

第8 章 前端工具鏈:統一標準化的babel-preset
從公共函式庫處理的問題,談如何做好「掃雷人」
應用專案建構和公共函式庫建構的差異
一個企業級公共函式庫的設計原則
制定一個統一標準化的babel-preset
總結

第9 章 從0 到1 建構一個符合標準的公共函式庫
實戰打造一個公共函式庫
打造公共函式庫,支援script 標籤引入程式
打造公共函式庫,支援Node.js 環境
從開放原始碼函式庫總結生態設計
總結

第10 章 程式拆分與隨選載入
程式拆分與隨選載入的應用場景
程式拆分與隨選載入技術的實現
Webpack 賦能程式拆分和隨選載入
總結

第11 章 Tree Shaking:移除JavaScript 上下文中的未引用程式
Tree Shaking 必會理論
前端專案化生態和Tree Shaking 實踐
總結

第12 章 理解AST 實現和編譯原理
AST 基礎知識
AST 實戰:實現一個簡易Tree Shaking 指令稿
總結

第13 章 專案化思維:主題切換架構
設計一個主題切換專案架構
主題色切換架構實現
總結

第14 章 解析Webpack 原始程式,實現工具建構
Webpack 的初心和奧秘
手動實現打包器
總結

第15 章 跨端解析小程式多端方案
小程式多端方案概覽
小程式多端——編譯時方案
小程式多端——執行時期方案
小程式多端——類React 風格的編譯時和執行時期結合方案
小程式多端方案的最佳化
總結

第16 章 從行動端跨平臺到Flutter 的技術變革
行動端跨平臺技術原理和變遷
Flutter 新貴背後的技術變革
總結

第三部分 核心框架原理與程式設計模式
第17 章 axios:封裝一個結構清晰的Fetch 函式庫
設計請求函式庫需要考慮哪些問題
axios 設計之美
總結

第18 章 對比Koa 和Redux:解析前端中介軟體
以Koa 為代表的Node.js 中介軟體設計
對比Express,再談Koa 中介軟體
Redux 中介軟體設計和實現
利用中介軟體思想,實現一個中介軟體化的Fetch 函式庫
總結

第19 章 軟體開發的靈活性和訂製性
設計模式
函式思想
總結

第20 章 理解前端中的物件導向思想
實現new 沒有那麼容易
如何優雅地實現繼承
jQuery 中的物件導向思想
類別繼承和原型繼承的區別
總結

第21 章 利用JavaScript 實現經典資料結構
資料結構簡介
堆疊和佇列
鏈結串列(單向鏈結串列和雙向鏈結串列)


總結

第22 章 剖析前端資料結構的應用場景
堆疊和佇列的應用
鏈結串列的應用
樹的應用
總結

第四部分 前端架構設計實戰
第23 章 npm scripts:打造一體化建構和部署流程
npm scripts 是什麼
npm scripts 原理
npm scripts 使用技巧
打造一個lucas-scripts
總結

第24 章 自動化程式檢查:剖析Lint 工具
自動化Lint 工具
lucas-scripts 中的Lint 設定最佳實踐
工具背後的技術原理和設計
總結

第25 章 前端+ 行動端離線套件方案設計
從流程圖型分析Hybrid 性能痛點
相應最佳化策略
離線套件方案的設計流程
離線套件方案持續最佳化
總結

第26 章 設計一個「萬能」的專案鷹架
命令列工具的原理和實現
從命令列工具到萬能鷹架
總結

第五部分 前端全鏈路——Node.js 全端開發
第27 章 同構著色架構:實現SSR 應用
實現一個簡易的SSR 應用
SSR 應用中容易忽略的細節
總結

第28 章 性能守衛系統設計:完善CI/CD 流程
性能守衛理論基礎
Lighthouse 原理介紹
性能守衛系統Perf-patronus
總結

第29 章 打造閘道:改造企業級BFF 方案
BFF 閘道定義及優缺點整理
打造BFF 閘道需要考慮的問題
實現一個lucas-gateway
總結

第30 章 實現高可用:Puppeteer 實戰
Puppeteer 簡介和原理
Puppeteer 在SSR 中的應用
Puppeteer 在UI 測試中的應用
Puppeteer 結合Lighthouse 的應用場景
透過Puppeteer 實現海報Node.js 服務
總結


作者介紹


作者簡介

侯策

  就職於某內容社區類互聯網上市公司,具有多年海內外工作經驗,曾先後就職於法國ENGIE集團、Google、百度等知名企業。

  擅長前端工程化體系搭建及基礎建設架構設計。深入了解前端各類技術框架和相關技術棧,具有豐富的高流量產品穩定性建設及性能和使用者體驗優化經驗,在業務提效和品質保障方面亦有深厚積累,在跨端開發(包括小程式矩陣開發)、富文本編輯器、Node.js、React等技術方向有較強的業內影響力。在技術氛圍打造、團隊成員培養、技術體系建設、新技術落地、難點攻堅、歷史包袱重構等方面均有豐富的實踐經歷。

  可通過知乎社區聯繫作者:Lucas HC






相關書籍

系統程式設計 (下册)

TinyML經典範例集

iOS 11 App程式設計實戰心法:30個開發專業級iOS App的必學主題與實務講座

翻倍效率工作術:不會就太可惜的 Excel × ChatGPT 自動化應用(附範例/Bing Chat與ChatGPT使用差異影音/指令速查表)