SlideShare a Scribd company logo
1 of 15
Download to read offline
Titanium ユーザーが
Swift を触ってみたら
第1回 Swift 勉強会 @ ネクスト
第1回 Swift 勉強会 @ ネクスト
• Ryutaro Miyashita
• @ryugoo_
• ChatWork (元 ネクスト ( ゚д゚ ) )
• Mobile App Engineer
• Titanium, Objective-C, Java
Who?
第1回 Swift 勉強会 @ ネクスト
Appcelerator Titanium™
第1回 Swift 勉強会 @ ネクスト
JavaScript で iOS / Android ネイティブアプリ
第1回 Swift 勉強会 @ ネクスト
var str = 'Hello!';	
var btn = Ti.UI.createButton({	
text: str	
});	
var view = Ti.UI.createView({	
backgroundColor: '#FFFFFF'	
});	
view.add(btn);	
win.add(view);
第1回 Swift 勉強会 @ ネクスト
• 比較的簡単
• ネイティブ UI
• iOS は結構良い
• パフォーマンス
• Android が辛い
Pros
Cons
第1回 Swift 勉強会 @ ネクスト
iOS だけ Titanium
Android は Java
→ Titanium のメリット薄
第1回 Swift 勉強会 @ ネクスト
iOS は Swift
Android は Java
→ Objective-C 以外の選択肢
第1回 Swift 勉強会 @ ネクスト
let str = "Hello!"	
let btn = UIButton()	
btn.setTitle(	
str,	
forState: UIControlState.Normal	
)	
let view = UIView()	
view.addSubview(btn)	
self.view.addSubview(view)
第1回 Swift 勉強会 @ ネクスト
おお ……
第1回 Swift 勉強会 @ ネクスト
NSString *str = @"Hello";	
UIButton *btn = [[UIButton alloc] init];	
[btn setTitle:str	
forState:UIControlStateNormal];	
UIView *view = [[UIView alloc] init];	
[view addSubview:btn];	
[self.view addSubview:view];
第1回 Swift 勉強会 @ ネクスト
読みやすい ……
* http://goo.gl/cTZUjI / 第1回 Swift 勉強会 @ ネクスト
• コードが読みやすい
• どこかで見たことある文法
Pros
(JavaScript, ActionScript, Python, Kotlin, Go …… )
• Xcode 6 がまだバグだらけ
• [unowned self]
Cons
(せっかくクロージャらしいクロージャ書けるのに *)
第1回 Swift 勉強会 @ ネクスト
読みやすいは正義!
(※ 書きやすさは Xcode 先生の進化にご期待ください)
第1回 Swift 勉強会 @ ネクスト
ありがとうございました

More Related Content

Similar to Titanium ユーザーが Swift を触ってみたら

TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟Toshiro Yagi
 
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについてtototti
 
OpenStack Summit Vancouver Swift 報告
OpenStack Summit Vancouver Swift 報告OpenStack Summit Vancouver Swift 報告
OpenStack Summit Vancouver Swift 報告Kota Tsuyuzaki
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?Toshiro Yagi
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Atsushi Harada
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Relations Team
 
Tiなごや vol.3 Titaniumのキホン
Tiなごや vol.3 TitaniumのキホンTiなごや vol.3 Titaniumのキホン
Tiなごや vol.3 TitaniumのキホンMori Shingo
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介Mori Shingo
 
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!Mori Shingo
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Tomoki Hasegawa
 
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての TitaniumRyutaro Miyashita
 
Swift5_1 swift_ui
Swift5_1 swift_uiSwift5_1 swift_ui
Swift5_1 swift_uiRyoyaIto
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術vaccho
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1Kaname Noto
 
20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)Toshiro Yagi
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムYuichi Yoshida
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムYuichi Yoshida
 

Similar to Titanium ユーザーが Swift を触ってみたら (20)

TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟TitaniumとNode.jsは兄弟
TitaniumとNode.jsは兄弟
 
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
仙台 iOS開発者勉強会 2011/11/03 - TwitterAPIについて
 
OpenStack Summit Vancouver Swift 報告
OpenStack Summit Vancouver Swift 報告OpenStack Summit Vancouver Swift 報告
OpenStack Summit Vancouver Swift 報告
 
Titaniumって何?
Titaniumって何?Titaniumって何?
Titaniumって何?
 
About Titanium Mobile
About Titanium MobileAbout Titanium Mobile
About Titanium Mobile
 
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
Tiなごや vol.3 Titaniumのキホン
Tiなごや vol.3 TitaniumのキホンTiなごや vol.3 Titaniumのキホン
Tiなごや vol.3 Titaniumのキホン
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
大なごやJS vol.6 Titanium Mobile と Alloy の解説をするよ!
 
Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium
 
Swift5_1 swift_ui
Swift5_1 swift_uiSwift5_1 swift_ui
Swift5_1 swift_ui
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
 
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
 
AppCodeNight testcode
AppCodeNight testcodeAppCodeNight testcode
AppCodeNight testcode
 
20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 

More from Ryutaro Miyashita

全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-Ryutaro Miyashita
 
Android で Realm を使ってみよう
Android で Realm を使ってみようAndroid で Realm を使ってみよう
Android で Realm を使ってみようRyutaro Miyashita
 
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことTitanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことRyutaro Miyashita
 
re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2Ryutaro Miyashita
 
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTRyutaro Miyashita
 
Titanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoTitanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoRyutaro Miyashita
 

More from Ryutaro Miyashita (9)

全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-
 
Wearable realm
Wearable realmWearable realm
Wearable realm
 
Android で Realm を使ってみよう
Android で Realm を使ってみようAndroid で Realm を使ってみよう
Android で Realm を使ってみよう
 
Impression of realm java
Impression of realm javaImpression of realm java
Impression of realm java
 
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいことTitanium 3.3 / 3.4 と iOS で気をつけたいこと
Titanium 3.3 / 3.4 と iOS で気をつけたいこと
 
re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2re:Titanium 今ここでもう一度、はじめての Titanium #2
re:Titanium 今ここでもう一度、はじめての Titanium #2
 
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LT
 
Titanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoTitanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.Todo
 
Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012
 

Recently uploaded

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (7)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

Titanium ユーザーが Swift を触ってみたら

  • 2. 第1回 Swift 勉強会 @ ネクスト • Ryutaro Miyashita • @ryugoo_ • ChatWork (元 ネクスト ( ゚д゚ ) ) • Mobile App Engineer • Titanium, Objective-C, Java Who?
  • 3. 第1回 Swift 勉強会 @ ネクスト Appcelerator Titanium™
  • 4. 第1回 Swift 勉強会 @ ネクスト JavaScript で iOS / Android ネイティブアプリ
  • 5. 第1回 Swift 勉強会 @ ネクスト var str = 'Hello!'; var btn = Ti.UI.createButton({ text: str }); var view = Ti.UI.createView({ backgroundColor: '#FFFFFF' }); view.add(btn); win.add(view);
  • 6. 第1回 Swift 勉強会 @ ネクスト • 比較的簡単 • ネイティブ UI • iOS は結構良い • パフォーマンス • Android が辛い Pros Cons
  • 7. 第1回 Swift 勉強会 @ ネクスト iOS だけ Titanium Android は Java → Titanium のメリット薄
  • 8. 第1回 Swift 勉強会 @ ネクスト iOS は Swift Android は Java → Objective-C 以外の選択肢
  • 9. 第1回 Swift 勉強会 @ ネクスト let str = "Hello!" let btn = UIButton() btn.setTitle( str, forState: UIControlState.Normal ) let view = UIView() view.addSubview(btn) self.view.addSubview(view)
  • 10. 第1回 Swift 勉強会 @ ネクスト おお ……
  • 11. 第1回 Swift 勉強会 @ ネクスト NSString *str = @"Hello"; UIButton *btn = [[UIButton alloc] init]; [btn setTitle:str forState:UIControlStateNormal]; UIView *view = [[UIView alloc] init]; [view addSubview:btn]; [self.view addSubview:view];
  • 12. 第1回 Swift 勉強会 @ ネクスト 読みやすい ……
  • 13. * http://goo.gl/cTZUjI / 第1回 Swift 勉強会 @ ネクスト • コードが読みやすい • どこかで見たことある文法 Pros (JavaScript, ActionScript, Python, Kotlin, Go …… ) • Xcode 6 がまだバグだらけ • [unowned self] Cons (せっかくクロージャらしいクロージャ書けるのに *)
  • 14. 第1回 Swift 勉強会 @ ネクスト 読みやすいは正義! (※ 書きやすさは Xcode 先生の進化にご期待ください)
  • 15. 第1回 Swift 勉強会 @ ネクスト ありがとうございました