積木分類、事件模型、社群 vs 程式庫
| 面向 | Scratch | Blockly |
|---|---|---|
| 定位 | 完整學習產品 | 開發引擎(程式庫) |
| 使用者 | 學習者/教師/創作者 | 開發者(嵌入自己產品) |
| 積木種類 | 固定十大分類 | 由嵌入者自訂 |
| 程式碼輸出 | 不直接給文字程式 | 可生成 JS/Python 等 |
| 社群 | 大型分享/再混合社群 | 開源開發者生態 |
| 硬體支援 | 較少(擴充套件) | 強(MakeCode 主攻硬體) |
目標是什麼?
├─ 讓學生快速做出動畫/故事/遊戲 → Scratch
├─ 教「程式概念」本身(不強調作品)→ 兩者皆可
├─ 控制 Micro:bit 等硬體 → MakeCode(Blockly 家族)
├─ 讓學生看到「積木背後程式碼」 → MakeCode(切換 JS/Python)
└─ 自己要開發積木工具 → Blockly(技術面)
建議路徑:Scratch 起步 → MakeCode 轉硬體與文字程式 →
Blockly 技術面(給想開發的人)。
專案:「猜數字遊戲」 Scratch(螢幕版): 當 ⚑ 被點擊 將 [答案] 設為 隨機 1~10 詢問「猜一個 1~10 的數?」並等待 如果 <回答 = 答案> 說出「猜中了!」否則「再試試」 MakeCode(硬體版): 變數 answer = randint(1,10) on button A pressed → 猜測值+1,顯示目前猜測 on shake → 判斷:等於 answer?亮 😀 否則 😢 比較:同樣「隨機 + 比較 + 回饋」,舞台不同。
動手:把你最喜歡的 Scratch 專案,想像「用 MakeCode 做會變什麼」並寫下差異。