Google 開源程式庫、衍生產物、嵌入原理
Blockly 是 Google 推出的開源 JavaScript 程式庫,讓開發者能在自己的網站/應用中嵌入積木編輯器。它不賣產品,而是提供「做產品」的零件。
| 工具 | 製作方 | 用途 | 積木家族 |
|---|---|---|---|
| MakeCode | Microsoft | Micro:bit、Arcade、硬體教育 | Blockly 客製積木 |
| App Inventor | MIT | Android App 視覺化開發 | Blockly 衍生 |
| Blockly Games | 積木學習小遊戲(迷宮/鳥/電影) | 純 Blockly | |
| Scratch 3 | MIT | (技術上改用 Blockly 架構!) | Blockly 客製 |
一個 Blockly 應用 = 積木工具箱(toolbox:有哪些積木可用) + 工作區(workspace:使用者拼積木的地方) + 生成器(generator:積木 → 程式碼) + 執行器(可選:直接跑起來)
Blockly 最核心的能力,是「積木不能直接跑,必須先轉成文字程式碼」。這條管線是二次開發的地基:
Blockly 內建 5 種語言生成器:
| 語言 | 常見用途 | 誰在用 |
|---|---|---|
| JavaScript | 瀏覽器/Node.js 執行 | MakeCode 的 JS 檢視 |
| Python | 教學/資料/後端 | MakeCode Python 檢視 |
| Lua | 遊戲引擎/嵌入式 | 特定遊戲教育工具 |
| Dart | Flutter App | App 開發工具 |
| PHP | 網頁後端 | Web 教育平台 |
打開 blockly.games 迷宮關卡: 1. 用「前進/右轉/左轉」積木控制角色走出迷宮 2. 觀察:積木少 → 程式短;這是「序列」概念 3. 高關卡出現「迴圈」積木 → 重複走 4. 對照:迷宮 = 演算法,迴圈 = 讓程式變短 任務:走完 3 關,說出你用了哪些積木與概念。
動手:玩 Blockly Games 迷宮至少 3 關,並紀錄你用了哪些積木。
進階路線:若你是開發者,本單元後可直接跳 單元 21 · Blockly 程式碼生成器深入,從「使用者」轉為「工具製作者」。