個人プロジェクトでWebAPIサーバーを作るのにどんな技術を使おうかなぁと思い色々と模索していたのですが
Kotlin + Sparkという組み合わせがかなりいけてそうな雰囲気です。
Kotlin
KotlinはIntelliJのJetBrains社が中心に開発している言語で、JavaよりはモダンでScalaよりは超大ではない、
たぶんこれくらいが丁度良いでしょ、みたいな言語です。Swiftによく似ているそうです。(あんまりSwiftは知らない)
Spark(Web Framework)
そしてSparkは最近話題の分散アプリケーションフレームワークではなく、それと同名のJavaのウェブフレームワークです。
Sinatra Inspiredなマイクロフレームワークで、ちょっとWebAPIを作るには持ってこいな代物です。
組み合わせてみる
これらを組み合わせたらかなりイケてるんじゃないかという予感がしたので組み合わせて試してみることにします。
まだハローワールドしてみただけなんで、しっかり使ってみて感想の記事を別途書けたらと思います。
Main.kt
import spark.Spark.*;
fun main(args: Array<String>) {
get("/hello/:name", { req, res ->
"Hello, " + req.params(":name")
})
}
どうでしょう?イケてる感?
ビルド時間的にもScalaのような遅さは感じませんし、さくさく開発できそうです。
ちなみにgolangとかも検討したんですが、AWS-SDKがまだPreviewなのとGOのラーニングコストがネックで辞めました。
いざ人柱。