Was ist der Unterschied zwischen einem Morph in Morphic und einem NSView in Cocoa?

8

Ich würde gerne etwas über die Dinge wissen, die Morphic besonders machen.

    
Richard Durr 01.11.2010, 15:44
quelle

2 Antworten

6

Morphic ist viel mehr als NSView oder eine andere Grafik Klasse, die einfach die Re-Implementierung einer begrenzten Menge von Features erlaubt. Morphic ist ein extrem formbarer UI-Baukasten. Einige Design-Ideen hinter Morphic machen diese Absicht deutlich:

  • Eine umfassende Hierarchie von 2D-Koordinatensystemen ist enthalten. Sie sind nicht auf kartesische oder lineare beschränkt. Nützliche nichtlineare Koordinatensysteme umfassen polare, logarithmische, hyperbolische und geographische (kartenartige) Projektionen.
  • Trennung der Handhabung von Koordinatensystemen von den Morphs selbst. Ein Morph sollte nur sein bevorzugtes Koordinatensystem auswählen, anstatt jeden Punkt, den es zeichnet, selbst in Weltkoordinaten zu konvertieren. Die Methode #drawOn: und die Position der Sub-Morphs werden in einem eigenen Koordinatensystem ausgedrückt.
  • Vollständige Unabhängigkeit von Anzeigeeigenschaften wie Größe oder Auflösung. Es gibt kein Konzept von Pixeln. Die GUI ist auf einer höheren Ebene gedacht. Die gesamte GUI ist unabhängig von der Pixelauflösung. Das gesamte Rendering ist mit einem Alias ​​versehen.
  • Das Trennen des Koordinatensystems erleichtert das Bewegen, Zoomen und Drehen von Morphs.
  • Alle Koordinaten sind Float-Nummern. Dies ist gut, um völlig willkürliche Skalen ohne signifikante Rundungsfehler zuzulassen.
  • Die Morph-Hierarchie ist keine Hierarchie von Formen. Morphs haben kein Konzept einer Grenze oder Farbe. Es gibt kein allgemeines Konzept der Submorph-Ausrichtung. Ein bestimmter Morph kann diese in irgendeiner Weise implementieren, die für sich selbst sinnvoll ist.
  • Die Handhabung von morphischen Ereignissen ist flexibel und ermöglicht das Senden von Ereignissen an beliebige Objekte. Dieses Objekt muss Morph nicht unterlegen.
Vijay Mathew 02.11.2010, 05:47
quelle
6

Warnung: Smalltalks dynamische Live-Umgebung ist eine rote Pille . Statische, eingefrorene Sprachen werden niemals für dich gleich sein ;-)

Kurz gesagt: Morphic ist eine virtuelle Welt , in der Sie direkt lebende Objekte erforschen können (genau wie in der realen Welt). Hast du jemals eine Benutzeroberfläche angeschaut und ...

  • Wunder "Wow, das ist wirklich cool! Wie haben sie das gemacht?"
  • kvetch "Ich wünschte, sie hätten stattdessen X gemacht!"

Während diese Gedanken zu Schmerz und Frustration in jeder anderen Umgebung führen würden, nicht so in Morphic.

Wenn du deinen Verstand blasen willst, werde ein Gott in einer morphischen Welt:

  1. Starten Sie ein Pharo-Bild und klicken Sie auf den Hintergrund (der eigentlich "Welt" ist), um das Weltmenü aufzurufen:

  2. Rufen Sie die "Halos" auf einer der Menüoptionen auf (shift-alt-click auf meinem Mac):

  3. Ziehe den "Pick Up" Halo (oben-Mitte) und lass ihn irgendwo auf der Welt fallen:

  4. Genießen Sie Ihren Menüpunkt, der nun überall verfügbar ist, wo Sie es wollen:

Ernsthaft, klicken Sie darauf und beobachten Sie den Browser öffnen !!

Haben Sie jemals eine Option, die Sie immer verwenden, dass ein Anbieter drei Menüebenen tief vergraben hat? Könnte das nützlich sein ?! Dies ist ein Einblick in die Leistungsfähigkeit einer direkten Live-GUI-Umgebung wie Morphic.

Wenn Sie neugierig sind, lesen Sie John Maloney & amp; Randall Smiths Papier Direktheit und Lebendigkeit in der Morphic User Interface Construction Environment

>     
Sean DeNigris 10.12.2010 15:09
quelle