あけましておめでとうございます。まっつんこと松藤です。

みなさん、体調など崩されていないでしょうか。私のまわりでは健康な人がいないぐらい具合の悪い人ばっかりです。私自身はいたって健康なんですけどね:-)

みなさんも体調を崩さないように気をつけてください。

さて、まっつんチャレンジシリーズ第2弾です。お題は「Seasideによるユーザ登録アプリケーションの実装」です。Seasideは継続ベースのWebアプリケーションフレームワークです。言語はSmalltalkです。高い評価を受けているにもかかわらず、普及しているとは言い難いSmalltalk。孤高の言語という印象のあるSmalltalkを新年最初のお題に選ぶあたり、ITEMANは今年も絶好調のようです。

MATSUFUJI Hideharu

ちなみにSeasideの頭文字のSはロゴでは小文字になっているのですが、ドキュメント上は大文字になっているので、本ブログでは大文字で統一することにします。

それでは例によってSeasideとは何か?といったところから見ていきましょう。Seasideの公式サイトのロゴの横にでかでかと書かれています。

The framework for developing sophisticated web applications in Smalltalk

「Smalltalkで洗練されたWebアプリケーションを開発するためのフレームワーク」とのことです。私が知るかぎり「簡単に」とか「素早く」といった特徴を謳っているフレームワークは多いですが、「洗練された」という表現をしているものは初めてです。いったいどんなフレームワークなのか楽しみになってきました。

それでは環境を構築していきましょう。Seasideの公式サイトにあるA Walk on the Seasideを参考に進めてみます。SeasideはいくつかのSmalltalk環境で動作しますが、Seaside自体はSqueakで開発されているので今回はSqueakを使うことにします。On-Click ExperienceからSeasideをバンドルしたSqueakをダウンロードすることができるので、これを使います。ダウンロードしたZIPファイルの中にSeaside.exeがあるのでこれを実行します。

squeak.png

Kahuaのようなアプリケーションサーバが起動するのかと思っていたら、いきなりウィンドウシステムが起動しました。SmalltalkはOSに従わない独自の環境を提供しています。Wikipediaでは、こういった独自性がSmalltalkの敷居を高いものにしているというように書かれています。確かにそういった面もあるとは思いますが、閉じられた環境での開発はプラットフォームによる差異を気にする必要がない、開発環境の準備が容易であるといったメリットもあるはずです。開発者がアプリケーションのドメインに集中できるという点を考慮すると、最初に学習コストをかける価値があるのではないかと思います。

http://localhost:8080/seaside/browseにアクセスしexamplesをクリックするといくつかのサンプルがあります。

examples.png

Kahuaのときに実装したカウンタがあります。継続ベースのフレームワークでは必須なんでしょうか。

counter.png

これでSeasideの開発環境が整いました。開発環境の準備自体は今まで一番簡単でした。これはSmalltalkのメリットのひとつと言えるのではないでしょうか。

次回はサンプルを眺めながら、Seasideで作るWebアプリケーションの構造を見ていきたいと思います。

参考文献

トラックバック(0)
  • このブログ記事のトラックバックURL:
コメント