セッション「実際のプロジェクトでSpringアプリをKotlinで開発して得た気づき集」
Kotlinを実際にプロジェクトで利用するという観点では、日本Kotlinユーザグループ代表でもあるUbie株式会社の長澤さんから、自社の医療系の業務アプリケーションに実際に適用した上で得られた、具体的なノウハウについて紹介されました。
一例としては、KotlinではメンバーのデフォルトがfinalであるためにSpringのAOPプロキシを適用する際などに問題が発生するというような、利用する際に注意が必要な点が語られていました。なお、この問題はJetBrainsから提供されているKotlinのコンパイラプラグインを用いることによって回避できるそうで、KotlinでSpringを利用するための連携や環境が整備されつつあるということを感じさせました。
その他、入力チェックの実装方法やテストに利用しているライブラリやフレームワークについてなど、実プロジェクトで使う場合に気になるポイントについて解説されていました。
立ち見も多くでる盛況ぶりで、質疑でもアノテーションに比べてDSLの良さは何かなど、活発な議論が行われ、参加者からの興味の高さが伺えました。
セッション「業務で使いたいWebFluxによるReactiveプログラミング」
Acroquest Technology株式会社の谷本さんは、Spring WebFluxやReactorを使っていない人が利用の仕方や雰囲気をつかむというテーマで、特にノンブロッキングなソースを「使う」側を中心にSpringによるリアクティブプログラミングについて解説してくれました。
セッションの序盤はリアクティブプログラミングが使われるようになってきた背景について話した後、「はじめてのReactor」「はじめてのSpring WebFlux」と題して、覚えておきたい基本的なメソッドとその動作について、コードを見せながら紹介していました。
その後、身近な題材としてN+1問題を取り上げ、Spring WebFluxで利用できるWebClientを利用した場合とSpring MVCで従来利用されてきたRestTempleteを用いた場合の実装例、動作の違いが紹介されました。
WebClientはRestTemplateと比較してジェネリクスの対応などAPIが洗練されており、それだけでも利用するモチベーションになり得ます。その上リアクティブなクライアントとしての機能を備えているため、Web APIへ連続してアクセスする場合、それを非同期的に行うことで総処理時間を短縮することができることが例示されていました。
Reactiveプログラミングは気になっているものの、どこから手をつけてよいか分からないと感じている方も多いと思います。そういった方が最初の一歩を踏み出すための導入として、良いセッションであったと感じました。当日の資料もすでに公開されているので、こちらを参考にReactiveプログラミングに挑戦してみてはいかがでしょうか。
