TideSDK | Create multi-platform desktop apps with HTML5, CSS3 and JavaScript
- デスクトップアプリを作るためのツールキット
- クロスプラットフォーム(Win, Mac, Linux)
- HTML5, CSS3, Javascrptでつくる
- Ruby, Python, PHPも使用可能
TideSDK 1.3.1 beta ではRuby 1.8.7のみサポート(Win, OS X)
http://tidesdk.multipart.net/docs/user-dev/generated/#!/guide/using_ruby-section-5
簡単なアプリ程度なら十分使えるので、割り切るか。 主要な処理はWeb側で行って、ローカルはファイル操作や表示などにするか。
ドキュメントはこちら
http://tidesdk.multipart.net/docs/user-dev/generated/
(JSDuck製のドキュメント良いなあ…)
大体ドキュメント見ればわかるので、補足説明だけ書く。
- SDK本体とDeveloperの両方必要。Developerがあると色々と楽。
- HelloWorld
- サンプルコードがGithubにあるので取ってくる
- 他のサンプルはこちら
- デフォルトでは、アプリは最初に
Resources/index.html
を参照する。- manifestファイルで変更可能
- 内部のリンクは、"app://"で指定可能。Resourcesフォルダがrootになる
- パッケージ化
- パッケージ化は、Mac用ならMac上で、Windows用ならWindows上で、Linux用ならLinux上でそれぞれ行う必要がある。
- CLIで行う方法もある
ドキュメント
http://tidesdk.multipart.net/docs/user-dev/generated/#!/guide/using_ruby
前述のとおり、Rubyバージョンは以下のようになっている。
- Win, OS X -> 1.8
- Linux -> 1.9
クロスプラットフォームアプリ作るなら1.8で書くのが妥当か。
使う前に、manifestファイルにRuby使うことを記載する。 でもDeveloperで設定するほうが楽。'Project Properties' -> 'Language Modules'でRubyをチェック。
次のような感じで書く。
<script type="text/ruby">
def hello(name)
"Hello, " + name
end
</script>
<div id="greeting"></div>
<script>
document.getElementById("greeting").innerHTML = hello("world");
</script>
外部ファイルを読み込むこともできる。以下は同義。
<script type="text/ruby" src="myfile.rb"/>
<script type="text/ruby">
require 'myfile.rb'
</script>
javascriptとデータの受け渡しもできるみたいだ
だいたいここに書いてある
danielbayerlein/tidesdk-template#1
- bundlerを使うので、Gemfileを作る
bundle init
- Rubyは1.8.7
- Resourceフォルダ内にbundle install
bundle install --path Resource/ruby/gems
- パッケージ化するのでResourceフォルダに入れないといけない
- .bundle/configが作られたら、次回からは
bundle
のみでOK
- requireするために、先ほどのgemsフォルダを登録
require 'rubygems'
gem_path = File.join(
File.expand_path(File.dirname(Ti.App.getPath)),
'../Resources/ruby/gems/ruby/1.8'
)
Gem.use_paths(gem_path)
- Developerで実行!