会员   密码 您忘记密码了吗?
1,580,249 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

当前位置: 首页 > 简体书 > 前端跨界開髮指南:Javascript工具庫原理解析與實戰
前端跨界開髮指南:Javascript工具庫原理解析與實戰
上一张
下一张
prev next

前端跨界開髮指南:Javascript工具庫原理解析與實戰

作者: 史文強
出版社: 機械工業出版社
出版日期: 2022-08-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT774.00
市场价格: RM139.15
本店售价: RM123.84
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

本書是位元組跳動前端工程師嘔心瀝血之作,也是目前市場上少有的從原理到實戰深度剖析JavaScript生態中經典工具庫的技術圖書。
 
全書共有6篇,分別是基礎篇、圖形學篇、多媒體篇、跨端開發篇、遊戲開發篇和跨界實踐篇,書中不僅詳細介紹了JavaScript語言在流覽器頁面之外的不同應用場景,從實用技巧、設計理念、原理源碼等角度對精心挑選的30多個工具庫進行了的解析,希望讀者在領略JavaScript代碼之美的同時,也能拓寬技術視野。為了幫助讀者好地理解書中所講述的內容,隨書代碼倉庫裡提供了大量可運行的源碼,包括精簡版的庫重寫和完整的代碼示例。


作者介紹


目錄

前言
基礎篇
第1章Mock.js:如何與後端瀟灑分手2
1.1為什麼你總是下不了班3
1.2聯調加速4
1.3使用Mock.js4
1.3.1Mock.js的語法規範5
1.3.2Mock.js實戰6
1.3.3自訂擴展8
1.4Mock.js的基本原理9
1.4.1從範本到資料9
1.4.2為Ajax請求提供Mock資料11
1.5從Mock服務到API管理平臺14
第2章Node.js:連接16
2.1大話Node.js16
2.1.1Node.js是什麼16
2.1.2Node.js能做什麼17
2.1.3招黑的JavaScript全棧工程師19
2.2業界用Node.js做什麼19
2.2.1前端工程化20
2.2.2中間層20
2.2.3SSR引擎21
2.2.4協作連接22
2.3小結22
第3章ESLint:你的代碼裡藏著你的優雅24
3.1代碼風格與破窗理論25
3.2用editorconfig配置IDE28
3.2.1基本語法及屬性29
3.2.2配置實例29
3.3使用ESLint規範程式設計風格30
3.3.1設定檔和規則集30
3.3.2ESLint外掛程式開發實戰32
3.3.3初學者的修行32
3.4新秀工具Prettier33
3.5靜態類型檢查工具的實現原理34
3.5.1編譯語言和解釋語言34
3.5.2編譯流程34
3.5.3編譯簡單的JavaScript程式35
第4章模組演義與Require.js39
4.1模組化的需求推演40
4.1.1script標籤40
4.1.2代碼隔離41
4.1.3依賴管理42
4.2模組規範大雜燴43
4.2.1概述43
4.2.2幾個重要的差異44
4.3模組化規範的相容與工具演進48
4.4Require.js的使用方法50
4.5Require.js的核心原理52
第5章Lodash.js是工具,是秘笈55
5.1Lodash.js是什麼55
5.1.1概述56
5.1.2代碼的較量56
5.2重點API的剖析59
5.3Lodash.js的源碼結構62
5.3.1基本結構62
5.3.2Lodash.js源碼的學習方法63
第6章靜態類型檢查:Flow.js和TypeScript64
6.1靜態類型檢查65
6.1.1靜態類型檢查的優勢65
6.1.2靜態類型檢查的劣勢66
6.2Flow.js,易上手的靜態類型檢查工具67
6.2.1Flow.js中的類型標注67
6.2.2Flow.js的優勢68
6.3TypeScript,另一種選擇69
第7章用函數描述世界:Ramda.js71
7.1本能的思考方式71
7.2開始編碼72
7.2.1傳程的實現72
7.2.2函數式程式設計的推演73
7.2.3函數式程式設計的意義76
7.2.4函數式程式設計的基本理論77
7.3基於Ramda.js體驗函數式程式設計79
7.3.1使用Ramda.js80
7.3.2函數化的流程控制81
7.4選擇82
第8章Rxjs:前端世界的“老人與海”83
8.1信息管道84
8.1.1不同的“單一職責”84
8.1.2分散式狀態的可能性86
8.1.3你的程式在做什麼87
8.2資料的生產88
8.2.1資料來源的抽象88
8.2.2設計模式的應用90
8.3Rxjs:一切皆是流的世界91
8.3.1Rxjs的核心概念92
8.3.2Rxjs應用實例94
8.3.3新版“老人與海”100
8.4以自己喜歡的方式去程式設計101
第9章不可變資料的製造藝術:Immer.js和Immutable.js102
9.1克隆103
9.1.1淺克隆103
9.1.2深克隆103
9.2元程式設計與Immer.js104
9.2.1元程式設計105
9.2.2Immer.js的核心原理106
9.3Immutable.js與共用結構112
9.3.1Immutable.js簡介113
9.3.2Immutable.js的核心原理113
9.3.3Immutable.js中的讀寫操作117
9.4小結119
第10章Day.js:算個日期能有多難121
10.1日期和時間121
10.2使用Day.js125
10.3化應用開發中的時間處理127

圖形學篇
第11章所見即所得的流程圖:jsplumb.js和viz.js130
11.1方案構思130
11.2開始使用jsplumb.js132
11.3圖佈局引擎viz.js135
11.4所見即所得137
第12章easel.js:一個標籤一個世界139
12.1能玩一生的標籤139
12.1.1基本語法介紹139
12.1.2動畫模式141
12.2用easel.js操作Canvas142
12.3工具庫的封裝技巧144
第13章Echarts.js:看見147
13.1數據視覺化生態148
13.2開始使用Echarts.js148
13.2.1Echarts的正確打開方式149
13.2.2重點API151
13.2.3配置項152
13.3數據視覺化三步曲153
13.3.1數據準備153
13.3.2圖表選型153
13.3.3細節打磨155
13.4下一步的選擇158
第14章SVG變形記159
14.1向量圖的世界159
14.1.1SVG圖形159
14.1.2SVG的功能160
14.2SVG變形165
14.2.1SVG動畫與CSS3動畫165
14.2.2經典SVG動畫166
14.3Snap.svg快速入門168
14.3.1Snap方法集168
14.3.2Snap.svg實戰169
14.4取捨171
第15章Three.js:構建立體的使用者介面172
15.1三維世界的腳手架Three.js173
15.1.1核心概念173
15.1.2分解網格模型175
15.1.3Three.js的基本使用方法177
15.2實戰:用Three.js製作漫威電影片頭動畫179
15.2.1一:平面漸離180
15.2.2二:字體浮雕模型181
15.2.3三:視頻紋理貼圖183
15.2.4四:鏡頭轉換185
15.3Three.js如何參與渲染186
15.3.1相機模式和降維打擊186
15.3.2著色器190
15.3.3WebGL的渲染流程192
15.4用Cinema4D玩轉跨界193

多媒體篇
第16章Impress.js:網頁裡的PPT200
16.1Impress.js的應用及原理200
16.1.1快速上手Impress.js200
16.1.2Impress.js的實現原理202
16.2詳解CSS變形和動畫203
16.2.1幀和關鍵幀204
16.2.2CSS補間動畫206
16.3軟技能:PPT設計208
16.3.1內容為王208
16.3.2設計入門課209
第17章Velocity.js與高性能動畫之謎211
17.1CSS動畫和JavaScript動畫211
17.1.1CSS動畫212
17.1.2JavaScript動畫214
17.2Velocity.js入門指南216
17.2.1stagger交錯動畫217
17.2.2在SPA框架中編寫動畫219
17.3高性能動畫的秘密223
17.3.1圖元渲染管線224
17.3.2回流、重繪與合成226
17.3.3使用合成層獲得高性能227
17.3.4隱式提升陷阱229
17.4小結231
第18章扭曲時間:tween.js和jQueryEasingPlugin232
18.1緩動函數233
18.2貝賽爾曲線234
18.2.1繪製原理234
18.2.2貝賽爾曲線的特性236
18.3使用Tween.js和jQueryEasingPlugin237
18.4選擇恰當的緩動函數239
第19章用Recorder.js實現語音信號處理241
19.1百度語音辨識實戰241
19.1.1工業系統測量的預備知識242
19.1.2改造Recorder.js243
19.2WebAudioAPI的工作模式246
19.2.1中介軟體式的音訊處理圖246
19.2.2Recorder.js核心原理:Script-ProcessorNode247
19.2.3淺談ArrayBuffer250
第20章jsmpeg.js流媒體播放機253
20.1視頻編解碼技術入門254
20.1.1基礎知識254
20.1.2初識傳輸流255
20.2現代流覽器中的播放技術258
20.2.1MediaSourceExtension259
20.2.2其他格式的媒體資源261
20.3切片技術與TS檔解析262
20.3.1檔切片技術262
20.3.2解析TS切片263
20.4jsmpeg.js源碼結構和低延遲播放實例266

跨端開發篇
第21章“懶”是生產力:製作命令列工具272
21.1Commander.js與Git風格的命令列工具273
21.2Inquirer.js與互動式命令列工具275
21.3從工具化到工程化277
第22章用Shelljs實現自動化部署279
22.1Linux入門小課279
22.2實用的跨平臺工具281
22.3實戰:使用Shelljs和node-ssh完成自動化部署283
22.4下一站:性能監控288
第23章跨端技術的秘密289
23.1Cordova的前世今生290
23.2ReactNative291
23.3小程式292
23.4原生App與網頁的通信294
23.5小結296
第24章protobuf與二進位消息298
24.1前端常見的消息格式298
24.2二進位消息格式:protobuf302
24.3使用protobuf.js307
24.4初探gRPC310
第25章控制反轉與Inversify.js314
25.1依賴為什麼需要注入315
25.2IOC容器的實現317
25.3AOP和裝飾器322
25.4用Inversify.js實現依賴注入325
25.5小結330

遊戲開發篇
第26章基於CreateJS解構遊戲開發332
26.1工具包CreateJS333
26.2實戰開發:《飛龍大戰》334
26.3性能提升技巧341
第27章經典物理與matter.js345
27.1經典力學回顧346
27.2模擬的實現原理347
27.2.1基本動力學模擬347
27.2.2碰撞模擬349
27.3物理引擎matter.js350
27.3.1《憤怒的小鳥》的物理特性分析350
27.3.2使用matter.js構建物理模型351
27.3.3物理引擎如何牽手遊戲引擎354
第28章Phaser:從工具到生態357
28.1快速上手Phaser遊戲開發357
28.2淺談框架的選擇364

跨界實踐篇
第29章brain.js:寫給前端的神經網路入門課366
29.1從關鍵字開始366
29.2認識神經網路369
29.2.1基本結構369
29.2.2神經元的數學模型372
29.2.3啟動函數與非線性決策邊界374
29.2.4神經網路中的資訊傳遞377
29.3使用brain.js構建神經網路379
29.4小結382
第30章TensorFlow.js:開箱即用的深度學習工具383
30.1上手TensorFlow.js383
30.2使用TensorFlow.js構建卷積神經網路387
30.2.1卷積神經網路387
30.2.2搭建LeNet-5模型390
30.3基於遷移學習的語音指令識別392
第31章用JavaScript玩轉物聯網394
31.1入門級物聯網“玩具”Arduino394
31.1.1ArduinoUNOR3板卡結構395
31.1.2類比量和數位量396
31.1.3Arduino原生程式設計入門397
31.1.4Arduino實驗示例一:按鈕控制三色LED燈398
31.1.5Arduino實驗示例二:使用DHT11模組採集溫濕度資訊402
31.2PC與MCU之間的串口通信403
31.3使用Johnny-Five進行嵌入式開發407
31.3.1初識Johnny-Five407
31.3.2Firmata.js源碼導讀408
31.3.3舵機風扇實驗410
31.4小結412