幫助中心 | 我的帳號 | 關於我們

Scratch底層架構源碼分析

  • 作者:編者:孟燦|責編:遲振春
  • 出版社:機械工業
  • ISBN:9787111667704
  • 出版日期:2020/11/01
  • 裝幀:平裝
  • 頁數:284
人民幣:RMB 99 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書從谷歌Blockly技術開始講起,逐步深入到Scratch的技術生態,對Scratch中的核心技術做了深入分析和源碼講解。通過閱讀本書,讀者不但可以系統地學習Scratch中的核心技術模塊,而且還能深入理解Scratch底層代碼的實現和結構設計,為二次開發打下基礎。
    本書共7章,涵蓋的主要內容有Blockly簡介、Scratch-blocks源碼分析、Scratch-vm源碼分析、Scratch-render源碼分析、Scratch-storage源碼分析、Scratch-gui源碼分析,以及Scratch-paint、Scratch-audio和Scratch-parser的簡單介紹。
    本書適合想了解Scratch語言底層技術架構的開發人員和技術愛好者,尤其是需要做Scratch二次開發的程序員閱讀。另外,本書還適合作為相關教學人員和研究人員的參考資料。

作者介紹
編者:孟燦|責編:遲振春
    孟燦,畢業於北京師範大學,獲工學碩士學位。對圖形圖像處理與模式識別有廣泛研究。曾經就職於國內外一線互聯網公司,有多年的互聯網行業開發和管理經驗,工作內容涉及演算法、前端和後端等技術領域。2019年入職核桃編程教育公司,從事Scratch少兒編程教學研究和二次開發。

目錄
前言
本書知識結構導圖
第1章  開始Scratch之旅
  1.1  Scratch概述
    1.1.1  Scratch發展歷史
    1.1.2  Scratch技術生態
    1.1.3  Scratch使用現狀
    1.1.4  Scratch源碼分析的意義
  1.2  Webpack打包工具簡介
    1.2.1  Webpack的核心概念
  1.3  NPM包管理工具簡介
    1.3.1  NPM的組成
    1.3.2  NPM的使用場景
  1.4  小結
第2章  Scratch-blocks:積木塊源碼分析
  2.1  Scratch-blocks概述
    2.1.1  Blockly技術簡介
    2.1.2  Scratch-blocks與Blockly之間的關係
    2.1.3  Scratch-blocks的作用
    2.1.4  Scratch-blocks的分類
  2.2  Scratch-blocks代碼結構與流程
    2.2.1  Scratch-blocks代碼結構
    2.2.2  Scratch-blocks代碼流程
  2.3  Scratch-blocks核心代碼分析
    2.3.1  blockly_uncompressed_vertical.js:垂直方向的非壓縮打包文件
    2.3.2  options.js:配置工作區
    2.3.3  inject.js:將Scratch-blocks注入頁面
    2.3.4  workspace模塊:工作區
    2.3.5  toolbox.js:工具箱
    2.3.6  Flyout模塊:工具箱中的托盤
    2.3.7  xml.js:XML讀寫器
    2.3.8  event模塊:各模塊之間的通信
    2.3.9  Field模塊:代碼塊上的域
    2.3.10  blockly.js:Blockly的核心JS庫
    2.3.11  connection模塊:代碼塊之間的連接
    2.3.12  input.js:代碼塊上的輸入
    2.3.13  mutator.js:代碼塊的變形器
    2.3.14  extensions.js:代碼塊的擴展
    2.3.15  block.js:定義一個代碼塊
  2.4  小結
第3章  Scratch-vm:虛擬機源碼分析
  3.1  Scratch-vm概述
    3.1.1  Scratch-vm的職責
  3.2  Scratch-vm代碼結構與流程
    3.2.1  Scratch-vm代碼結構
    3.2.2  Scratch-vm代碼流程
  3.3  Scratch-vm核心代碼分析
    3.3.1  virtual-machine.js:最外層的API定義
    3.3.2  blocks模塊:代碼塊原語的實現
    3.3.3  dispatch模塊:消息派發系統

    3.3.4  engine模塊:虛擬機的引擎
    3.3.5  serialization模塊:序列化與反序列化
    3.3.6  sprite模塊:精靈的渲染
  3.4  小結
第4章  Scratch-render:渲染引擎源碼分析
  4.1  Scratch-render渲染技術概述
    4.1.1  WebGL概述
    4.1.2  canvas概述
    4.1.3  twgl.js概述
    4.1.4  Scratch-render概述
  4.2  Scratch-render代碼結構與流程
    4.2.1  Scratch-render代碼結構
    4.2.2  Scratch-render代碼流程
  4.3  Scratch-render核心代碼分析
    4.3.1  twgl.js關鍵函數介紹
    4.3.2  RenderWebGL.js:渲染引擎最外層API的定義
  4.4  小結
第5章  Scratch-storage:資源存儲源碼分析
  5.1  Scratch-storage概述
    5.1.1  什麼是Scratch-storage
    5.1.2  Scratch-storage的主要內容
  5.2  Scratch-storage代碼結構與流程
    5.2.1  Scratch-storage代碼結構
    5.2.2  Scratch-storage代碼流程
  5.3  Scratch-storage核心代碼分析
    5.3.1  ProxyTool模塊:網路代理工具
    5.3.2  FetchTool模塊:基於Fetch的網路工具
    5.3.3  NetsTool模塊:基於Nets的網路工具
    5.3.4  FetchWorkerTool模塊:基於任務的網路工具
  5.4  小結
第6章  Scratch-gui:圖形化界面源碼分析
  6.1  Scratch-gui概述
    6.1.1  Scratch-gui所處的位置
    6.1.2  Scratch-gui的主要內容
  6.2  React技術棧概述
    6.2.1  什麼是React
    6.2.2  React關鍵技術
    6.2.3  什麼是Redux
    6.2.4  react-redux介紹
  6.3  Scratch-gui代碼結構與流程
    6.3.1  Scratch-gui代碼結構
    6.3.2  Scratch-gui代碼流程
  6.4  Scratch-gui核心代碼分析
  6.5  小結
第7章  Scratch生態其他項目
  7.1  Scratch-paint:繪圖編輯器
    7.1.1  Scratch-paint目錄結構
    7.1.2  Scratch-paint使用方法
  7.2  Scratch-audio:音頻引擎
    7.2.1  Scratch-audio目錄結構

    7.2.2  Scratch-audio在Scratch-gui中的使用
  7.3  Scratch-parser:解析驗證工具
    7.3.1  Scratch-parser目錄結構
    7.3.2  Scratch-parser在Scratch-vm中的使用
  7.4  小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032