Appirio's Tech Blog

2011年8月19日金曜日

Titanium Mobileで作るiPhone/iPad、Android向けSalesforce.com Chatterクライアント(1)

Titanium Mobile(タイタニウム・モバイル)は、モバイルデバイス(iPhone/iPad、Android)向けのネイティブアプリケーションを開発するためのプラットフォームです。
この記事では、このTitanium Mobileを紹介します。

以下のような特徴があります。

開発言語、サポートプラットフォーム
  • JavaScirptでアプリケーションを記述する。Objective-C、Java を修得しなくても、ネイティブアプリケーションを開発できる。
  • 複数のプラットフォーム(iOS、Android)をサポートしている。
実用性
  • iOSについては、プラットフォームのほとんどの機能をサポートしている。Androidは若干発展途上中。(2011/08現在)
  • 特に、ウェブサービスのフロントエンドに向いている。
  • メモリ使用量、動作速度は、素のアプリケーションより若干劣る。リアルタイム性を求められるアプリには不向き。
  • Titaniumがサポートしない機能を使いたい場合は、Objective-C、Javaで書いたモジュールで拡張可能。
統合開発環境(Titanium Studio)
  • EclipseベースのIDEで、コード補完やデバッガ、実機へのインストールなどをひとつの環境で開発サイクルのひととおりをカバーしている。

はじめてみよう

開発元のAppcelerator社のサイトに "Getting Started"ページがありますので参考にしてみてください。(2011/08現在の内容を元にしています)
  • iPhoneアプリの開発準備(※)
    iPhone/iPad アプリの開発には、iOSのDeveloperプログラムに加入し(有償)、XcodeとiOS SDKをセットアップする必要があります。
  • Androidアプリの開発準備(※)
    適合バージョンのJava2 SDK(JDK)、Android SDKのインストールおよびセットアップが必要です。
  • Titanium SDK / Titanium Studio
    開発元のAppcelerator社から提供されています。無料で使用できるエディションも用意されています。サイトでユーザー登録を行うと、ダウンロードできます。
(※)プラットフォームおよびSDKの適合バージョンについては、こちらを参照してください。 諸々のセットアップが終わったら、Titanium Studioを起動しプロジェクトを作成します。



メニューから、File > New > Titanium Mobile Project を選択します。



新しく作成されたプロジェクトには、いくつかのファイルやディレクトリが含まれています。 これらは、Titaniumアプリケーションのひな形となっています。



すでにこの時点で、エミュレータ(iPhoneシミュレータ/Androidエミュレータ。以降エミュレータと表記します)を使ってアプリケーションを確認することができます。
以下のような、簡素なアプリケーションが確認できると思います。

Resourcesディレクトリの下に app.js というファイルがありますが、そこにアプリケーションのコードが記述されています。コメントを除くと、正味40行程のコードです。
非常に直感的なので読めば何を書いてあるかわかると思いますが、タブ切替えのウィンドウ2枚で画面が構成されており、それぞれにラベルが配置されています。

アプリケーションの構造


ボタンをひとつ追加してみます。 クリックすると、おなじみのアラートボックスでメッセージを表示するためのシンプルなボタンです。
	var button1 = Titanium.UI.createButton({
		title:'Push me!!',
		width:160, height:20, top:220 });

	button1.addEventListener('click', function(){
		alert('Hello World!');
	});
	win1.add(button1);
結果は、以下のようになります。 コードは非常に簡単かつ直感的でUIを追加できます。また、文章ではわかりませんが、Titanium Studioのコード補完機能によりAPI呼出しなどもスムーズにコーディングできます。



簡単ですが、Titanium Mobileを紹介させて頂きました。 やはり一番の特徴は、JavaScriptで複数プラットフォームのネイティブアプリを記述できるところでしょうか。

ネイティブアプリの開発には、iOS(iPhone/iPad)では Objective-C、Androidでは Java といった言語を修得する必要があります。また、クオリティの高いアプリの開発には、それぞれのプラットフォームのデザインパターンを押さえる必要があるでしょうし、その上で機能やUX(User Experience)の実装という話しになるわけですから、習熟するにはそれなりの投資が必要になります。

Titanium Mobile向けに、「Kitchen Sink」というサンプルアプリケーションが公開されています。 これは、言わば『全部入り』のアプリケーションで、Titanium Mobile SDKで利用できるコンポーネントについて、ひと通り動作を確認することができる、というものです。

Kitchen Sink に含まれるサンプルのいくつか


慣れ親しんだJavaScriptでの開発、モバイルアプリケーション向けの各種部品とコードパターンにより、先の2つのステップの修得コストが下がります。このことにより、各プラットフォームに精通した熟練者でなくても、機能であったりUX(User Experience)といった、より本質的な部分への集中が、早い段階で可能になるのではないかと思います。

さて、付属のサンプルの紹介だけではもの足りませんので、Titanium Mobileを使って、簡単な Salesforce.com Chatter クライアントを作成してみました。次回は、これについて紹介させていただこうと思います。


Posted by Kohata Yoshifumi (Appirio Japan)

0 コメント:

コメントを投稿

 
2006-2011 Appirio Inc. All rights reserved.
アピリオ | リソースセンター(英語) | お問い合わせ先 | 採用情報 | プライバシーポリシー(英語)