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にはがんばって欲しい。
Daily Archives: Thursday, May 3, 2007
Railsでデスクトップアプリを作ってみる [OSX編]
色々試行錯誤した結果、Slingboxでアプリケーションを作ることができました。 ActiveScaffold (旧AjaxScaffold)で作った簡単なアドレス帳をサンプルアプリケーションにSlingshotの使い方を見てみましょう。 作業その0 元となるRailsアプリケーションを作る 今回は元となるアプリケーションはActiveScaffoldで、さくっと作ってみます。 $ rails slingshot1 -d sqlite3 $ cd slingshot1 ./script/plugin install http://activescaffold.googlecode.com/svn/tags/active_scaffold $ ./script/generate model address name:string address:string mail:string $ rake db:migrate $ ./script/generate controller address $ echo “class AddressController < ApplicationController;active_scaffold :address;end" > app/controllers/address_controller.rb $ echo ‘< %= javascript_include_tag :defaults %>< %= active_scaffold_includes %> < %= yield %>‘ >… Read more »
