SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Swift×Azure

∼宗教の違いのその先∼
仙台Swift勉強会
田中賢治
class 田中賢治: 田中家 {
var 身分 = 文系大学生.3年 ¦ デザイニウムインターン
var 言語 = [Swift, Objective-C]
var 仕事 = [株式会社GClue : “逆引きSwift"]
var 太極拳 = 呉式太極拳
}
enum 最近の出来事: String {
case アニメ = "ごちうさ二期決定!"
case 勉強会 = "仙台Swift勉強会"
}
自己紹介
明らかにヤバい
なぜこうなったのかというと…
Myo
Chaos
進 逆戻り
・iOSしかできない
・むしろiOSだけでいい。Appleは神

・ジョブズ亡き今もその魂は受け継がれる
前提
でもバックエンドが無いと…
Mobile Servicesの迅速な対応
そ、そっちがその気なら使って

あげなくも無いんだから…!///
Appleにサーバーは無い
MS様の豊富な公式リファレンス!
大丈夫!
リアルタイムマルチプレイ

次世代型サイバー

言霊アクションゲーム



SHIRITORI

今回作るもの
※これは個人の感想で感じ方には個人差があります
超エキサイティンッッ!!
やること
・Azureでバックエンド(フロントエンド)
・Node.jsでWebSocketを使って

リアルタイム通信
・これらとiOSアプリの連携
バックエンドの実装
1.Socket.IOの実装
2.Azure Websitesにサイトを作る
3.gitリポジトリをサイトに上げる
4.動く!!!
1.Socket.IOの実装
AzureはNode.jsがそのまま動くよ!
npm install

npm install socket.io@1.0.6 -save
Socket.IOをダウンロード
1.Socket.IOの実装
/chat/index.js/

↓
/chat/app.js/
中身作る
2.Azure Websitesにサイトを作る
WebSite作る

azure site create mysitename -git

リモートリポジトリの追加

git remote add azure SiteURL
3.gitリポジトリをサイトに上げる
目標をコミットしてpush…

目標をコミットしてpush…
git add .

git commit -m “commit message”
git push azure master
4.動く!!!
iOSの実装
1.UI作る
2.Socket連携する
3.動く!!!
1.UI作る
podをインストールする
JSQMessagesViewController
2.Socket連携する
SIOSocket
podをインストールする
3.動く!!!
実際にデモしてみよう!
ルール
1.スタートは「り」から
ルール
2.どれだけ多く得点できるか!
ルール
3.入力は全てひらがなでお願いします

(※仕様です)
ルール
4.小文字や「ー」「ん」などは各自対応



 例)・るびー  → ーいぎりす

   ・まっちょ → よーぐると
   ・ふぁん  → んじゃめな

(※仕様です)
良かった点
・リファレンス豊富でやりやすかった



・安い…安い…実際安い。
・Log出力がラク

 azure site log tail SiteName
・リアルタイム通信ゲーム作れる!!
悪かった点
js殺すべし、慈悲は無い
これまでの時代
これからの時代
Have a nice Development!
参考
Azure Website での Socket.IO を使用する Node.js チャット アプリケーションの構築

http://azure.microsoft.com/ja-jp/documentation/articles/web-sites-nodejs-chat-
app-socketio/



Swiftでソケット通信するチャットアプリ

http://qiita.com/ytakzk/items/c0a3af0f1b9e5a349d05





JSQMessagesViewController

https://github.com/jessesquires/JSQMessagesViewController

Más contenido relacionado

Más de Kenji Tanaka

ポストモーテムやってみた #yjbonfire
ポストモーテムやってみた #yjbonfireポストモーテムやってみた #yjbonfire
ポストモーテムやってみた #yjbonfireKenji Tanaka
 
2つの同期 4つの状態 #pixiv_ios_arch
2つの同期 4つの状態 #pixiv_ios_arch2つの同期 4つの状態 #pixiv_ios_arch
2つの同期 4つの状態 #pixiv_ios_archKenji Tanaka
 
2つの同期 4つの状態 #app_mp
2つの同期 4つの状態 #app_mp2つの同期 4つの状態 #app_mp
2つの同期 4つの状態 #app_mpKenji Tanaka
 
2つの同期 4つの状態 #roppongiswift
2つの同期 4つの状態 #roppongiswift2つの同期 4つの状態 #roppongiswift
2つの同期 4つの状態 #roppongiswiftKenji Tanaka
 
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_nightトークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_nightKenji Tanaka
 
よく使うテストヘルパーの紹介 #ios_test_night
よく使うテストヘルパーの紹介 #ios_test_nightよく使うテストヘルパーの紹介 #ios_test_night
よく使うテストヘルパーの紹介 #ios_test_nightKenji Tanaka
 
Swiftで聞いておぼえるテスト書き
Swiftで聞いておぼえるテスト書きSwiftで聞いておぼえるテスト書き
Swiftで聞いておぼえるテスト書きKenji Tanaka
 
設計時空のリファクタリング
設計時空のリファクタリング設計時空のリファクタリング
設計時空のリファクタリングKenji Tanaka
 
WACATE 2018 Summer
WACATE 2018 SummerWACATE 2018 Summer
WACATE 2018 SummerKenji Tanaka
 
テスト駆動開発入門 by Swift
テスト駆動開発入門 by Swiftテスト駆動開発入門 by Swift
テスト駆動開発入門 by SwiftKenji Tanaka
 
An iOS Engineer challenges Web.
An iOS Engineer challenges Web.An iOS Engineer challenges Web.
An iOS Engineer challenges Web.Kenji Tanaka
 
エンジニアのためのブログ講座Ver4
エンジニアのためのブログ講座Ver4エンジニアのためのブログ講座Ver4
エンジニアのためのブログ講座Ver4Kenji Tanaka
 
TDDやってみよ
TDDやってみよTDDやってみよ
TDDやってみよKenji Tanaka
 
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品Kenji Tanaka
 
節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。Kenji Tanaka
 
iOS 11からのDeviceCheck #とは
iOS 11からのDeviceCheck #とはiOS 11からのDeviceCheck #とは
iOS 11からのDeviceCheck #とはKenji Tanaka
 
設計に答えはないから探してみよう
設計に答えはないから探してみよう設計に答えはないから探してみよう
設計に答えはないから探してみようKenji Tanaka
 
iOS 11からのアプリ間ファイル共有
iOS 11からのアプリ間ファイル共有iOS 11からのアプリ間ファイル共有
iOS 11からのアプリ間ファイル共有Kenji Tanaka
 
iOS 11からのアプリ間ファイル共有_公開用
iOS 11からのアプリ間ファイル共有_公開用iOS 11からのアプリ間ファイル共有_公開用
iOS 11からのアプリ間ファイル共有_公開用Kenji Tanaka
 
参加者と振り返るWWDC17 公開用
参加者と振り返るWWDC17 公開用参加者と振り返るWWDC17 公開用
参加者と振り返るWWDC17 公開用Kenji Tanaka
 

Más de Kenji Tanaka (20)

ポストモーテムやってみた #yjbonfire
ポストモーテムやってみた #yjbonfireポストモーテムやってみた #yjbonfire
ポストモーテムやってみた #yjbonfire
 
2つの同期 4つの状態 #pixiv_ios_arch
2つの同期 4つの状態 #pixiv_ios_arch2つの同期 4つの状態 #pixiv_ios_arch
2つの同期 4つの状態 #pixiv_ios_arch
 
2つの同期 4つの状態 #app_mp
2つの同期 4つの状態 #app_mp2つの同期 4つの状態 #app_mp
2つの同期 4つの状態 #app_mp
 
2つの同期 4つの状態 #roppongiswift
2つの同期 4つの状態 #roppongiswift2つの同期 4つの状態 #roppongiswift
2つの同期 4つの状態 #roppongiswift
 
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_nightトークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night
トークンリフレッシュ処理を含むAPIClientのテスト #hakata_test_night
 
よく使うテストヘルパーの紹介 #ios_test_night
よく使うテストヘルパーの紹介 #ios_test_nightよく使うテストヘルパーの紹介 #ios_test_night
よく使うテストヘルパーの紹介 #ios_test_night
 
Swiftで聞いておぼえるテスト書き
Swiftで聞いておぼえるテスト書きSwiftで聞いておぼえるテスト書き
Swiftで聞いておぼえるテスト書き
 
設計時空のリファクタリング
設計時空のリファクタリング設計時空のリファクタリング
設計時空のリファクタリング
 
WACATE 2018 Summer
WACATE 2018 SummerWACATE 2018 Summer
WACATE 2018 Summer
 
テスト駆動開発入門 by Swift
テスト駆動開発入門 by Swiftテスト駆動開発入門 by Swift
テスト駆動開発入門 by Swift
 
An iOS Engineer challenges Web.
An iOS Engineer challenges Web.An iOS Engineer challenges Web.
An iOS Engineer challenges Web.
 
エンジニアのためのブログ講座Ver4
エンジニアのためのブログ講座Ver4エンジニアのためのブログ講座Ver4
エンジニアのためのブログ講座Ver4
 
TDDやってみよ
TDDやってみよTDDやってみよ
TDDやってみよ
 
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品
ストレス社会に生きる、iOSエンジニアにオススメする百合の世界と作品
 
節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。節子、それViewControllerやない...、FatViewControllerや...。
節子、それViewControllerやない...、FatViewControllerや...。
 
iOS 11からのDeviceCheck #とは
iOS 11からのDeviceCheck #とはiOS 11からのDeviceCheck #とは
iOS 11からのDeviceCheck #とは
 
設計に答えはないから探してみよう
設計に答えはないから探してみよう設計に答えはないから探してみよう
設計に答えはないから探してみよう
 
iOS 11からのアプリ間ファイル共有
iOS 11からのアプリ間ファイル共有iOS 11からのアプリ間ファイル共有
iOS 11からのアプリ間ファイル共有
 
iOS 11からのアプリ間ファイル共有_公開用
iOS 11からのアプリ間ファイル共有_公開用iOS 11からのアプリ間ファイル共有_公開用
iOS 11からのアプリ間ファイル共有_公開用
 
参加者と振り返るWWDC17 公開用
参加者と振り返るWWDC17 公開用参加者と振り返るWWDC17 公開用
参加者と振り返るWWDC17 公開用
 

Swift×Azure
〜宗教の違いのその先〜