Aus Das deutschsprachige Scratch-Wiki

Snap! (deutsch: (ein-)schnappen!) ist eine Scratch Modifikation und der Nachfolger von BYOB und somit auch von Chirp. Im Gegensatz zu den meisten anderen Mods basiert Snap! nicht auf dem Quellcode von Scratch selbst, sondern wurde komplett neu programmiert, da die Entwickler, wie bei Scratch 2.0, wollen, dass man von überall online an seinen Projekten arbeiten kann. Snap! befindet sich im Augenblick noch im Status "Beta".

Das offizielle Logo

Entwicklerteam

Brian Harvey und Jens Mönig

Wie beim Vorgänger BYOB, hat der deutsche Jurist und Softwareentwickler Jens Mönig den Großteil der Programmierung übernommen und der Berkeleydozent Brian Harvey seine Ideen zum Sprachdesign und die Dokumentation beigesteuert. Bis zur geplanten Erstveröffentlichung im Juli werden neben Jens Mönig nur noch die zwei engagierten jugendlichen Hobbyprogrammierer Fullmoon und nxIII aus den USA am Coding in JavaScript beteiligt sein.

Jens nutze aber u.A. Vor- bzw. Zusammenarbeit den MIT-Scratch-Team Mitgliedern John Maloney und Evelyn Eastmond, sowie mit dem Squeak/Smalltalk Mitbegründer Dan Ingalls, dessen Lively Kernel eine Vorlage für Morphc.js, lieferte, die Jens in seiner Dokumentation als "Gold Standard" bezeichnet. Den Lively Kernel kann man hier live im Browser erleben. Dan Ingels selber gibt hier ein interessantes Interview dazu: "Dan Ingalls on the History of Smalltalk and the Lively Kernel".

→ siehe auch: Jens Mönig am Scratch Day 2013

Technik und Programmiersprachen: Morphic.js

Programmieren mit Snap auf dem iPad 2 von Apple: Geht ohne Java & Flash...

Eine wichtige Einschränkung des für Mitte 2012 (und inzwischen auf Q1 2013 verschobene, Alpha aber schon online für Eingeweihte) Scratch 2.0 ist, dass Projekte trotz Onlineeditor mit der Apple iOS-Reihe (iPhone, iPad und iPod touch) weder abgespielt noch bearbeitet werden können, da diese Geräte kein Flash unterstützen (Warum? & trifft das bald auch auf Android zu?). Für den Player von Scratch bis Version 1.4, der auf Java basiert, galt dies ebenso. Java und Flash haben viele Befürworter, aber auch einige wichtige Gegner. Die Entwickler mußten also nach einer geeigneteren Technologie suchen, die sowohl ein so großes Projekt sicher und in allen Funktionen trägt, als auch eine hohe Kompatibilität für alle internetfähigen Geräte und Plattformen bietet. Was passt da besser als die zwei Onlinestandarts schlechthin: HTML und JavaScript?

"About"-box von Morphic.js

Die Basis, die der Snap! Hauptentwickler Jens Mönig dafür geschaffen hat, nennt sich Morpic.js. Es ist eine Morphic-Implemetierung in JavaScript.

Ein historischer Screenshot der Morphic Oberfläche in Squeak

Morphic ist die innovative grafische Benutzeroberfläche, die auch in der bisherigen Squeak Implementierung von Scratch das grafische Framework darstellt. Es besteht aus Morphs genannten graphischen Objekten, die vom Benutzer ohne Programmierung manipuliert werden können. Du kannst das blanke Morphic.js ohne Snap! hier live im Browser erleben und die umfangreiche englischsprachige Einführung von Jens hier lesen.

Zum Verständnis von Morphic.js sind allerdings Englisch- , Squeak- , Morphic-, Javascript- und HTML5-Canvas-Kenntnisse erforderlich. Jens hat darin quasi das Morphic-Framework aus Squeak, auf welcher das normale Scratch bis Version 1.4 beruht, in JavaScript nachgebaut und konnte so Snap! oben draufsetzen. Dadurch läuft die Entwicklungsumgebung in jedem Browser.

Faszinierend an Morphic.js und seinem Vorbild Lively Kernel ist, dass die "lebende" graphische Objektumgebung von Morphic.js allein durch die Ausführung der quelltextoffen auf dem Server liegenden HTML- und JavaSkript- Code entsteht: Es ist keine Serverkomponente und kein vorcomplierter Code beteiligt: Allein die Ausführung der Dateien im Browser schafft die "lebende Umgebung" von Morphic und das darauf basierende Snap!

Verbindung zu BYOB

Wie bereits oben erwähnt, ist Snap! der Nachfolger, beziehungsweise die nächste Version von BYOB.

Die Abkürzung "BYOB" hatte leider auch noch eine andere, im englischen sogar bekanntere Bedeutung als Build Your Own Blocks (Bau deine eigenen Blöcke) an die man zunächst nicht gedacht hatte. Nämlich das Motto bring your own beer/bottle (Bring Deine Flasche/Dein Bier selbst mit) von Buddelpartys. Daher hat man sich entschieden, einen neuen Namen zu suchen, der sich mit Snap! fand. Trotzdem wird Snap! 1.0 auch manchmal noch BYOB 4.0 genannt werden.

Neue Funktionen

Bisher sieht man im Nasciturus, verglichen mit dem Vorgänger BYOB 3.1, noch nicht allzu viel Neues. Das liegt natürlich daran, dass Snap! noch einige Wochen Entwicklung vor sich hat.

  • Slider, Zoom und Klapptastatur für Smartphones und Tablett PCs
  • Neuer Block: "warp"
  • Neuer Block: "call w/continuation"
  • Neuer Block: "run w/continuation"
  • Neuer Block: "in front of"
  • Neuer Block: "all but first of"
  • Neue Blockart: Ringe
  • Neuer Block: "http://"

Mehr kommt hoffentlich bald.

Entwicklung miterleben!

Das schöne an Snap! ist, dass die Entwicklung offen auf der BYOB Webseite stattfindet. So muss man nicht auf die offizielle Fertigstellung warten, um sich einen Eindruck machen zu können. Allerdings darfst du nicht erwarten, dass schon alles perfekt und vollständig ist. Es handelt sich eben nur um eine Alpha. Inzwischen kann man auch auf Deutsch und andere Sprachen umschalten: Es sollen noch viele dazukommen, Chinesisch ist schon dabei ;-)

Snap! in der jeweils aktuellen Version in Deinem Browser starten hier:

Die Build-Versionenübersicht findest du hier:

Jens nummeriert seine Builds einfach durch, ohne ein Datum daran zu schreiben.
Um mal einen Bezug zu haben:

  • Build 121127 aktuelle Version am 28.11.2012
  • Build 130118 aktuelle Version am 20.01.2013
  • Build 130221 aktuelle Version am 21.02.2013
  • Build 130517 aktuelle Version am 23.05.2013
  • Build 130730 aktuelle Version am 31.07.2013
  • Build 130917 aktuelle Version am 17.09.2013
  • Build 140110 aktuelle Version am 21.01.2014
  • Build 140718 aktuelle Version am 19.07.2014
  • Build 141008 aktuelle Version am 09.10.2014


Zugriff auf alle aktuellen Source-Dateien + Doku + Archive hier:

Die offizielle Webseite von Snap! und BYOB findest du hier:

Auf Github ist Snap! hier verortet:

https://github.com/jmoenig/Snap--Build-Your-Own-Blocks

Screenshots

Hier sind einige Screenshots der Alpha. Für eine Vergrößerung bitte auf das jeweilige Bild klicken.

Hintergründe zu Snap!

Weblinks



Code zum Einbinden ins Forum:
[wiki=de:Snap!]Snap![/wiki]

Kategorie:En-Link

Cookies helfen uns bei der Bereitstellung von Das deutschsprachige Scratch-Wiki. Durch die Nutzung von Das deutschsprachige Scratch-Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.