レポート

プログラミング生放送勉強会 第14回@品川 レポート

この記事を読むのに必要な時間:およそ 4 分

JavaScriptだけでAndroid/iPhoneアプリを作れるTitanium Mobileの紹介

Appcelerator社の増井 雄一郎@masuidriveさんからは,JavaScriptでAndroidやiPhoneアプリ開発を可能にするTitanium Mobileについて紹介していただきました。

図8 JavaScript だけで Android/iPhone アプリを作れる Titanium Mobile の紹介

図8 JavaScript だけで Android/iPhone アプリを作れる Titanium Mobile の紹介

Titanium Mobile

スマートフォンのアプリ開発を考えた時,各プラットフォームでObjective-CやJavaなど開発環境が異なります。そういった場合にHTML5を利用してWebアプリとして作る方法がひとつあります。ただし,HTML5は進化の途中であり,スマートフォンの進化に比べ遅く,また,ストアにアプリを登録できない問題があります。Titanium Mobileは,Objective-CやJavaを覚えるのは辛いけどアプリを作りたい場合に,JavaScriptのみでアプリを開発できるツールです。UIもJavaScriptで記述します。

Titanium MobileはHTML5と競合するものかというと,そうではなく同時に使うことが多いとのこと。たとえば,アニメーションやグラフの描画などはHTML5で記述し,スマートフォンのネイティブ部分はTitanium Mobileで記述するなど混在して使います。

現在どの程度Titanium Mobileが使用されているかというと,30万以上のユーザー,3万5000以上のTitanium Mobileによるアプリがストアに登録されているとのこと。セッションでは,実際の事例も紹介しています。

モバイルアプリに大切なこと

Appcelerator社は,モバイルアプリには大切なこととして,どのようなアプリであるかということの次に,ユーザーエクスペリエンスを大切にしているとのことです。クロスプラットフォームで同じ見た目のUIではなく,Titanium Mobileでは,Android・iPhoneアプリそれぞれのネイティブのUIを活かせます。

ひとつ書くとどこでも動くことを目指すのではなく,Write once, adapt any ware(ひとつ書くといろいろな環境に適用させることができる)であり,ユーザーがアプリのUIに体を慣らすのではなく,ユーザーの慣れたUIを提供するために,プログラムによるコストはある程度必要である考えでTitanium Mobileは作られています。つまり,ある程度の書き分けは必要です。

Titanium Mobileのアーキテクチャーは図9のようになっています。アプリのパッケージ内にJavaScriptのインタプリタ―があり,ネイティブのAPIを呼びます。たとえば,タブUIを表示するという同じコードでも,実行するプラットフォームによって結果が異なります。

図9 Titanium Mobileのアーキテクチャー

図9 Titanium Mobileのアーキテクチャー

できること・できないこと

Titanium Mobileを利用すると,ネイティブUIやマルチメディアなど,ほぼすべての機能を使えます。ただし,当然ながら犠牲にしている点もあり,Titanium Mobileが苦手としていることは線を引くなど描画系のコマンドが弱いとのこと。また,JavaScriptの制限により,非常にリアルタイム性の高いものや,スプライトエンジンなども用意されていないためゲームなどにも標準機能では向いていません。しかし,Objective-CやJavaで拡張するModuleという機能が用意されています。クロスプラットフォーム性はくずれますが,画像処理など高速な処理が求められる部分のみModuleとして用意して使えます。Moduleのストアも用意されています。

Titanium MobileのゲームエンジンのModule「QuickTiGame2d」を利用して,ゲームを作成された方が参加者にいて,突発的にデモをしてもらう場面もありました図10⁠。

図10 QuickTiGame2dを使ったゲームデモ

図10 QuickTiGame2dを使ったゲームデモ

セッションでは,以上のほかにも,どのようにアプリを開発していくかについてサンプルコードもまじえて紹介しています。

Javascript だけで Android/iPhone アプリを作れる Titanium Mobile の紹介

ニコニコ動画:https://www.nicovideo.jp/watch/sm17500920

参加者の質問の中で,反応が一番大きかったのは,Titaniumの読み方だったように思います。英語では,タイタニウム・チタニウムどちらでもなく,日本語での読みを決めるときに,チタンやチタニウムで検索すると,車のパーツや時計の情報が多く,⁠ggrビリティ⁠を考えてタイタニウムにしたとのことです。

ライトニングトーク大会

セッションの最後には,参加者の方にライトニングトークをしていただきました。タイトルと発表者のお名前だけ紹介します。これらもニコニコ動画で視聴できるようになっています。ぜひご視聴ください。

  • 「Corona SDKのご紹介⁠@uzuki_aobaさん
  • 「Processing for Android⁠@oidong1さん
  • 「磯野!Processingやろうぜ!⁠@sattch02さん
  • 「Liveterm⁠@KOBA789さん
  • 「Python Meets MongoDB⁠@yosida95さん
  • 「ニコ動に同時ログインしよう⁠@daisuke_nomuraさん
  • 「PSVITA開発のすゝめ⁠@takutokさん
  • 「IEのクッキーをてへぺろ☆⁠@kanaharuさん

ライトニングトーク プロ生勉強会 第14回@品川 #pronama

ニコニコ動画:https://www.nicovideo.jp/watch/sm17501045

おわりに

今回 参加していただいた皆様,ありがとうございました。今後もプログラミング生放送勉強会は,各地で開催を予定していますので,参加お待ちしています。

プログラミング生放送の情報は,コミュニティページBlogそしてTwitter図11で配信しています。こちらもチェックしてくださいね。

図11 プロ生ちゃん

図11 プロ生ちゃん