全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 程序与语言

Scratch底层架构源码分析

  • 定价: ¥99
  • ISBN:9787111667704
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:机械工业
  • 页数:284页
  • 作者:编者:孟灿|责编:...
  • 立即节省:
  • 2020-11-01 第1版
  • 2020-11-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    本书从谷歌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  小结