SproutCoreで勘違いしていた点について

SproutCoreのドキュメントを読み始めた時にしばらく混乱していた点についてメモ。

1. 運用サーバにはRubyは必須ではない

テンプレートの生成ツールや開発用WebサーバがRubyで書かれているので開発に使うマシンにはRubyがあった方がよいですが、SproutCore自体はHTMLとJavaScriptフレームワークなので運用環境にRubyをインストールする必要はありません(ただし、この日記を書いている時点では運用環境向け生成物の動作は確認できていません。私がインストールに失敗しているのかSproutCore 0.9.16にバグがあるのか……?)。


サーバ側のプログラムも、SproutCoreで書かれたアプリケーションとJSONで通信することさえできればPHPJavaなど何で作っても良いです。Rubyを使う場合でもRuby on Railsである必要はありません。

2. SproutCoreのドキュメントに出てくるMVCは、Struts等のMVCとは別物

StrutsRuby on Railsでは

View ブラウザで表示するHTMLやJavaScript
Model・Controller サーバ側プログラム

という分類になっていると思います。

一方でSproutCoreのドキュメントでは、MVCのModelもViewもControllerもWebブラウザ側で動くHTMLやJavaScriptコンポーネントを表しています。

SproutCoreを使ったアプリケーションでは、サーバ側のプログラムはModelの一部という扱いになると思います。