Sproutitは18日(米国時間)、SproutCoreの最新版となるSproutCore 0.9.10を公開した。もともと予定されていなかったリリースだが、コントリビュートされたパッチが優れたものであったことからSproutCore 1.0の前に今回のバージョンがリリースされることになった。正式なメジャーリリース前であるだけにまだ開発者の注目を集めていないかもしれないSproutCoreだが、場合によっては今後JavaScriptフレームワーク競争の一翼をになう存在になるかもしれない。

SproutCore - CocoaのパワーとRailsの開発性をWebアプリへ

SproutCoreはJavaScriptで開発されたRIA Webアプリケーション開発向けフレームワーク。Cocoaに触発されて開発されたフレームワークで、少量のソースコードで価値の高いアプリケーションを開発できるように工夫されている。開発ツール自身はRuby on Railsのような作りになっており、Railsのような流れで100% JavaScriptなRIAアプリケーションが開発できるという仕組みになっている。

SproutCoreはこれまでのJavaScript Ajaxフレームワークと異なり、完全にWebブラウザで動作することを前提にして設計されている。Mac OS XにおいてCocoaを使ってデスクトップアプリケーションを開発する要領で、SproutCoreを使ってWebアプリケーションを開発できるというわけだ。もちろんサーバと通信してデータを操作することも可能だし、オンメモリデータベースを実装してあるというのも特徴的なところだ。ローカルのストレージとやりとりしてパーマネントにデータを保持することもできる。

先日、WWDC 08において3G対応iPhoneの発表と同時に.MacをiPhone向けに焼き直したMobileMeが発表された。このMobileMeには早期バージョンのSproutCoreが採用されている。MobileMeはSproutCoreが採用された一例というわけだ。開発者であるCharles Jolley氏はもともと電子メール管理WebアプリMailroomを開発する目的でSproutCoreの開発に着手したのだが、同氏は.MacのデベロッパとしてAppleに雇用されることになった。これら事実から、Appleは今後開発するWebアプリケーションにSproutCoreを採用する可能性が高い。

SproutCoreデモンストレーション動作例

FlashやFlex、Silverlightと比較した場合、SproutCoreを使ったWebアプリケーションはWebブラウザだけあれば実行できるという点が有利に働く。同様の取り組みとしてはObjective-Jがあるものの、こちらはJavaScriptそのものではなくObjective-CのアイディアをJavaScriptに取り込んだ別の言語だ。SproutCoreとは手段が若干異なる。しかし、CocoaをWebアプリケーションに適用するという発想は同じだ。

AppleはデスクトップアプリのWindowsへの展開を進めている。つまりCocoaでデスクトップ(Windows/Mac OS X)、SproutCoreでWebアプリケーションへの展開を進めることになるというわけだ。その点においてSproutCoreはAppleの支援を得て今後も成長が期待できるフレームワークであり、動作の実用度によっては一気に人気を集める可能性がある。