「Titanium」とは
「Titanium 」は、Appcelerator社が開発・提供しているWeb技術をベースとしたアプリケーション開発プラットフォームです。JavaScriptやHTML5、CSS3などのWeb技術を利用して、AndroidやiOSなどのモバイルプラットフォームを対象としたネイティブアプリケーションや、HTML5対応ブラウザ向けのWebアプリケーションを開発することができます。Titaniumのための開発環境としては、Titanium SDK およびTitanium Studio が用意されています。Titanium StudioはEclipseベースの統合開発環境であり、JavaScriptを使ったモバイルアプリケーション開発をサポートする各種機能を備えていることに加え、Appcelerator Open Mobile Marketplace によって簡単に拡張機能を追加することができるようになっています。
Titaniumを使うメリットは、複数のモバイルプラットフォームを対象としたアプリケーションを、JavaScriptをベースとした共通のコードで開発できることです。プラットフォームごとにJavaやObjective-Cなどの言語を使い分ける必要がないため、開発コスト/学習コストを大幅に削減することができます。
開発はJavaScriptベースのWeb技術で行いますが、ネイティブアプリケーションの場合には実際に端末で動作する際にはネイティブコードに変換されるため、JavaやObjective-Cなどで開発されたアプリケーションと遜色のない実行速度を実現している点も大きな特徴となっています。それに加えて、デバイス固有の機能についてもほぼすべてを問題なく利用することができます。具体的には、次のような機能の利用がサポートされています。
カメラや加速度センサなどといったデバイスネイティブの機能
音声や動画の再生や録画、録音
HTTPClientによる通信
組込みデータベース
なお、Titaniumによるモバイルアプリの作成方法については「Titanium Mobileで作る! iPhone/Androidアプリ 」の連載も参考にしてください。
モバイルアプリ向けのバックエンドインフラを提供する「Appcelerator Cloud Services」
Appceleratorでは、Titanium 2.0のリリースと合わせて、新たなクラウドサービス「Appcelerator Cloud Services )」( 以下、ACS)をを発表しました。ACSは、モバイルアプリケーションと連携して動作するサーバ側の機能を提供するクラウドサービスです。モバイルアプリにおいてサーバ上へのデータのバックアップやソーシャルサービスとの連携、データプッシュ配信などといった機能を提供するには、通常であればサーバ側で動作するプログラムも用意しなければなりません。ACSでは、そのようなバックエンド向けの機能を、APIを使って呼び出すだけで利用することができます。
具体的には、Tire 1/Tire 2のカテゴリで次のような機能が提供されます。
Tire 1:
Users - ユーザ管理機能。ユーザ名やパスワードの登録や管理、認証など
Photos - 写真のアップロードや共有
Custom Objects - 任意のオブジェクトの保存、および検索
Push Notification - 端末へのメッセージのプッシュ配信
Email Templates - アプリからの電子メール送信機能に利用可能な組込みテンプレート
Key Values - 2MBまでのテキストおよびバイナリデータを保存可能なKey-Valueストレージ
Tire 2:
Places - 優れた検索機能を有する位置情報の保存
Status - ユーザのステータス管理
Posts - メッセージやレビューなどといったコンテンツの投稿機能。アプリのユーザ同士のコミュニケーションに利用できる
Clients - クライアント端末情報の管理
Social Integration - ソーシャルサービスとの連携。TwitterやFacebookのアカウントでのログインなどが可能
Check-Ins - 位置情報等を利用したチェックイン機能
Chats - 組込みのインスタントメッセンジャーを利用して複数ユーザによるチャット機能を提供できる
Photo Collections - 写真アルバム機能。写真のアップロードや共有に加えて、検索やインデックス管理などといった機能が提供される
Ratings, Reviews, & Likes - コンテンツやサービスに対する評価やレビューの機能が提供できる
上記に加えて、アプリケーションごとに利用状況などの分析を行える「Appcelerator Analytics」のサービスも利用することができます。
図 ACSで提供される各種機能
図 「 App EXPLOREプラン」ならば基本機能は無料で利用可能
Titanium 2.0には、ACSの各種機能を利用するためのJavaScript APIが統合されています。また、Titanium StudioにもACS利用のための支援機能が備わっています。それらのAPIや支援機能を使うことで、スタンドアロンのTitaniumアプリケーションを作成するのと同様の感覚で、ACSで提供されるクラウドサービスを利用することができるわけです。
その他に、ACSにはREST API、iOS(Objective-C)用API、Android(Java)用API、そして汎用のJavaScript APIが提供されており、Titaniumアプリケーション以外からも、通常のWebサービスと同様に利用することができるようになっています。
このようなモバイルアプリケーションのバックエンドの機能を提供するクラウドサービスはBaaS(Backend as a Service)と呼ばれています。BaaSを利用すれば、自前のインフラやプログラムを用意することなく、サーバと連携する機能を提供することができるようになります。そのため、モバイルアプリケーションの機能拡張や、開発効率の向上のための手段として注目されています。