Titanium mobileで遊んでみた

1,607 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,607
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Titanium mobileで遊んでみた

  1. 1. Titanium Mobileで遊んで みた スマートフォン勉強会@関西#16大阪電気通信大学 寝屋川駅前キャンパス 2011/7/2
  2. 2. はじめまして、こんにちは こんにちは、津守です。 大学生のような生き物です。 いつもはC++ モバイルプラットフォームはWindows系  さいきんiPhone 今日はTitanium Mobileで遊んでみようと思います。
  3. 3. Titanium Mobileってなぁに? JavaScriptでモバイルアプリケーションを開発できる便利な の iPhone/iPad/Androidのアプリケーションが作れます  最近BlackBerryにも対応しました。  Phone7にも対応する気はあるみたい OSごとにObjective-C/Java/C#を書き分けなくていい 軽いアプリケーションならOSごとの開発言語で本気出さなく ていいのでお手軽
  4. 4. せっかくなので導入編から
  5. 5. 導入編 Titanium Studioをダウンロードする!  http://www.appcelerator.com/products/titanium-studio/ インストールする!  Windows7の非管理者アカウントだと挙動が微妙 起動する! アカウント作る! ログインするとIDEがそこに!
  6. 6. Titanium Studio Titaniumの開発環境。 Titanium Mobileもこれ。 Aptana StudioというIDEがベース。  Aptana StudioはEclipseがベース。  ようするにJava ビルドとかデバッグとかできます。  ちなみにデバッグは有料です。
  7. 7. Demo 導入編
  8. 8. アプリを作ってみました とりあえず簡単なもの! ということで、携帯百景アプリ作ってみました。 起動→撮影→投稿の簡単設計
  9. 9. 携帯百景 携帯から写真をアップロードして共有するサービス わりとゆるふわな感じ 投稿はすべてメールで SMTP書きたくないのでAPI作りました
  10. 10. 携帯百景API 正式に一般向けに公開されてるのはないみたい 不便なので野良APIを作りました。  http://www2.refy.net/api/movapic/uploadAndPost Twitpicの昔のAPI風味です リクエストすると裏でSMTPを喋ってます 運営のうさぎさんに無許可でやってるのであれげかも
  11. 11. Titanium Mobileでカメラアクセス Titanium.Media.showCamera()  これを呼ぶだけ。とても簡単。 成功、エラー、キャンセルにイベントハンドラ渡すと呼んでく れます。 あとは細かい設定がいくつか。
  12. 12. ギャラリーアクセス カメラのついでにフォトギャラリー。 Titanium.Media.openPhotoGallery()  呼ぶだけ簡単。 ハンドラその他はカメラとほとんど共通 らくちん!
  13. 13. HTTP通信 JavaScriptなのでXHR風味ですよ! var xhr = Ti.Network.createHTTPClient();  こんな感じで生成します。 あとはonloadとかくっつけてsendするだけ。 みなさんの慣れた環境と同じです
  14. 14. ロケーションアクセス Titanium.Geolocation.addEventListener(location‘, cb); イベントハンドラをつけます。 定期的にコールバックが呼ばれます 位置情報がゲットできます! 簡単です
  15. 15. UIの設計 これが面倒。 Titanium.UI.createButton(), etc… で必死生成します。 XMLでUI作ったりするソリューションもあるます ですが使ったことないので割愛…
  16. 16. JavaScriptはどうなるか iOSの場合  コンパイル時にJavaScriptのコードはすべてObjective-Cへ変 換されます  変換されたコードはTitanium Mobileのライブラリとまとめてネ イティブコードへ Androidの場合  JavaScriptのまま実機上で実行されます  スクリプト実行が制限されていないので、Google V8エンジン で実行されてるらしいです。
  17. 17. JavaScriptとして プロトタイプ使えます newその他 もちろんおっけーです。 jQueryとかもがんばれば動きます  documentとかwindowとかを定義してほげるそうです 命名とかもだいたいDOMっぽくしてるようで、挙動もあわせ てあります JavaScriptやったことある人がみるとそんなに困らないので はないかなという印象
  18. 18. 気になる実行速度 iPhoneのばあい  Objective-Cになるのでそこそこ早いです。  TableViewがもたつきます。  それ以外はわりといい感じに動きます。  その代わりメモリをがっばああああととるみたい。 Androidのばあい  インタプリタなのでわりと遅めかと思いきやそうでもない  がんばれてる印象  書き分けめんどくさくてあんまり使ってない…
  19. 19. 困ったところ iOS向けのビルドがMacでしかできない デバッグするのにお金払わないといけない UIに互換性がわりとなくて結局書き分け ところどころ挙動がおかしいことがしばしば
  20. 20. Demoアプリつくったよ!
  21. 21. まとめ JavaScriptで開発できるのはとても便利です 特にObjective-CとJavaやらなくていいのはうれしい 実行速度はそれなり。がんばっても勝てない面はある。 開発はTitanium Studioがリリースされてだいぶ楽に。 UI設計をぽとぺたでできるようになるともっと便利になりそう。

×