OSC2008に参加してきました - critbitの日記
id:iwmtサメの反応すると言っていたSeasideですが、結構面白そうですねぇ。
継続による状態の保持とコンポーネントで管理、URLに意味を持たせない等、なかなか面白そう。
戻るには弱いのかな。
異端のWebフレームワークSeaside
squek-jaの梅沢さんと言う方の講義です。
今でのWebフレームワークの常識である、
- 状態の不保持
- 意味のあるURL
- モデルと表示を分離するためのテンプレート
を無視し、
- 「継続」による状態の保持
- URLに意味を持たせることにこだわらない
- ページではなくコンポーネント単位で管理
といった感じで、オブジェクト指向を一貫させる、というかなり革新的な改変を狙った説明がまずなされました。
OSC2008に参加してきました - critbitの日記
その後デモをされたのですが、かなり衝撃的で、見ている間、口が半開きのままでした。
ブラウザにキャッシュされてもURLで状態を覚えているため、簡単にもとの状態からユーザの操作を受け付けられるという「継続」そのものも面白いですが、保持している状態やソースをあっさりと書き換えても再デプロイや再起動なしで確認できたりなど、デバッグ機能が非常に興味深かったです。
質疑応答で話されていた、継続の使いすぎによる性能劣化は結構ネックになりそうですが、継続はビューを一枚しかもてない携帯電話ブラウザには有効なように思います。
Smarttalk出掛かれているんだ。
Seaside is a free and open source web application framework for developing web applications in Smalltalk.
Seaside (software) - Wikipedia
Seaside provides a component architecture in which web pages are built as trees of individual, stateful components, each encapsulating a small portion of a page. Seaside uses continuations to model multiple independent flows between different components.[1] Seaside is a continuation-based web application framework[2] based on the ability to manipulate the execution stack of some implementations of Smalltalk.