Titanium Desktopを使って、Python呼び出しはどれだけ楽か?
Titanium Desktopが Python, Ruby, PHPで呼び出すGUI開発に便利だよ〜と言う記事を前に読みまして、どれだけ便利かインストールして試してみました。
- Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その1 - 仙台 Rails Vim JavaScript社長
http://d.hatena.ne.jp/yuichi_katahira/20100219/1266605194 - Appcelerator Titanium DesktopでRuby,Python,PHPを使ったお手軽デスクトップアプリ開発その2 - 仙台 Rails Vim JavaScript社長
http://d.hatena.ne.jp/yuichi_katahira/20100221/1266782806 - PythonでGUIやるならTitaniumがよさそう ~ Twitterクライアント作ってみた
http://d.hatena.ne.jp/miz_tech/20100304/1267676186 - titanium-desktop-doc-ja - Project Hosting on Google Code
http://code.google.com/p/titanium-desktop-doc-ja/
Titanium Desktopが どんなものか?どんな事が出来るか?については、上のWeb siteを見た方が良いでしょう。
ここでは、Pythonとの連携性がどれだけのものか、自分で試してみたメモです。
インストール
Titanium Desktopを使った開発を行うには、本家でセットアップをダウンロードしてインストールします。
- Download Titanium | Appcelerator
http://www.appcelerator.com/products/download/
の真ん中辺りに、Windows / Linux / Mac OSXの三種類のセットアップが用意されているので、ダウンロードして実行&インストールします。
ちなみに、Windows版のセットアップのサイズは5〜6MB程度でした。
(バックグランドで本体をダウンロードしているんでしょう)
プロジェクトの新規作成
インストールが完了したら、スタートメニューからTitanium Developerを起動して、プロジェクトを新規作成します。
上のLinkの説明でも書いてありますが、このTitanium Developerアプリケーションはプロジェクトの管理能力しか無いようで、Visual StudioやDelphiのようなポトペタ開発は出来ません。あしからず。
(ソース管理や編集も出来ません。かなり潔いです)
まずは、画面上部の「New Project」アイコンをクリックしますと、プロジェクトの設定を求められますので適当に入力します。
7 posted by (C)wacky
気をつけるべき点は、「Project Type」を「Desktop」に設定する事と、「Directory」でプロジェクトの保存フォルダを指定する事、「Language Modules」に使用する言語にチェックする事でしょうか。
入力後、「Create Project」をクリックすると、プロジェクトの作成はOKです。
後から設定を変更したかったら、左欄の「PROJECTS」欄に表示されているプロジェクトを指定しつつ「Edit」欄をクリックすると表示される項目を修正して、「Save Changes」すればOKのようです。
とりあえず動かす
先ほど作ったプロジェクトから、いきなり動かす事ができます。
「Test & Package」を選択し、「Launch App」ボタンを押すと、何やらビルドが始まります。
2 posted by (C)wacky
ちょっと待っていると、以下のような「Welcome Titanium」アプリケーションが起動します。
3 posted by (C)wacky
ちなみにビルドすると、プロジェクトのフォルダ下に、「dist\win32\<プロジェクト名>
」というサブフォルダが出来て、そこに実行バイナリが出来ています。
これをダブルクリックするだけでも、簡単に動作させる事が出来ます。
出来たアプリケーションをチェックしてみたんですが、Webkit.dllやPython25.dllの他、色んなDLLが起動しています。
その割には、起動は まぁまぁ早いです。(代わりに、終了が遅い。自分のボロマシンだと2〜3秒程度待たされる)
Pythonコードを組み込む
さて、先のテンプレートアプリケーションに、Pythonを呼び出すコードを組み込んでみます。
「Resources」フォルダに「index.html」ファイルがあり、これがアプリケーションの外見を司りますので、一部いじりましょう。
index.html:
<html> <head> <title>hello Titanium</title> <script type="text/python" src="test.py"></script> </head> <body style="background-color:#1c1c1c;margin:0"> <div style="border-top:1px solid #404040"><div style="color:#fff;;padding:10px">Welcome to Titanium</div></div> <input type="button" onclick="test_call()" value="RUN"></input> </body> </html>
やっている事は、「RUN」という名前のボタンを設置し、それが押されたら「test_call()」メソッドを呼び出すというものです。
次に、「test_call()」メソッド本体を、Python言語で記述します。
これは、「test.py」という名前にしました。
test.py:
from winsound import * def test_call(): MessageBeep() #test_call()
やっている事は、単にサウンドを鳴らすだけです。
再度「Launch App」でビルドして動かします。
6 posted by (C)wacky
「RUN」ボタンを押すと、「ポン」「ポン」と音が鳴り、ちゃんと呼び出されている事が判ります。