注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)Scratch底層架構(gòu)源碼分析

Scratch底層架構(gòu)源碼分析

Scratch底層架構(gòu)源碼分析

定 價(jià):¥99.00

作 者: 孟燦 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111667704 出版時(shí)間: 2020-11-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 296 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書(shū)從谷歌Blockly技術(shù)開(kāi)始講起,逐步深入到Scratch技術(shù)生態(tài),對(duì)Scratch中的核心技術(shù)進(jìn)行了深入分析和源碼講解,讓讀者不但可以系統(tǒng)地學(xué)習(xí)Scratch中的核心概念,而且還能深入理解其代碼實(shí)現(xiàn),為二次開(kāi)發(fā)打下基礎(chǔ)。 本書(shū)共7章,對(duì)核心技術(shù)進(jìn)行了精講,并對(duì)相關(guān)技術(shù)進(jìn)行了介紹。本書(shū)涵蓋的內(nèi)容有Blockly簡(jiǎn)介、Scratch-blocks源碼分析、Scratch-vm源碼分析、Scratch-render源碼分析、Scratch-storage源碼分析、Scratch-gui源碼分析,以及Scratch-paint、Scratch-audio和Scratch-parser的簡(jiǎn)單介紹及其相互聯(lián)系和連接。 本書(shū)涉及軟件開(kāi)發(fā)的底層內(nèi)容,深入Scratch的架構(gòu)設(shè)計(jì)及源碼實(shí)現(xiàn),非常適合Scratch技術(shù)開(kāi)發(fā)人員閱讀,也適合作為相關(guān)研究機(jī)構(gòu)的參考資料使用。

作者簡(jiǎn)介

  孟燦畢業(yè)于北京師范大學(xué),獲工學(xué)碩士學(xué)位。對(duì)圖形圖像處理與模式識(shí)別有廣泛研究。曾經(jīng)就職于國(guó)內(nèi)外一線(xiàn)互聯(lián)網(wǎng)公司,有多年的互聯(lián)網(wǎng)行業(yè)開(kāi)發(fā)和管理經(jīng)驗(yàn),工作內(nèi)容涉及算法、前端和后端等技術(shù)領(lǐng)域。2019年入職核桃編程教育公司,從事Scratch少兒編程教學(xué)研究和二次開(kāi)發(fā)。

圖書(shū)目錄

第1章  開(kāi)始Scratch之旅  1
1.1  Scratch概述  1
1.1.1  Scratch發(fā)展歷史      1
1.1.2  Scratch技術(shù)生態(tài)      2
1.1.3  Scratch使用現(xiàn)狀      2
1.1.4  Scratch源碼分析的意義   2
1.2  Webpack打包工具簡(jiǎn)介       3
1.2.1  Webpack的核心概念       3
1.3  NPM包管理工具簡(jiǎn)介 4
1.3.1  NPM的組成      4
1.3.2  NPM的使用場(chǎng)景      4
1.4  小結(jié)      5
第2章  Scratch-blocks:積木塊源碼分析 6
2.1  Scratch-blocks概述      6
2.1.1  Blockly技術(shù)簡(jiǎn)介      6
2.1.2  Scratch-blocks與Blockly之間的關(guān)系    8
2.1.3  Scratch-blocks的作用      9
2.1.4  Scratch-blocks的分類(lèi)      9
2.2  Scratch-blocks代碼結(jié)構(gòu)與流程  9
2.2.1  Scratch-blocks代碼結(jié)構(gòu)   10
2.2.2  Scratch-blocks代碼流程   12
2.3  Scratch-blocks核心代碼分析      14
2.3.1  blockly_uncompressed_vertical.js:垂直方向的非壓縮打包文件 14
2.3.2  options.js:配置工作區(qū)    17
2.3.3  inject.js:將Scratch-blocks注入頁(yè)面     19
2.3.4  workspace模塊:工作區(qū)  28
2.3.5  toolbox.js:工具箱   34
2.3.6  Flyout模塊:工具箱中的托盤(pán)       38
2.3.7  xml.js:XML讀寫(xiě)器       46
2.3.8  event模塊:各模塊之間的通信      54
2.3.9  Field模塊:代碼塊上的域      63
2.3.10  blockly.js:Blockly的核心JS庫(kù)   75
2.3.11  connection模塊:代碼塊之間的連接   81
2.3.12  input.js:代碼塊上的輸入     94
2.3.13  mutator.js:代碼塊的變形器  97
2.3.14  extensions.js:代碼塊的擴(kuò)展 102
2.3.15  block.js:定義一個(gè)代碼塊     105
2.4  小結(jié)      120
第3章  Scratch-vm:虛擬機(jī)源碼分析     121
3.1  Scratch-vm概述   121
3.1.1  Scratch-vm的職責(zé)    121
3.2  Scratch-vm代碼結(jié)構(gòu)與流程       122
3.2.1  Scratch-vm代碼結(jié)構(gòu)       122
3.2.2  Scratch-vm代碼流程       123
3.3  Scratch-vm核心代碼分析   129
3.3.1  virtual-machine.js:外層的API定義  129
3.3.2  blocks模塊:代碼塊原語(yǔ)的實(shí)現(xiàn)    138
3.3.3  dispatch模塊:消息派發(fā)系統(tǒng)  151
3.3.4  engine模塊:虛擬機(jī)的引擎    155
3.3.5  serialization模塊:序列化與反序列化   188
3.3.6  sprite模塊:精靈的渲染  196
3.4  小結(jié)      199
第4章  Scratch-render:渲染引擎源碼分析    200
4.1  Scratch-render渲染技術(shù)概述      200
4.1.1  WebGL概述      200
4.1.2  canvas概述       201
4.1.3  twgl.js概述       201
4.1.4  Scratch-render概述   201
4.2  Scratch-render代碼結(jié)構(gòu)與流程  202
4.2.1  Scratch-render代碼結(jié)構(gòu)   202
4.2.2  Scratch-render代碼流程   203
4.3  Scratch-render核心代碼分析      211
4.3.1  twgl.js關(guān)鍵函數(shù)介紹       212
4.3.2  RenderWebGL.js:渲染引擎外層API的定義    219
4.4  小結(jié)      227
第5章  Scratch-storage:資源存儲(chǔ)源碼分析   228
5.1  Scratch-storage概述     228
5.1.1  什么是Scratch-storage     228
5.1.2  Scratch-storage的主要內(nèi)容     229
5.2  Scratch-storage代碼結(jié)構(gòu)與流程 229
5.2.1  Scratch-storage代碼結(jié)構(gòu)  229
5.2.2  Scratch-storage代碼流程  230
5.3  Scratch-storage核心代碼分析     239
5.3.1  ProxyTool模塊:網(wǎng)絡(luò)代理工具     239
5.3.2  FetchTool模塊:基于Fetch的網(wǎng)絡(luò)工具       240
5.3.3  NetsTool模塊:基于Nets的網(wǎng)絡(luò)工具   241
5.3.4  FetchWorkerTool模塊:基于任務(wù)的網(wǎng)絡(luò)工具      241
5.4  小結(jié)      245
第6章  Scratch-gui:圖形化界面源碼分析     246
6.1  Scratch-gui概述   246
6.1.1  Scratch-gui所處的位置    246
6.1.2  Scratch-gui的主要內(nèi)容    247
6.2  React技術(shù)棧概述 247
6.2.1  什么是React     247
6.2.2  React關(guān)鍵技術(shù)  248
6.2.3  什么是Redux    249
6.2.4  react-redux介紹 249
6.3  Scratch-gui代碼結(jié)構(gòu)與流程       250
6.3.1  Scratch-gui代碼結(jié)構(gòu)       250
6.3.2  Scratch-gui代碼流程       251
6.4  Scratch-gui核心代碼分析   261
6.5  小結(jié)      275
第7章  Scratch生態(tài)其他項(xiàng)目   276
7.1  Scratch-paint:繪圖編輯器 276
7.1.1  Scratch-paint目錄結(jié)構(gòu)     276
7.1.2  Scratch-paint使用方法     277
7.2  Scratch-audio:音頻引擎    279
7.2.1  Scratch-audio目錄結(jié)構(gòu)    280
7.2.2  Scratch-audio在Scratch-gui中的使用    280
7.3  Scratch-parser:解析驗(yàn)證工具   283
7.3.1  Scratch-parser目錄結(jié)構(gòu)   283
7.3.2  Scratch-parser在Scratch-vm中的使用   283
7.4  小結(jié)      284

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)