Slide 1

Slide 1 text

Server Side Swift Vapor を触ってみた AKIBA.swift #5 2016.09.27 多鹿豊

Slide 2

Slide 2 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 3

Slide 3 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 4

Slide 4 text

自己紹介(personal) ○ 多鹿 豊 (Tajika Yutaka) ○ @taji-taji □ Qiita, Github ○ Swift歴:11ヶ月

Slide 5

Slide 5 text

自己紹介(hobby) ○ アプリ作ってます ○ 観葉植物が好き

Slide 6

Slide 6 text

自己紹介(work) ○ ウェルスタイル株式会社 □ 家族限定SNS「wellnote」を開発・運営 ○ iOSエンジニア □ 最近 AWS, Python □ たまに Go, PHP, Rails

Slide 7

Slide 7 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 8

Slide 8 text

“ a Web Framework for Swift that works on iOS, macOS and Ubuntu (公式ドキュメントより引用) https://vapor.github.io/documentation/

Slide 9

Slide 9 text

ドキュメントによると ○ Swift製のWeb framework ○ iOS, macOS, Ubuntuで動かすことができる

Slide 10

Slide 10 text

その他 ○ SwiftでAPI, Web siteなどが作れる □ Swift3.0で書く ○ macOSだとbrewでのインストールに対応した (はず...)

Slide 11

Slide 11 text

その他 ○ 9/16に晴れて ver.1.0 がリリース ○ ドキュメントやサンプルが豊富 ○ Slackチャンネル □ リリース情報が見れたり、ヘルプを求めることができる □ Of cource, English only.

Slide 12

Slide 12 text

さら〜っと、 Vaporプロジェクトの 作成〜起動までを見ていきます

Slide 13

Slide 13 text

プロジェクトをつくる流れ 新しいプロジェクトを作成

Slide 14

Slide 14 text

作ったアプリケーションを 起動させるまでの流れ アプリケーションをビルド アプリケーションを起動

Slide 15

Slide 15 text

ここで、突然ですが 個人的に好きな点をお伝えします。

Slide 16

Slide 16 text

ここで、突然ですが 個人的に好きな点をお伝えします。 技術的なことでは ないので悪しからず

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

Droplet ○ Vaporが提供する機能や設定したプロバイ ダーにアクセスする “service container” ○ ルートの登録、サーバーの立ち上げ、ミドル ウェアの追加など様々な役割を担う ○ プロジェクトの最初にインスタンス化

Slide 19

Slide 19 text

蒸気 を取り込み 雫 を生み出す

Slide 20

Slide 20 text

おお、おしゃれ!

Slide 21

Slide 21 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 22

Slide 22 text

Slack bot ○ Slack botを作ってみた ○ 「trending hoge」と話しかける □ Github上のhoge言語のスターが多いリポジトリ(一週 間以内に作成されたもの)を表示してくれる

Slide 23

Slide 23 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Slack bot ○ vapor/engine の Websocket を使用 https://github.com/vapor/engine

Slide 26

Slide 26 text

Slack bot ○ デプロイ先はHeroku ○ コードはGithubに上げています □ https://github.com/taji-taji/SwiftTrendBot

Slide 27

Slide 27 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 28

Slide 28 text

ハマったところ① ○ Swift3.0への移行期から触っていたので、 Vapor自体もころころと仕様が変わっていた り、安定しないことが多かった □ macOSだと動くけど、Herokuにデプロイすると動かな いとか...

Slide 29

Slide 29 text

ハマったところ② ○ GithubのAPIを叩くのにHeaderに User-Agentを入れておかないとダメだった https://developer.github.com/v3/#user-agent-required

Slide 30

Slide 30 text

目次 ○ 自己紹介 ○ Vaporについて ○ 作ってみた □ DEMO □ ハマったところ ○ まとめ

Slide 31

Slide 31 text

まとめ ○ Vaporを使ってServer SideもSwiftで書ける □ API, Web site, etc… □ 今回はSlack botを作成 ○ サンプルやドキュメント、テンプレートなどから 容易に書き始められる □ ハマりどころも少ないのでは?

Slide 32

Slide 32 text

Server Side Swift で Swift の活躍の場を増やしましょう

Slide 33

Slide 33 text

ご清聴ありがとうございました