
この記事はニーリーアドベントカレンダー2024の25日目 その2の記事です。
こんにちは、ニーリーの佐古です。
最終日ということで、短く冬休みの自由研究の予告をして終わりたいと思います。
テーマ
Quarkusで簡単なWebアプリケーションを作る
Quarkusとは
高速性がウリのJavaフレームワークです。
曰く、以下の特徴を持ちます。
- GraalVMによるネイティブコンパイルを前提にしたフレームワーク
- Mutinyによるリアクティブプログラミングサポート
- Kubernetesのネイティブサポート
動機
RxJava + Vert.x の開発経験がある身としてはいろいろと都合が良すぎるので
そんなオイシイ話があるのか?ということで実際に組んでみようと思った次第です。
社内の技術スタックとは全く別ですが、そこは余暇の手すさびでございまして。
一応、将来的な技術選定のための調査であるという風を周囲に匂わせてはいますが、
個人でやってるポートフォリオサイトがWordPressなのがなんとなく気に入らず
Javaバックエンドで何か面白いのないかな、というところが出発点です。
丸ごと自分で選んだスタックでアプリケーションを組む経験をしておきたくもあり、
一石数鳥を狙っています。
ついでに、個人的にRxJavaを利用している社外の開発チームと付き合いがあるので
そちらへの情報共有も狙っています。
余談
試作品が終わり次第個人ではサイトの開発に着手します。
1年かけてじっくり進める計画で、
フロントはReactかSvelte + Astroでやろうかな等と企んでおります。
どう考えても完全にオーバースペックなのですが、
この領域の技術選定においては楽しさがすべてに優先します。
無駄に凝っても怒られないのがよいところですね。
今回試すこと
コールドスタート
スピンアップ爆速を謳っている以上はぜひ試したいところです。
Lambdaにデプロイして様子を見たいですね。
開発モード
どうも以前のSpringBootの頃の体験でホットデプロイがおつらいイメージがあるのですが
結構推しているので試します。
シリアライゼーションまわり
AOTのためにリフレクションを回避することになって、
まず引っ掛かりそうなのがJSONの扱いなので勝手を確認します。
Mutinyの書き味
RxJavaからはすんなり移行できるとのことですが、実際やってみるに越したはないので。
(できれば)フットプリントの比較
SpringBoot / Quarkus(HotSpot VM / GraalVM) あたりで比較できればよいですね。
将来試すこと
Kubernetes化
せっかくKubernetes-nativeなので、業務への投入を検討する際にはこちらも調査したいですね。
今後について
冬休みに実験後、1月末あたりを目標に本編を公開できればと考えています。
さいごに
チームのことを考えた技術選定は不可欠ですが、
たまには思うさまに好きな技術を扱うのもよいですね、わくわくします。
それではよいお年を!