SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
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 勉強会 @ ネクスト
ありがとうございました

Weitere ähnliche Inhalte

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

Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
 
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
 
20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)20130817 Titanium勉強会(午前)
20130817 Titanium勉強会(午前)
Toshiro Yagi
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
Yuichi Yoshida
 

Ähnlich wie 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) シンポジウム
 

Mehr von 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
 

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 勉強会 @ ネクスト ありがとうございました