It’s now or never

IT系の技術ブログです。気になったこと、勉強したことを備忘録的にまとめて行きます。

【サーバーサイドKotlin】ことはじめ

背景・スキルなど

クライアントサイドの開発(6割)

サーバーサイドの開発(4割) - Ruby On Rails - NodeJS(Express系)

サーバーサイドは、Java/Kotlinともに未経験であり、SpringBootなど名前くらいは知っていますが、特性などは何もわかりません。

サーバーサイドKotlinを選んだきっかけ

普段は比較的小 ~ 中規模のアプリケーション開発が多く、APIのWebインタフェースには最近graphQLを用いることが多いです。しかしながら、バックエンドでTypeScriptを使用していると、シンタックスが弱く冗長な書き方をすることが多く、ストレスを感じていました。

Android開発ではKotlinを使用しており、言語の特性は理解していますが、Kotlinは最近のモダンな機能を概ね網羅しており、ストレスなく書くことができると考えたかというのが理由です。

Webアプリケーションの選定

Webアプリケーションのフレームワークとしては、有名所としては以下のようなものがあります。

JVM系ということでJavaの資産が使えるため、もっと沢山ありそうですが、さっと調べた感じはこのあたりでした。 Spring BootはJava時代からの大御所ということで、情報にこまることはなさそうですが、個人的にJavaのコードを多く有している、Javaシンタックスに引っ張られているというのは少し気になります。

Kotlin実装のものでJetBrains製ということもあり、Ktorを第一候補をして考えています。

GraphQL ライブラリの選定

GraphQLのパース等を時前でやるのは大変なのでこの辺のライブラリも使うのが一般的だと思います。

こちらはあまり数がなさそうですが、この辺が利用者が多そうです。 他にもgraphql-javaというJavaベースのものが存在していますが、graphql-kotolinは、graphql-java依存のライブラリなのでこちらは選択肢には含めませんでした。 選択というほど選択ではないですが、包括機能を考えると、graphql-kotlin が良いかなと思いました。

まとめ

とりあえず、JVM系(コンパイル言語系)のサーバーサイドははじめてなので、未知数ではありますが、

  • webフレームワーク: ktor
  • graphqlライブラリ: graphql-kotlin

この辺を使って、サーバサイドKotlinを勉強したいと思います。