Day 4 Lightning Talks on Hakodate Tram at RubyKaigi 2026 - connpass
では楽器作りとはなにか、楽器とは何かを実演とともにお話ししました。
.@bash0C7 がオタマトーンの話をしてる #rubykaigi2026_smarthr pic.twitter.com/4HkCDOtwsr
— sue445 (@sue445) 2026年4月25日
演奏中 #rubykaigi2026_smarthr pic.twitter.com/ZLO17FEiCs
— sue445 (@sue445) 2026年4月25日
このイベントでの鈴木さんのRubyからSwiftを呼び出すお話をきいてこれは実用的だ!と思い、帰って試しました。
何を試したか
スキャン画像の OCR は Mac の Vision framework を使います。Swift でアクセスコードを書いて、MCP ツールから呼べるようにしました。
swiftで書いたCLIを外部プロセスとして呼び出す方式だったのを、Swift拡張のRubyのライブラリとしてラップして、Rubyのプロセスで完結するようシンプルな構成にすることができました。
さらに試したこと
RubyKaigi 2025 での sue445さんの発表を思い出しました。
これのSwift版を作ると捗るのではないかと思い、まとめてみました。
go-gem-wrapper の go_gemを参考にして、雛形作成とgo build -buildmode=c-shared の代わりに swift build -c release --package-path を呼ぶということを行なっています。
感謝!!!
点と点が繋がる得難い体験でした。鈴木さん、sue445さんありがとうございました!RubyKaigi 2026とLightning Talks on Hakodate Tram at RubyKaigi 2026という場があってこそで、企画運営のみなさまにも感謝しかありません。
Native ExtensionもSwiftも手探りもいいところなのでこのGWに事例増やしていきます。