Quarkus 不僅僅是提供了很好框架來撰寫 web 或是 microservice,而且在 feature 上也是經過完整的測試。可以用很少的時間與最小的設定 (Configuration) 來完成你的工作。Quarkus 官方列了六項,那我覺得其中最有感的就是 Live Reload 與 Dev Service
在 dev mode 下,當修改完一行 code, Quarkus 會自動完成 hot reload,立即反應在執行的程式。開發流程從
Write Code → Compile → Deploy → Refresh Browser → Repeat
變成Write Code → Refresh Browser → Repeat
省掉了最花時間的 compile 跟 startup 大大了改善開發效率。再也沒有空檔滑一下 IG, FB 。
Quarkus 知道你需要什麼,就給你什麼。當你 include 了一個 mongodb client 但是沒有指定 datasource URL, Quarkus 知道這時需要一個 mongodb, 就用 Testcontainer 幫你起一個吧。在執行 JUnit 時也是會哦,很貼心的。
這兩項也是 deveoper joy 很重要的元素,前面幾天有介紹過囉。
在網路隔絕的環境,Dev Service 想去抓外面的 docker image 會造成麻煩,這時要去 application.properties 加上 quarkus.devservices.enabled=false
關掉。每個 client 像是 RDB, Redis 的 dev service 也可以獨立用 config 開關。