9

Morphic を特別なものにしている点について知りたいです。

4

3 に答える 3

7

Morphic は、限られた機能セットの再実装を単純に許可するNSView やその他のグラフィックスクラスよりもはるかに優れています。Morphic は非常に柔軟な UI 構築キットです。Morphic の背後にあるいくつかのデザイン アイデアは、この意図を明確に示しています。

  • 2D 座標系の包括的な階層が含まれています。それらはデカルトまたは線形に制限されません。有用な非線形座標系には、極、対数、双曲線、および地理的 (地図のような) 投影法が含まれます。
  • モーフ自体からの座標系の処理の分離。モーフは、描画するすべてのポイントをそれ自体でワールド座標に変換する必要はなく、優先座標系を選択するだけでよいはずです。その#drawOn:メソッドとそのサブモーフの位置は、独自の座標系で表現されます。
  • サイズや解像度などの表示プロパティの完全な独立性。ピクセルという概念はありません。GUI はより高いレベルで考えられています。すべての GUI は、ピクセル解像度に依存しません。すべてのレンダリングはアンチエイリアスです。
  • 座標系を分離すると、モーフの移動、ズーム、および回転が容易になります。
  • すべての座標は浮動小数点数です。これは、大きな丸め誤差なしで完全に任意のスケールを許可するのに適しています。
  • モーフ階層は形状の階層ではありません。モーフには、境界線や色の概念がありません。サブモーフの整列に関する一般的な概念はありません。特定のモーフは、それ自体にとって意味のある方法でこれらを実装できます。
  • Morphic イベント処理は柔軟で、イベントを任意のオブジェクトに送信できます。そのオブジェクトは Morph をサブクラス化する必要はありません。
于 2010-11-02T05:47:38.807 に答える
6

警告: Smalltalk のライブ動的環境は赤い丸薬です。静的で凍結された言語は、あなたにとって決して同じではありません;-)

簡単に言うと、Morphic は(現実世界と同じように)生きているオブジェクトを直接探索できる仮想世界です。UIを見たことがありますか...

  • 「うわー、それは本当にクールだ!彼らはどうやってそれをしたの?」
  • kvetch 「代わりに X をやればよかったのに!」

これらの考えは、他の環境では痛みやフラストレーションにつながりますが、Morphic ではそうではありません。

心を吹き飛ばしたい場合は、モルフィックの世界で神になりましょう。

  1. Pharo 画像を起動し、背景 (実際には「世界」) をクリックして、世界のメニューを表示します。

    代替テキスト

  2. メニューオプションの1つで「ハロー」を表示します(私のMacではShift-Alt-クリック): 代替テキスト

  3. 「ピックアップ」ハロー (上部中央) をドラッグして、ワールド内のどこかにドロップします。 代替テキスト

  4. 好きな場所で利用できるようになったメニュー項目をお楽しみください。 代替テキスト

真剣に、それをクリックしてブラウザが開くのを見てください!!

ベンダーが 3 つのメニュー レベルの深さを隠しているという、常に使用するオプションがあったことはありませんか? これは役に立ちますか?これは、Morphic のようなライブ ダイレクト GUI 環境の威力を垣間見ることができます。

興味がある場合は、John Maloney と Randall Smith の論文「Morphic User Interface Construction Environment における Directness and Liveness 」をお読みください。

于 2010-12-10T15:09:40.337 に答える