狠狠撸

狠狠撸Share a Scribd company logo
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 を触ってみたら (20)

罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
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
?
罢颈迟补苍颈耻尘って何?
罢颈迟补苍颈耻尘って何?罢颈迟补苍颈耻尘って何?
罢颈迟补苍颈耻尘って何?
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
?
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
Tomoki Hasegawa
?
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium
Ryutaro Miyashita
?
Swift5_1 swift_ui
Swift5_1 swift_uiSwift5_1 swift_ui
Swift5_1 swift_ui
RyoyaIto
?
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
?
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname 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
?
罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
罢颈迟补苍颈耻尘と狈辞诲别.箩蝉は兄弟
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
?
罢颈迟补苍颈耻尘って何?
罢颈迟补苍颈耻尘って何?罢颈迟补苍颈耻尘って何?
罢颈迟补苍颈耻尘って何?
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
?
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
翱产箩别肠迟颈惫别-颁フ?ロク?ラマのための蝉飞颈蹿迟导入法
Tomoki Hasegawa
?
今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium今ここでもう一度初めての Titanium
今ここでもう一度初めての Titanium
Ryutaro Miyashita
?
Swift5_1 swift_ui
Swift5_1 swift_uiSwift5_1 swift_ui
Swift5_1 swift_ui
RyoyaIto
?
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
?
iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1iOS13 SDK による 全機能置き換え Part1
iOS13 SDK による 全機能置き換え Part1
Kaname 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
?

More from Ryutaro Miyashita (9)

全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-全てSになる -RxJavaとLWSを持ち込む楽しさ-
全てSになる -RxJavaとLWSを持ち込む楽しさ-
Ryutaro Miyashita
?
Wearable realm
Wearable realmWearable realm
Wearable realm
Ryutaro Miyashita
?
Android て? Realm を使ってみよう
Android て? Realm を使ってみようAndroid て? Realm を使ってみよう
Android て? Realm を使ってみよう
Ryutaro Miyashita
?
Impression of realm java
Impression of realm javaImpression of realm java
Impression of realm java
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 #2
Ryutaro Miyashita
?
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LT
Ryutaro Miyashita
?
Titanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.TodoTitanium 2.0 and Sample.Todo
Titanium 2.0 and Sample.Todo
Ryutaro Miyashita
?
Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012Ti.tokyo.GIG 2012
Ti.tokyo.GIG 2012
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 #2
Ryutaro Miyashita
?
Titanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LTTitanium Study Meeting in Hamamatsu LT
Titanium Study Meeting in Hamamatsu LT
Ryutaro Miyashita
?

Recently uploaded (6)

論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト提出资料「作品説明动画」制作のポイントをご绍介
鲍-22プログラミング?コンテスト运営事务局
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?

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