SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Titanium Mobileで遊んで
         みた
  スマートフォン勉強会@関西#16
大阪電気通信大学 寝屋川駅前キャンパス
        2011/7/2
はじめまして、こんにちは
 こんにちは、津守です。
 大学生のような生き物です。
 いつもはC++
 モバイルプラットフォームはWindows系
  さいきんiPhone

 今日はTitanium Mobileで遊んでみようと思います。
Titanium Mobileってなぁに?
 JavaScriptでモバイルアプリケーションを開発できる便利な
 の

 iPhone/iPad/Androidのアプリケーションが作れます
  最近BlackBerryにも対応しました。
  Phone7にも対応する気はあるみたい
 OSごとにObjective-C/Java/C#を書き分けなくていい
 軽いアプリケーションならOSごとの開発言語で本気出さなく
 ていいのでお手軽
せっかくなので導入編から
導入編
 Titanium Studioをダウンロードする!
  http://www.appcelerator.com/products/titanium-studio/
 インストールする!
  Windows7の非管理者アカウントだと挙動が微妙

 起動する!
 アカウント作る!
 ログインするとIDEがそこに!
Titanium Studio
 Titaniumの開発環境。
 Titanium Mobileもこれ。
 Aptana StudioというIDEがベース。
   Aptana StudioはEclipseがベース。
     ようするにJava

 ビルドとかデバッグとかできます。
   ちなみにデバッグは有料です。
Demo
 導入編
アプリを作ってみました
 とりあえず簡単なもの!
 ということで、携帯百景アプリ作ってみました。
 起動→撮影→投稿の簡単設計
携帯百景
 携帯から写真をアップロードして共有するサービス
 わりとゆるふわな感じ
 投稿はすべてメールで
 SMTP書きたくないのでAPI作りました
携帯百景API
 正式に一般向けに公開されてるのはないみたい
 不便なので野良APIを作りました。
  http://www2.refy.net/api/movapic/uploadAndPost
 Twitpicの昔のAPI風味です
 リクエストすると裏でSMTPを喋ってます
 運営のうさぎさんに無許可でやってるのであれげかも
Titanium Mobileでカメラアクセス
 Titanium.Media.showCamera()
   これを呼ぶだけ。とても簡単。
 成功、エラー、キャンセルにイベントハンドラ渡すと呼んでく
  れます。

 あとは細かい設定がいくつか。
ギャラリーアクセス
 カメラのついでにフォトギャラリー。
 Titanium.Media.openPhotoGallery()
   呼ぶだけ簡単。
 ハンドラその他はカメラとほとんど共通
 らくちん!
HTTP通信
 JavaScriptなのでXHR風味ですよ!
 var xhr = Ti.Network.createHTTPClient();
   こんな感じで生成します。
 あとはonloadとかくっつけてsendするだけ。
 みなさんの慣れた環境と同じです
ロケーションアクセス
 Titanium.Geolocation.addEventListener('location‘, cb);
 イベントハンドラをつけます。
 定期的にコールバックが呼ばれます
 位置情報がゲットできます!
 簡単です
UIの設計
 これが面倒。
 Titanium.UI.createButton(), etc… で必死生成します。
 XMLでUI作ったりするソリューションもあるます
 ですが使ったことないので割愛…
JavaScriptはどうなるか
 iOSの場合
  コンパイル時にJavaScriptのコードはすべてObjective-Cへ変
   換されます
  変換されたコードはTitanium Mobileのライブラリとまとめてネ
   イティブコードへ

 Androidの場合
  JavaScriptのまま実機上で実行されます
  スクリプト実行が制限されていないので、Google V8エンジン
   で実行されてるらしいです。
JavaScriptとして
 プロトタイプ使えます
 newその他 もちろんおっけーです。
 jQueryとかもがんばれば動きます
  documentとかwindowとかを定義してほげるそうです

 命名とかもだいたいDOMっぽくしてるようで、挙動もあわせ
 てあります

 JavaScriptやったことある人がみるとそんなに困らないので
 はないかなという印象
気になる実行速度
 iPhoneのばあい
    Objective-Cになるのでそこそこ早いです。
    TableViewがもたつきます。
    それ以外はわりといい感じに動きます。
    その代わりメモリをがっばああああととるみたい。

 Androidのばあい
  インタプリタなのでわりと遅めかと思いきやそうでもない
  がんばれてる印象
  書き分けめんどくさくてあんまり使ってない…
困ったところ
 iOS向けのビルドがMacでしかできない
 デバッグするのにお金払わないといけない
 UIに互換性がわりとなくて結局書き分け
 ところどころ挙動がおかしいことがしばしば
Demo
アプリつくったよ!
まとめ
 JavaScriptで開発できるのはとても便利です
 特にObjective-CとJavaやらなくていいのはうれしい
 実行速度はそれなり。がんばっても勝てない面はある。
 開発はTitanium Studioがリリースされてだいぶ楽に。
 UI設計をぽとぺたでできるようになるともっと便利になりそう。

Contenu connexe

En vedette

せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなしYutaka Tsumori
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSHYutaka Tsumori
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Yutaka Tsumori
 
Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完Yutaka Tsumori
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJavaYutaka Tsumori
 
TodayでLDR読んでみよう
TodayでLDR読んでみようTodayでLDR読んでみよう
TodayでLDR読んでみようYutaka Tsumori
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_likeYutaka Tsumori
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとYutaka Tsumori
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!Yutaka Tsumori
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとかYutaka Tsumori
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないためにYutaka Tsumori
 

En vedette (15)

すまべん関西#18
すまべん関西#18すまべん関西#18
すまべん関西#18
 
せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなし
 
Aristeaのこと
AristeaのことAristeaのこと
Aristeaのこと
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSH
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
 
Wpdd lt
Wpdd ltWpdd lt
Wpdd lt
 
Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJava
 
TodayでLDR読んでみよう
TodayでLDR読んでみようTodayでLDR読んでみよう
TodayでLDR読んでみよう
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
 
PhoneからPCへ。
PhoneからPCへ。PhoneからPCへ。
PhoneからPCへ。
 
EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!EclipseもXcodeも窓から投げ捨てろ!
EclipseもXcodeも窓から投げ捨てろ!
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとか
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
 

Similaire à Titanium mobileで遊んでみた

Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Atsushi Harada
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよNaruto TAKAHASHI
 
モバイルアプリ開発最前線(PhoneGap)
モバイルアプリ開発最前線(PhoneGap)モバイルアプリ開発最前線(PhoneGap)
モバイルアプリ開発最前線(PhoneGap)Akihiro Matsumura
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会Rei Matsushita
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalkShozo Okada
 
WCAN Autumn 2013 Titaniumのおはなし
WCAN Autumn 2013 TitaniumのおはなしWCAN Autumn 2013 Titaniumのおはなし
WCAN Autumn 2013 TitaniumのおはなしMori Shingo
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜Yuka Tokuyama
 
iPhone での旬なWeb開発 (jQTouch編)
iPhone での旬なWeb開発 (jQTouch編)iPhone での旬なWeb開発 (jQTouch編)
iPhone での旬なWeb開発 (jQTouch編)dora_kou
 
Mochrom - スマートフォンビジネスサミット
Mochrom - スマートフォンビジネスサミットMochrom - スマートフォンビジネスサミット
Mochrom - スマートフォンビジネスサミットKatsuaki Sato
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBMToshiki Tsuboi
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料Monaca
 
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況 Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況 Masakazu Muraoka
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Yoshito Tabuchi
 
Windows PhoneについてGdgd話すよ
Windows PhoneについてGdgd話すよWindows PhoneについてGdgd話すよ
Windows PhoneについてGdgd話すよKenji Wada
 

Similaire à Titanium mobileで遊んでみた (20)

Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
About Titanium Mobile
About Titanium MobileAbout Titanium Mobile
About Titanium Mobile
 
モバイルアプリ開発最前線(PhoneGap)
モバイルアプリ開発最前線(PhoneGap)モバイルアプリ開発最前線(PhoneGap)
モバイルアプリ開発最前線(PhoneGap)
 
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
T itanium概要
T itanium概要T itanium概要
T itanium概要
 
titanium_outline20111227
titanium_outline20111227titanium_outline20111227
titanium_outline20111227
 
WCAN Autumn 2013 Titaniumのおはなし
WCAN Autumn 2013 TitaniumのおはなしWCAN Autumn 2013 Titaniumのおはなし
WCAN Autumn 2013 Titaniumのおはなし
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
Titanium実装最初の一歩.
Titanium実装最初の一歩. Titanium実装最初の一歩.
Titanium実装最初の一歩.
 
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜実装だって楽したい!〜リアルタイム通信はじめの一歩〜
実装だって楽したい!〜リアルタイム通信はじめの一歩〜
 
iPhone での旬なWeb開発 (jQTouch編)
iPhone での旬なWeb開発 (jQTouch編)iPhone での旬なWeb開発 (jQTouch編)
iPhone での旬なWeb開発 (jQTouch編)
 
Mochrom - スマートフォンビジネスサミット
Mochrom - スマートフォンビジネスサミットMochrom - スマートフォンビジネスサミット
Mochrom - スマートフォンビジネスサミット
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況 Android webブラウザのhtml5対応状況
Android webブラウザのhtml5対応状況
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
 
Windows PhoneについてGdgd話すよ
Windows PhoneについてGdgd話すよWindows PhoneについてGdgd話すよ
Windows PhoneについてGdgd話すよ
 

Plus de Yutaka Tsumori

Plus de Yutaka Tsumori (14)

Buri2019
Buri2019Buri2019
Buri2019
 
Setsな話
Setsな話Setsな話
Setsな話
 
XAMLで条件分岐
XAMLで条件分岐XAMLで条件分岐
XAMLで条件分岐
 
BuriKaigi2018
BuriKaigi2018BuriKaigi2018
BuriKaigi2018
 
Blync light for HACK
Blync light for HACKBlync light for HACK
Blync light for HACK
 
Windows phoneの新しい通知api
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知api
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄
 
Twitter Client for ZSH (2)
Twitter Client for ZSH (2)Twitter Client for ZSH (2)
Twitter Client for ZSH (2)
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!
 
たのアプLt
たのアプLtたのアプLt
たのアプLt
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++
 
よくわかるMPNS
よくわかるMPNSよくわかるMPNS
よくわかるMPNS
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9
 
Sumaben#11
Sumaben#11Sumaben#11
Sumaben#11
 

Titanium mobileで遊んでみた