單元 13 · Scratch vs Blockly 詳細對照

積木分類、事件模型、社群 vs 程式庫

13.1 五個面向的深度比較

面向ScratchBlockly
定位完整學習產品開發引擎(程式庫)
使用者學習者/教師/創作者開發者(嵌入自己產品)
積木種類固定十大分類由嵌入者自訂
程式碼輸出不直接給文字程式可生成 JS/Python 等
社群大型分享/再混合社群開源開發者生態
硬體支援較少(擴充套件)強(MakeCode 主攻硬體)

13.2 教學上怎麼選

決策樹
目標是什麼?
├─ 讓學生快速做出動畫/故事/遊戲 → Scratch
├─ 教「程式概念」本身(不強調作品)→ 兩者皆可
├─ 控制 Micro:bit 等硬體        → MakeCode(Blockly 家族)
├─ 讓學生看到「積木背後程式碼」 → MakeCode(切換 JS/Python)
└─ 自己要開發積木工具           → Blockly(技術面)

建議路徑:Scratch 起步 → MakeCode 轉硬體與文字程式 →
          Blockly 技術面(給想開發的人)。

13.3 兩者的互補

別陷入「選邊站」:兩者不是敵對,而是同一個學習旅程的兩個階段。最好的課程兩者都用。

13.4 Worked Example:同一個專案兩套做法

範例
專案:「猜數字遊戲」
Scratch(螢幕版):
  當 ⚑ 被點擊
  將 [答案] 設為 隨機 1~10
  詢問「猜一個 1~10 的數?」並等待
  如果 <回答 = 答案> 說出「猜中了!」否則「再試試」

MakeCode(硬體版):
  變數 answer = randint(1,10)
  on button A pressed → 猜測值+1,顯示目前猜測
  on shake → 判斷:等於 answer?亮 😀 否則 😢

比較:同樣「隨機 + 比較 + 回饋」,舞台不同。

動手:把你最喜歡的 Scratch 專案,想像「用 MakeCode 做會變什麼」並寫下差異。

看完這單元你應該能說出:
  • 比較 Scratch 與 Blockly 的定位與差異。
  • 說出兩者在教學與開發上的適用情境。
  • 決定何時該用哪一套。

延伸閱讀