自戒、点検、内省

終わらない反省会をしよう

2026 の #rubykaigi effect第一弾 Swiftはじめました

Day 4 Lightning Talks on Hakodate Tram at RubyKaigi 2026 - connpass

smarthr.connpass.com

では楽器作りとはなにか、楽器とは何かを実演とともにお話ししました。

このイベントでの鈴木さんのRubyからSwiftを呼び出すお話をきいてこれは実用的だ!と思い、帰って試しました。

www.docswell.com

何を試したか

retrospective.hatenadiary.com

スキャン画像の OCR は Mac の Vision framework を使います。Swift でアクセスコードを書いて、MCP ツールから呼べるようにしました。

swiftで書いたCLIを外部プロセスとして呼び出す方式だったのを、Swift拡張のRubyのライブラリとしてラップして、Rubyのプロセスで完結するようシンプルな構成にすることができました。

github.com

さらに試したこと

RubyKaigi 2025 での sue445さんの発表を思い出しました。

rubykaigi.org

これのSwift版を作ると捗るのではないかと思い、まとめてみました。

github.com

go-gem-wrapper の go_gemを参考にして、雛形作成とgo build -buildmode=c-shared の代わりに swift build -c release --package-path を呼ぶということを行なっています。

GitHub - bash0C7/rb-vision-ocrmac: Ruby binding for Apple Vision OCR (VNRecognizeTextRequest) on macOS / Apple Silicon · GitHubで使っています。

感謝!!!

点と点が繋がる得難い体験でした。鈴木さん、sue445さんありがとうございました!RubyKaigi 2026とLightning Talks on Hakodate Tram at RubyKaigi 2026という場があってこそで、企画運営のみなさまにも感謝しかありません。

Native ExtensionもSwiftも手探りもいいところなのでこのGWに事例増やしていきます。