私は最近、Seaside+Squeak で Web アプリケーションを開発していますが、素晴らしい経験であることがわかりました。Seaside は実際に他のどのフレームワークよりも優れており、より高いレベルの抽象化 (他のフレームワークが処理する HTTP 要求/応答サイクルと HTML テンプレートの上) で作業しているように感じます。
そうは言っても、私は Seaside コンポーネントについて少し混乱しています。最近、コンポーネントにオブジェクトのリストを表示する必要がありました (stackoverflow のフロント ページに似ています)。最初は各オブジェクトをコンポーネント (WAComponent のサブクラス) にしましたが、これは非常に無駄であることが判明し、#children を親コンポーネントで動的に設定して機能させる必要がありました。次に、レンダリング オブジェクト (WAComponent のサブクラスではなく、コンポーネントのように renderContentOn: の代わりに renderOn: を使用してレンダリングするオブジェクト) を作成しようとしました。これは機能しましたが、コンポーネントが (#session を使用して) できるように、セッション オブジェクトのグローバル状態にアクセスできなくなりました。次に、現在の Seaside セッション オブジェクトへのアクセスを任意のオブジェクトに与える「WACurrentSession 値」を発見しました。これでレンダリング オブジェクトを作成できるようになりました。加えて、
call/answer または backtracking 状態が必要である以外に、レンダー オブジェクトよりもコンポーネントを使用する理由が他にあるでしょうか?