はじめてのMorphicチュートリアル(第1回)「Morphicとは」

Smalltalkの初心者に対してMorphicの使い方を紹介していく。なるべく簡易に少しずつMorphicについて学べるような内容を心がけていきたい。
SmalltalkではMVCモデルによるGUIが有名であるが、Morphicは最近の実装(Squeak, Pharo, Cuis等のSmalltalk)において、GUIを構築するフレームワークとして用いられている技術である。
このチュートリアルでは実装としてPharoを用いる。PharoはオープンなSmalltalk実装で、活発に開発が行われているものの1つである。
試しながら学ぶためにPharoのサイトでDownloadのページへ移り、Windows/Mac/LinuxなどのOSに応じた最新版をダウンロードしよう。
ダウンロードしたら適当なフォルダに展開してPharoのアプリケーションを起動する。
起動すると下のような画面が現れる。
起動画面
執筆時点の最新版は4.0である。毎年更新されて内容も大きく変わるが、Pharoはシンプルがモットーなので起動画面のイメージはバージョン間でそれほど変わらない。
まずは起動したPharoでモーフ(Morph)と呼ばれるオブジェクトを生成してみよう。背景を適当にクリックしてWorldメニューを出し、上から2つ目のPlaygroundを選ぶ。
Playground
Playgroundとは4.0からWorkspaceの代わりになったインスタントな操作環境である。Smalltalkの適当な式を評価することができるだけでなく、評価結果の詳細な分析もしやすくなっている。
モーフを生成するために、Playgroundに以下の式を入力してみよう。

Morph new openInWorld.

入力したらPlaygroundのタイトル右下にある緑色のボタン「Do it all and go」を押す。
すると下のような画面になる。
Morph
PharoのロゴのPに掛かるように現れた青い四角形が生成されたモーフである。
先ほど入力した式では、Morphというクラスに対してnewというメッセージを送ってモーフを生成し、更に生成されたモーフに対してopenInWorldというメッセージを送ってモーフを画面に表示させている。(Smalltalkでは連続したメッセージ式は左結合となる)
これがモーフの基本形であり、ここから様々なモーフを派生させていく。こんなシンプルなものでGUIまで作り上げていくんだからSmalltalkerはこわい。
(第1回おわり)
補足
チュートリアルを試している途中でやめたくなった場合、2通りの終了方法がある。
1つ目は今までやったことを残す方法で、デスクトップをクリックして現れるWorldメニューでSaveを選ぶ。
2つ目は起動後に行った行為を残さない方法で、デスクトップをクリックして現れるWorldメニューでQuitを選ぶ。
Pharoに限らずSmalltalkの多くの処理系では、ゲームに似た感覚で作業を残すか残さないかを決めることができる。