Posted filed under Ruby on Rails.

 Atlanta Ruby Users Groupのミーティングで、Slingshotの話しが出たらしく、The Armchair Politician :: Joyent Slingshot a Disappointmentにまとめられていました。

 そこで、下記のような利点と欠点がリストアップされていて、ほとんど同じ事を感じたので、ちょっと約してみました。(一部意訳、括弧内は私のコメント)

利点:

  • オブラインモードの時に、ローカルキャッシュにデータを残せる
  • Qt/GTK/Win32/Cocoaではなく、HTMLとrailsだけでローカルアプリケーションを作ることができる

欠点:

  • 同期に関する問題
  • パッケージ(ruby + rails + gems + アプリケーション + slingshot)で100Mを超える
  • ブラウザのコントロールができない (戻るとか更新の事だと思う)
  • PostgreSQL, MySQLなどを使うことができない

心配、見つけた潜在的問題、そして現実:

  • 同時に複数のSlingshotアプリケーションを起動できない (全部3000番ポートで起動されるから これはすぐ直るはず)
  • OSネイティブの機能をサポートしていない (Multi-platformを目指してるなら難しいのでは?)
  • script/serverをホントに起動してる所やデータベースのコピーをローカルに持ってることに失望した (ほんとにそう思うw はじめはJRubyで仮想化っぽいことをしてるのかと思ってた)

 これ以外に、利点としてドラッグアンドドロップのサポートが上げられると思う。これをブラウザでやるのは結構面倒だから。
 特に一番最後のscript/serverを呼んでるところは、ほんとがっかりした。実物を見るまではJRubyで動いてて、サーバまでを全部Slingshot内で処理してるんだと思ってた。この方式だとRailsプロセスと、フロントエンドのプロセスが別々なので、Slingshotがそのプロセス管理をちゃんとできないと、本体は終了したのにRailsプロセスがゾンビで残ってる、っていう事になりかねないな。

 ここから、プロダクトレベルまで仕上げるには、まだまだ道のりが長そうだけど、こういう製品はぜひ欲しいので、Joyentにはがんばって欲しい。

2 Responses to “Slingshotの評判”

  1. ゆきち

    たぶん、これに対抗することになるのは、MozillaでいえばXUL Runnerになるかなと思うのですが、XULの場合、XPCOMというレイヤーを挟んで、マルチプラットフォームで使うべき物はそこで抽象化しています。ただ、そこにOSネイティブな機能をはさむこともできて、特定OSの機能を援用したツールを作ることもできます(実際、Firefox 拡張の一部は、Windowsでしか動きません)。Slingshotがどうなるかは知りませんが、そういう方法もあるということで。

  2. masuidrive

    実際Firefox3はXUL Runner的機能を標準装備するんですよね。
    ほとんどの場合、RubyでGUI以外で互換性が問題になることあるかなぁ?あとはプロセス管理?
    ああ、レジストリとかユーザ管理もあるか。でもそこはRubyが全部入ってるから、Win32APIモジュールとかで、どうにかならないかな?