PlayアプリをGraalVMでビルドした

みたいな記事を書いた。

qiita.com

もともとパーサーコンビネーターがサクッとネイティブ化できたので、最近だとネイティブサポートアツいのかな?と思って、軽い気持ちでPlayに挑戦したら丸2日かかった。ただ、公式ドキュメントが日本語で参照できるので、日本人にとってはとてもやりやすい環境だなと思った。

周辺を調べていると、SpringBootSpringNativeというプラグインでネイティブ化をサポートしているみたい。面白いなと思ったのはそのアプローチで、SpringのAOTの解析結果を基に reflect-config.json を作っちゃうという(参照)。一番めんどくさい reflect-config.json をこんな方法で解決しちゃうとは、賢いですね。

一方で Scala 界隈では akka-graal-config という形で、事前に作った reflect-config.json をまとめたリポジトリを作って解決しようとしています。これは公式でも紹介している方法ですね。

いずれにせよ、reflect-config.json が解決すれば、Play ってネイティブ化できるんですよね。その熱が冷めないうちに本家に discussion 立てちゃいました。

github.com

本格的に対応するとなると、もっとちゃんと reflect-config.json を整理する必要があるとは思うけど...