Submit Search
Upload
Titanium勉強会
•
9 likes
•
2,907 views
洋平 前田
Follow
Titaniumの簡単な資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 112
Download now
Download to read offline
Recommended
GTMF 2015: Autodesk Maya;大人気!カスタム・グラフエディタと便利ツールをPythonで!! | ダイキン工業株式会社
GTMF 2015: Autodesk Maya;大人気!カスタム・グラフエディタと便利ツールをPythonで!! | ダイキン工業株式会社
Game Tools & Middleware Forum
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.
Yuki Higuchi
Extending the Unity Editor
Extending the Unity Editor
Masamitsu Ishikawa
Editor スクリプティング 入門
Editor スクリプティング 入門
Keigo Ando
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
はじめてのAndroid開発
はじめてのAndroid開発
Katsumi Honda
ゲームエンジンの文法【UE4】No.005 Gameplay Frameworkの理解
ゲームエンジンの文法【UE4】No.005 Gameplay Frameworkの理解
Tatsuya Iwama
Recommended
GTMF 2015: Autodesk Maya;大人気!カスタム・グラフエディタと便利ツールをPythonで!! | ダイキン工業株式会社
GTMF 2015: Autodesk Maya;大人気!カスタム・グラフエディタと便利ツールをPythonで!! | ダイキン工業株式会社
Game Tools & Middleware Forum
Android Lecture #04 @PRO&BSC Inc.
Android Lecture #04 @PRO&BSC Inc.
Yuki Higuchi
Android Lecture #02 @PRO&BSC Inc.
Android Lecture #02 @PRO&BSC Inc.
Yuki Higuchi
Extending the Unity Editor
Extending the Unity Editor
Masamitsu Ishikawa
Editor スクリプティング 入門
Editor スクリプティング 入門
Keigo Ando
Unity エディタ拡張
Unity エディタ拡張
Shota Baba
はじめてのAndroid開発
はじめてのAndroid開発
Katsumi Honda
ゲームエンジンの文法【UE4】No.005 Gameplay Frameworkの理解
ゲームエンジンの文法【UE4】No.005 Gameplay Frameworkの理解
Tatsuya Iwama
20120118 titanium
20120118 titanium
Hiroshi Oyamada
Titanium Mobile
Titanium Mobile
Naoya Ito
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Yoshito Tabuchi
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
Yoshito Tabuchi
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
How to django at first
How to django at first
Maito Kuwahara
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Shinya Nakajima
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
shigeya
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
インフラジスティックス・ジャパン株式会社
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
Hiroshi Sakate
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
0621 ndk game
0621 ndk game
cat kaotaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
More Related Content
Similar to Titanium勉強会
20120118 titanium
20120118 titanium
Hiroshi Oyamada
Titanium Mobile
Titanium Mobile
Naoya Ito
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Yoshito Tabuchi
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
Yoshito Tabuchi
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
Yuki Higuchi
How to django at first
How to django at first
Maito Kuwahara
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Tatsuya Ishikawa
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Yasuhiro Matsubayashi
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Shinya Nakajima
Android カスタムROMの作り方
Android カスタムROMの作り方
Masahiro Hidaka
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
shigeya
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
インフラジスティックス・ジャパン株式会社
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
Hiroshi Sakate
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
Jumpei Ogawa
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
0621 ndk game
0621 ndk game
cat kaotaro
Similar to Titanium勉強会
(20)
20120118 titanium
20120118 titanium
Titanium Mobile
Titanium Mobile
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
How to django at first
How to django at first
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Titanium実装最初の一歩.
Titanium実装最初の一歩.
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Visual Studio App Centerを公式サンプルアプリから学ぼうiOS(swift),Android(java)
Android カスタムROMの作り方
Android カスタムROMの作り方
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
Internet Explorer 9 の新機能「固定サイト」 (Pinned sites)
2013 Ignite UI 最新情報 in 岡山
2013 Ignite UI 最新情報 in 岡山
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
QML を用いた YouTube クライアントの作成 - 関東 Qt 勉強会
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
0621 ndk game
0621 ndk game
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版) 2024年4月作成
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
Titanium勉強会
1.
Titanium スマートフォン推進室→前田洋平
1
2.
Agenda • Titaniumって… • メリット・デメリット •
開発概要 • 屋久島クーポン実装方法 • iOS vs Android • まとめ 2
3.
Titaniumって…
3
4.
Titaniumって… •
Appcelerator 社が作ってます • 最新は2.1 GA(2012/07/30現在) • 開発環境はTitanium Studio(Eclipseが基です) • JavaScriptで書く • 1つのソースでiOS,Android同時に開発可能 • ただし、iOS >> Androidの出来具合 • Moduleを組み込むと標準で用意されている以上の事ができる(ネ イティブと同じことが出来る) • 無料・開発実績が豊富 4
5.
Titanium製アプリ • zaim(Android/iOS) • http://zaim.net/ •
cybozu live(Android/iOS) • https://live.cybozu.co.jp/ • mogosnap(iOS) • http://mogsnap.jp/ 5
6.
メリット・デメリット
6
7.
メリット •
無料 • 比較的書きやすいJavaScriptで書ける • 開発スピードUP(70% faster??) • GAみたいなのある(使わない方向) • やっている人が多い(情報が多い) • iOSで実装できることは大体できる(モジュール込) • 1つのソースでiOS,Android作れる • 1つのソースでiOS,Android作れる! • 1つのソースでiOS,Android作れる!! • 1つのソースでiOS,Android作れる!!! 7
8.
デメリット • Titaniumが対応していないところはで きない •
カスタマイズに限界がある(Tabとか) • イベントが取れない時がある • アプリ動作が遅い(UI/UXに関係) 8
9.
Titaniumのちょっといい所 • PUSHを実装できる、 ACS(Appcelerator
Cloud Services) • Facebookの共有実装がすごい簡単(ロ グインとか2行だし) 9
10.
できないこと。 • 画像処理APIがない • リアルタイムの処理も苦手 •
3Dでバリバリ書いたアクションゲーム とか無理無理(Unityで) • 10
11.
開発概要
11
12.
Titanium Studio
12
13.
Titanium Studio • Eclipseを元に作成されたTitanium用
IDE • JS,Python,coffee-script,HTML,CSS,とか 書ける 13
14.
プロジェクト階層構造
Resource: メインのフォルダ - android : Android用画像フォルダ - iphone: iPhone(iOS)用画像フォルダ -app.js : Mainファイル tiapp.xml:Titanium設定ファイル 14
15.
app.js var win1 =
Titanium.UI.createWindow({ title:'Tab 1', backgroundColor:'#fff' }); var tab1 = Titanium.UI.createTab({ icon:'KS_nav_views.png', // image title:'Tab 1', window:win1 }); var label1 = Titanium.UI.createLabel({ color:'#999', text:'I am Window 1', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'center', width:'auto' }); win1.add(label1); 15
16.
app.js var win2 =
Titanium.UI.createWindow({ title:'Tab 2', backgroundColor:'#fff' }); var tab2 = Titanium.UI.createTab({ icon:'KS_nav_ui.png', // image title:'Tab 2', window:win2 }); var label2 = Titanium.UI.createLabel({ color:'#999', text:'I am Window 2', font:{fontSize:20,fontFamily:'Helvetica Neue'}, textAlign:'center', width:'auto' }); win2.add(label2); 16
17.
app.js var tabGroup =
Titanium.UI.createTabGroup(); tabGroup.addTab(tab1); tabGroup.addTab(tab2); tabGroup.open(); // tab open 17
18.
実行結果 - iPhone
- 18
19.
実行結果 - Android
- 19
20.
Androidのエミュレータ
壊れてたorz 2012/07/30 20
21.
生姜がないので 実機キャプチャー
21
22.
実行結果 - Android
- 22
23.
service shot!
23
24.
service shot! This is
Splash Screen... 23
25.
実装方法
24
26.
開発要点 • commonJS • JSS(←いまいち) •
共通Event(FireEvent) • モジュール 25
27.
commonJS
26
28.
commonJS • Titanium1.8から導入 • JSファイルをカプセル化してくれる •
JSファイルをクラスライクに使える • export • require 27
29.
commonJS例
28
30.
cal.js exports.add = function(val1,val2)
{ return val1+val2; } exports.pow = function(val1, val2) { if(val2 <= 0) { return 1; } for(var i=0;i<val2;i++) { val1 *= val1; } return val1; } answer.js var cal = require(‘cal’); Ti.API.info(cal.add(1,3)); // 4 Ti.API.info(cal.pow(2,2)); // 4 29
31.
commonJS未使用
30
32.
app.js var win1 =
Ti.createWindow({ title:‘win1’, backgroundColor:‘gray’}); var button = Ti.createButton({ title:‘push me’, width:200, height:50,}); button.addEventListener(‘click’,function(e) { alert(‘button pushed’); }); win1.add(button); win1.open(); 31
33.
commonJS使用
32
34.
win1.js module.exports = function(_title)
{ var self = Ti.UI.createWindow({ title:_title, backgroundColor:‘gray’}); var button = Ti.createButton({ title:‘push me’, width:200, height:50,}); button.addEventListener(‘click’,function(e) { alert(‘button pushed’); }); self.add(button); return self; } 33
35.
app.js var Win1 =
require(‘win1’); var win1 = new Win1(‘win1’); win1.open(); 34
36.
JSS
35
37.
JSS • JavaScript Style
Sheet • Titanium 1.5.1から導入 • ロジックとUIを分けることができる • JSS≒CSS • JSファイルと同名のJSSファイルを作成 • ただし、不安定。(更新後に毎回project clean が必要) 36
38.
app.js var win1 =
Ti.createWindow({ title:‘win1’, backgroundColor:‘gray’}); var button1 = Ti.createButton({ title:‘push me’, width:200, height:50,}); var button2 = Ti.createButton({ }); win1.add(button); win1.open(); 37
39.
app.js var win1 =
Ti.createWindow({ id:‘win1’}); var button = Ti.createButton({ id:‘button’}); button.addEventListener(‘click’,function(e) { alert(‘button pushed’); }); win1.add(button); win1.open(); 38
40.
app.jss #win1 {
title:‘win1’; backgoundColor:‘gray’ } #button{ title:‘push me’; width: 200; height: 50 } 39
41.
使い辛いし、安定に欠けるので、 実際はstyle.jsを作ってやってます。
40
42.
style.js exports.module = { home:
{ win:{ title:‘win1’, backgroundColor:‘red’, }, btn:{ title:‘posh me’, width:200, height:50 }, win2:{ ... }, ... } 41
43.
app.js var style =
require(‘style’); var win1 = Ti.createWindow(style.home.win); var button = Ti.createButton(style.home.btn); button.addEventListener(‘click’,function(e) { alert(‘button pushed’); }); win1.add(button); win1.open(); 42
44.
共通Event (fire Event)
43
45.
共通Event • click等のAPIに沿ったイベント以外を発 生、取得するために使用する •
画面を超えたイベントとか 44
46.
self = Ti.UI.createTabGroup();
self.addEventListener('focus', function(e) { var win; self._activeTab = e.tab; self._activeTabIndex = e.index; if (self._activeTabIndex === -1) { return; } Ti.API._activeTab = self._activeTab; if (_u.isAndroid()) { Ti.App.fireEvent(self._activeTab.tag + ":load"); win = self._activeTab.window; return win.fireEvent('focus'); } }); Ti.App.addEventListener('home:load', function(e) { if (reload) { reload = false; return loadData(self, tableView, null); } 45
47.
モジュール
46
48.
モジュールとは • Titaniumにネイティブコードを埋め込めるお • Appcelerator
のマーケットプレイスからDL できるお(有料有) • GitHubに落ちてるかも • Objective-C, Javaをゴリゴリ書いてTitanium とのアダプターもゴリゴリ書く 47
49.
Titanium Marketplace
48
50.
モジュールたち •
バーコードリーダー ・Android Account Manager • ARマーカー読み取り • AdMob Module • iOS5 Twitter Module • PayPal Module • Google Analytics • Box 2D • https://docs.google.com/spreadsheet/ccc?key=0Ap-hrxnRI5kpdHctX3NkTFdSSVVzSkRzc3Q3bDVNbEE&authkey=CKD1-coF&hl=en_US&authkey=CKD1-coF#gid=0Ap 49
51.
屋久島クーポン実装概要
50
52.
アプリ紹介 • 屋久島と奄美諸島で使えるクーポンがたく
さんあるアプリです。 • iOS/Android向けに作成 • AppBankさんにも紹介してもらいました! • http://www.appbank.net/2012/08/12/ iphone-application/450291.php 51
53.
開発環境&使用Libs • coffee-script • Guard •
underscore.js • iOS5 Twitter module 52
54.
Coffee-script • http://coffeescript.org/ • JSを簡単に書けるようにした •
コンパイルすることでJSになる • 一気にナウい感じに 53
55.
Coffee例 JavaScript
coffee var foo = function(hoge) { foo = (hoge = “fuga”) -> if(!hoge) hoge = “fuga”; log hoge log(hoge); } 54
56.
Coffee例 JavaScript var button =
Ti.UI.createButton({ title:‘button’, height:40, width:200, top:10 }); button.addEventListener(‘click’, function(e) { alert(‘hoge’); }); 55
57.
Coffee例 coffee button = Ti.UI.createButton
title:‘button’ height:40 width:200 top:10 button.addEventListener ‘click’,(e)-> alert ‘hoge’ 56
58.
Coffee 例 JavaScript var query
= {...} var key,value; for(key in query) { value = query[key]; log(key + “:” + value); } coffee query = {...} for key,value of query log “#{key}:#{value}” 57
59.
etc...
58
60.
source
% diet 59
61.
source 30 %
diet 59
62.
source 30 %
diet maybe... 59
63.
Guard
60
64.
Guardそれはcoffee-scriptの
コンパイル自動化 61
65.
guardについて • ruby製 • ソースコードを監視し、変更があった
時に所定の処理を走らせてくれる。 • ex. テスト、コンパイル etc... 62
66.
Prj
Guard監視 coffee Database.coffee 保存 コンパイル ui Window1.coffee Resource Database.js ui 同階層 Window1.js 同階層で作られる 63
67.
underscore.js
64
68.
underscore.js • JSの便利なUtil集めたライブラリー • http://underscorejs.org/
65
69.
使用法 var _ =
require(‘underscore’); var isArray = _.isArray(hoge); 66
70.
extend var foo =
{ id:2, name:‘範馬勇次郎’ }; var bar = { salary:1000, name:‘範馬刃 ’ }; var hoge = _.extend(foo,bar); // hoge => {id:2,name:‘範馬刃 ’,salary:1000} // foo => {id:2,name:‘範馬刃 ’,salary:1000} // bar => {salary:1000,name:‘範馬刃 ’} 67
71.
compact var bar =
[0, 1, 2, 3, ‘’, ‘hoge’, null]; var hoge = _.compact(bar); // hoge => [1, 2, 3, ‘hoge’] chain/value var stooges = [{name : 'curly', age : 25}, {name : 'moe', age : 21}, {name : 'larry', age : 23}]; var youngest = _.chain(stooges) .sortBy(function(stooge){ return stooge.age; }) .map(function(stooge){ return stooge.name + ' is ' + stooge.age; }) .first() .value(); // youngest => “moe is 21” 68
72.
iOS5 Twitter module
69
73.
70
74.
71
75.
tiapp.xml
72
76.
Titanium Android vs iOS
73
77.
アプリ完成度
74
78.
アプリ完成度
74
79.
実装しやすさ
75
80.
実装しやすさ
75
81.
他。
76
82.
77
83.
77
84.
78
85.
×
78
86.
× ありえませんw
78
87.
Titanium使うべき?
79
88.
Java
80
89.
Java
80
90.
Objective-C
81
91.
Objective-C
81
92.
JavaScript
82
93.
JavaScript
82
94.
Android, iOS両 OSに対応したい
83
95.
Android, iOS両 OSに対応したい
83
96.
アプリの クオリティをそこまで 重視しない
84
97.
アプリの クオリティをそこまで 重視しない
84
98.
工数が少ない
85
99.
工数が少ない
85
100.
忍耐強い
86
101.
忍耐強い
86
102.
まとめ
87
103.
まとめ • JSでかけます。 • TitaniumはiOS向きはすごくいい。 •
AndroidはiOSの劣化版だと思って • モジュールでネイティブの機能を • ディスってすみません 88
104.
個人的には、
89
105.
個人的には、 各OSネイティブで 作れるべきなら作るべき。
89
106.
個人的には、
各OSネイティブで 作れるべきなら作るべき。 サクッと作って見せるプロトタイプ向き 89
107.
個人的には、
各OSネイティブで 作れるべきなら作るべき。 サクッと作って見せるプロトタイプ向き iPhoneは出す、Androidはそのついで ぐらいの気持ちで思っておいて 89
108.
散々、ディスりましたが。。。 意外と夢も感じています。
90
109.
http://d.hatena.ne.jp/infosia/20120108/1326002975
91
110.
などなど、モジュールが充実することで Titaniumの夢も広がっていくと思います。
92
111.
参考
http://es.scribd.com/doc/92404695/Scalin-Titanium-Mobile http://www.slideshare.net/appcelerator/wynn-netherland-accelerating-titanium- development-with-coffeescript-compass-and-sass 93
112.
ご清聴ありがとうございました。
94
Download now