Google und MIT erweitern Scratch Blocks
Ab sofort können Jungentwickler Code wahlweise horizontal oder vertikal erstellen. Außerdem dürfen sie laufende Programme verändern und so jede Modifikation live erkennen.
- Rainald Menge-Sonnentag
Im Mai waren das MIT (Massachusetts Institute of Technology) und Google mit dem gemeinsamen Projekt Scratch Blocks an den Start gegangen, das die visuellen Programmierumgebungen Scratch vom MIT und das Blockly-Projekt des Internetriesen kombiniert. Die Scratch-Blocks-Bibliothek ist ein Fork von Blockly und richtet sich an Programmieranfänger, die Code mit einer Art Bausteine zusammensetzen.
Scratch Blocks bietet zwei alternative Programmiermodelle: Beim horizontalen Ansatz kombinieren Entwickler Icons, während der vertikale Ansatz mit einer textbasierten Ausprägung deutlich näher an herkömmlichen Programmiersprachen ist. Die horizontale Grammatik ist auch für jüngere Kinder gut geeignet. Zudem ist sie platzsparender und eignet sich daher besonders gut für Mobilgeräte. Daher konzentrierte sich das Team im Mai zunächst darauf. Inzwischen können Entwickler auch das vertikale Modell verwenden, das komplexere Möglichkeiten bietet. Außerdem ist es möglich, horizontale Diagramme in vertikale zu übersetzen.
Basteln am laufenden Programm
In Scratch ist das Basteln am laufenden Code ohnehin vorgesehen, aber diese Möglichkeit war in Scratch Blocks anfangs nicht implementiert. Nun ist es wohl möglich, Scratch Blocks direkt an die Scratch VM anzubinden und so mit dem Code herumzuspielen und Änderungen am laufenden Programm auszuprobieren.
Darüber hinaus arbeitet das Team an der weiteren Optimierung für den Einsatz auf mobilen Geräten. Es will die Blöcke und die Methoden zum Verändern für Touchscreens anpassen und dabei auch Multi-Touch berücksichtigen. Außerdem optimiert es die Projektstruktur, damit Mobilgeräte auch große Projekte effizient laden können.
Weitere Details zu den Neuerungen in Scratch Blocks finden sich in Googles Entwicklerblog. Die Bibliothek ist auf GitHub unter der Apache-2-Lizenz verfügbar. (rme)