Source kittenについて

28
SourceKitten について 2015/11/28 @ オープンソースライブラリ研究会 - iOS Android Rails

Transcript of Source kittenについて

Page 1: Source kittenについて

SourceKittenについて

2015/11/28 @オープンソースライブラリ研究会 - iOS Android Rails編

Page 2: Source kittenについて

@ushisantoasobu

iOS, Android, JavaScript, Railsを浅く広く

フットサル好き

自己紹介

Page 3: Source kittenについて

アジェンダ

SourceKittenとは

SourceKittenを利用したライブラリの紹介

=> SwiftLint, jazzy

Page 4: Source kittenについて
Page 5: Source kittenについて
Page 6: Source kittenについて

SourceKit??

Page 7: Source kittenについて
Page 8: Source kittenについて

一年前くらいの(2014年末)ツイートを検索してみる

Page 9: Source kittenについて

あの憎きSourceKitのことか!!!

Page 10: Source kittenについて

一旦落ち着こう…

Page 11: Source kittenについて

SourceKitとは??

Xcode起動時に常に別プロセスで立ち上がっていて、XPC

経由で動いているツール(Xcode 6以降)

Swiftのコードをパースして、シンタックスハイライトした

り、補完のオートコンプリートの処理をしたりなどなど

ドキュメント化もされてない、非公開のAPI

http://www.jpsim.com/uncovering-sourcekit/

Page 12: Source kittenについて

Xcode起動時にSourceKitServiceが動いていることが確認できる

Page 13: Source kittenについて

つまりSourceKittenとは??

SourceKitを利用することができるラッパライブラリ

XPCでやりとりをロギングしてつくったハッカブルなもの

ぽい

Page 14: Source kittenについて

具体的にどんなことができるの?

Page 15: Source kittenについて
Page 16: Source kittenについて

コマンド叩いてみよう!!

Page 17: Source kittenについて
Page 18: Source kittenについて
Page 19: Source kittenについて

で、結局これ何が嬉しいの??

Page 20: Source kittenについて

SourceKittenを利用したオープンソースライブラリを2つ紹介

SwiftLint

jazzy

Page 21: Source kittenについて

SwiftLintとは??

名前の通り、SwiftのLinter(コード品質チェックツール)

Build PhasesのRun Scriptで動くようにする

Page 22: Source kittenについて
Page 23: Source kittenについて

DEMO

Page 24: Source kittenについて

http://qiita.com/ushisantoasobu/items/b494c9cf7d78a968b373

Page 25: Source kittenについて

jazzyとは??

SwiftDocジェネレータ

AppleのReferenceみたいなLook & Feel

名前がカワイイ

Page 26: Source kittenについて
Page 27: Source kittenについて

まとめ

SourceKitはSwiftのコードを解析して色々やってく

れるもの

SourceKittenはプライベートであるSourceKitの

ラッパライブラリ

SourceKittenを利用して、LinterやDocジェネレー

タのライブラリがつくられている

Page 28: Source kittenについて

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