-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

前端函數式演進

( 簡體 字)
作者:邵丁丁 著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社前端函數式演進 3dWoo書號: 53878
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:12/1/2020
頁數:186
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111671008
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

為何寫作本書

本書的關鍵詞是前端開發和函數式,重點闡述函數式在Web前端的重要作用和演進。

Web前端系統的核心邏輯已經從簡單的靜態展示和交互,演進為面向用戶的多入口交互響應,以及隨之產生的事件流。近代軟件系統主流的命令式編程和信息數據管理模式,有時已不能滿足當前場景的前端開發需求,而函數式非常契合這些需求,因而受到前端開發者的歡迎。

近年來,隨著前端工程化發展逐漸成熟,前端開發領域的大部分工具和框架都引入了函數式的特性,并借鑒了其中的一些思想。這些框架和工具涵蓋了早期工具庫,如jQuery、Lodash,以及近幾年互聯網公司普遍使用的React、狀態管理等,使得函數式成為Web開發領域重要的技術。

本書旨在和大家分享、探討前端函數式的知識,尤其是結構化的前端函數式知識、前端受到函數式影響的內容以及背后一些相關領域的知識,希望能幫助大家系統地掌握前端函數式開發方法。

本書主要內容

本書從邏輯上分為三部分。

第一部分(第1∼3章)是全書的理論基礎。

第1章介紹編程語言中的編程范式以及各種范式在前端的體現。第2章介紹函數式的常見概念。這兩章的內容對于基礎較好的讀者來說可能是老生常談,但是我加入了一些前端示例和個人理解,也算是老壇裝新酒。

第3章介紹函數式思維的相關內容,幫助讀者在使用函數式框架工具時從傳統命令式編程的思考方式,向更契合函數式前端開發的思考方式轉變,比如對循環的實現、數據結構的差別、對異常態和類型的處理等。

第二部分(第4∼7章)以實際的工具內容為主,分別介紹前端函數式的幾種重要形態。

第4章介紹Monadic編程,這是函數式的一種經典工程實現,也在前端衍生了一些工具。在這一章我們將學習工程理論的幾個基礎單元,如函子、?半群,并進行一些實用性的分析和推導。

第5章從jQuery出發,介紹函數式工具形態演進。很多研發工程師對前端的理解都停留在jQuery的經典時代,本章從函數式“形”的角度出發,介紹前端函數式工具。

第6章和第7章將介紹前端函數式的兩個熱門框架工具——RxJS和React Hooks,展示它們的基本原理以及演進過程。

第三部分(第8章和第9章)是本書的總結部分。

第8章回歸初心,探討前端開發的核心復雜度,以及函數式在前端開發中的貢獻。希望讀者能像借鑒函數式思想一樣,多借“他山之石”,在前端和其他研發領域成為更出色的工程師。

第9章梳理本書項目的整體情況,并展現一些核心代碼,幫助讀者通過代碼完成知識的落地和沉淀。

本書讀者對象

本書內容圍繞前端開發領域,列舉的實例多基于前端框架和工具等方面,所以更適合中高級前端開發者和對前端生態有所了解的程序員閱讀。

本書內容特色

本書除了介紹前端和函數式的基本概念及工具,還配有較多示例,可以幫助讀者理解這些理論內容和工具并應用到實踐中。除此之外,我將個人對這些理論演進的理解融入本書,希望能對讀者建立知識體系有一定的幫助。

勘誤和致謝

由于水平有限,書中難免有理解錯誤和說法欠妥的地方,懇請讀者指正。歡迎發送郵件我交流。

在此感謝阿里巴巴本地生活的前輩許紅濤和企業訂餐研發團隊小伙伴們的大力支持,感謝張曉雪幫助促成本書的順利出版。
內容簡介:

這是一部寫給前端工程師的函數式編程實戰指南,由阿里本地生活企業訂餐前端負責人撰寫。

作者結合自己在前端領域的大量工程實踐經驗,首先從前端開發者的角度介紹了函數式編程在前端領域的演進,以及前端必備的函數式編程知識;然后對React和RxJS等流行前端工具的函數式編程功能和思想進行了深入剖析,既可以幫助讀者更好地理解和使用這些工具,又能給予讀者技術選型方面的建議。此外,書中提供了平臺級別的前端開發示例的多種實現,方便讀者結合書中的理論進行印證和思考。

本書共9章,可從邏輯上分為3個部分。

第一部分(第1∼3章) 理論基礎

首先盤點了命令式編程、聲明式編程等各種常見的編程范式以及它們在前端領域的表現,然后介紹了前端函數式的基礎概念和函數式思維,以及前端的各種常見特征。

第二部分(第4∼7章) 原理分析

首先介紹了經典的函數式模型Monadic,然后基于jQuery等工具梳理了在函數式編程的影響下前端工具形態的演進,最后基于熱門框架RxJS和React Hooks分析了函數式思想對它們以及整個前端領域的影響。

第三部分(第8、9章) 總結

首先總結了前端開發的核心復雜度和函數式思想的作用,并探討了前端工程化相關的內容;然后梳理了全書的示例,幫助讀者通過代碼完成知識的落地。
目錄:

第1章 編程范式和前端體現 1
1.1 編程范式 2
1.2 命令式編程 2
1.3 面向對象 3
1.4 元編程 4
1.5 聲明式編程 5
1.6 邏輯式編程 6
1.7 函數式編程 8
1.8 案例和代碼 9
1.8.1 案例總覽 9
1.8.2 命令式編程示例 11
1.8.3 聲明式編程示例 11
1.8.4 面向對象、元編程和函數式編程示例 13
1.9 本章小結 15
第2章 前端函數式基礎概念 16
2.1 JavaScript多范式中的函數式 16
2.1.1 閉包 17
2.1.2 高階函數 18
2.1.3 Lambda表達式 19
2.1.4 Array數組集合和函數組合子 20
2.2 持續補全 21
2.2.1 基于JavaScript高階函數的編碼優化 21
2.2.2 基于工具和標準的再加工 24
2.3 函數式的抽象單元 26
2.3.1 副作用 27
2.3.2 引用透明和純函數 27
2.4 案例和代碼 28
2.4.1 閉包和單例 28
2.4.2 數組方法和鏈式調用 31
2.4.3 惰性加載 32
2.5 本章小結 33
第3章 函數式思維和前端特征 35
3.1 狀態和副作用 36
3.2 過程和高階抽象 38
3.2.1 便捷地對過程反復包裝 39
3.2.2 另一種編程世界觀:流過系統的信息流 40
3.3 運行環境承擔更多的職責 41
3.3.1 循環、映射和遞歸 42
3.3.2 函數式過程抽象忽略的細節操作 43
3.4 類型和數據結構 44
3.4.1 面向能力的數據結構 44
3.4.2 對場景下類型的作用進行替換 46
3.5 設計模式和語言特征 48
3.6 異常態 49
3.7 前端的其他特征 50
3.7.1 弱類型和動態類型 51
3.7.2 Array的組合運算 51
3.8 案例和代碼 52
3.8.1 狀態和副作用示例 52
3.8.2 過程和高階抽象示例 55
3.8.3 循環和遞歸示例 56
3.8.4 類型檢測和動態類型 60
3.8.5 異常態和容錯處理 61
3.9 本章小結 63
第4章 Monadic編程和它的范疇理論 64
4.1 Monadic編程簡介 64
4.2 函子和它的基礎實例 65
4.3 應用函子 66
4.4 Maybe實現類 68
4.5 Either函子 71
4.6 ?半群 73
4.7 單子:自函子范疇上的?半群 75
4.8 函數響應式編程 77
4.9 案例和代碼 78
4.9.1 函子示例 78
4.9.2 響應式編程的簡單示例 80
4.10 本章小結 81
第5章 函數式工具形態演進 82
5.1 jQuery和鏈式調用 82
5.2 管道和組合 84
5.3 Promise編碼 87
5.4 Async/Await函數 89
5.5 MobX、RxJS和響應式編程 90
5.6 函數式的并發保障 92
5.7 案例和代碼 94
5.7.1 鏈式調用和開發中調試 94
5.7.2 Pipeline和切面編程 95
5.7.3 Async/Await異步和異常 96
5.8 本章小結 97
第6章 從RxJS看事件流和函數響應式編程 99
6.1 RxJS的產生和事件流編程演進 99
6.1.1 RxJS的產生 100
6.1.2 事件流響應演變 100
6.2 核心類 103
6.3 “紅包雨掉落”代碼改造 106
6.4 事件流相關主要方法舉例 110
6.5 案例和代碼 114
6.6 本章小結 118
第7章 React Hooks和它的函數式考量 120
7.1 無狀態組件和狀態管理 120
7.1.1 現代前端框架和無狀態組件 121
7.1.2 狀態管理 125
7.2 React Hooks的原理和目的 128
7.3 React Hooks的實踐和方向 130
7.4 案例和代碼 133
7.5 本章小結 137
第8章 函數式和前端復雜度總結 138
8.1 前端開發的復雜度 138
8.1.1 前端開發者可以介入的時機 139
8.1.2 純粹的運算復雜度 142
8.1.3 前端和相鄰領域復雜度的區別 142
8.2 函數式在前端的積極作用 144
8.2.1 厘清運行時的狀態變化 145
8.2.2 加強編程的工程指標 145
8.2.3 簡化編碼 146
8.3 編碼之上的工作 146
8.3.1 軟件完整度和現實的工作狀態 146
8.3.2 前端迭代的呼應 147
8.3.3 編碼外的更多規劃 148
8.4 他山之石 148
8.4.1 前端即是客戶端 148
8.4.2 更充分地利用前端能力 149
8.4.3 工程研發 149
8.5 案例和代碼 151
8.5.1 前端開發復雜度 151
8.5.2 運行時監控和整體工程特性 155
8.6 本章小結 158
第9章 簡易關卡引擎項目補充 159
9.1 需求清單 159
9.2 項目和文件結構 161
9.3 開發者和用戶交互 162
9.4 整體服務和引擎生命周期 162
9.5 代碼清單 163
9.5.1 主頁需求實現 163
9.5.2 關卡頁需求實現 167
9.5.3 統計分數等數據服務邏輯 176
9.5.4 體力模式等前端業務邏輯 178
9.5.5 自定義關卡詳情頁 181
9.5.6 廣告頁和活動頁 183
9.6 更多擴展 186
9.7 本章小結 186
序: