Help us understand the problem. What is going on with this article?

KotlinはAndroidだけじゃない。サーバーサイドKotlinの波もきっと来る。

More than 1 year has passed since last update.

KotlinがAndroidの正式な開発言語となりました。

[速報]「Kotlin」がAndroidの正式な開発言語に。開発元のJetBrainsとGoogleが「Kotlin財団」の設立も計画。Google I/O 2017

そして、サーバーサイドJavaフレームワークの大御所Springの次期メジャーバージョンSpring 5.0も正式にKotlinに対応することを表明しています。Spring 5.0 は現在RCで、正式リリースはもうまもなくです。

サーバーサイドKotlinはこれまで十分に評価されて来ませんでしたが、AndroidやSpringへの公式採用の波を受けて改めて評価される機会が増え、徐々に広まっていくと考えています。

サーバーサイドKotlinは他の言語と比べてもとてもバランスの良い選択肢です。

  • Javaとほぼ同等の高いパフォーマンス
  • 覚えやすく書きやすいシンタックス
  • 豊富なライブラリ(Javaのライブラリが使える)
  • コルーチンやnull安全な変数などモダンな言語機能

パフォーマンスが要求されるサーバーの場合、最近ではGoやNodeJSなどが使われることが多いと思います。しかし、GoやNodeJSは実際に使ってみると、独特の辛さがあります。Goは高速で堅牢ですが、Javaや一般的な軽量言語に慣れた開発者には言語機能が少なく感じられたり、標準ライブラリによるコレクション操作が弱いなどの問題があります。NodeJSは強みでもあるシングルスレッドの制約があるため、より高度な設計や複雑なコーディングを強いられます。これらに比べてKotlinのよいところは、「普通に進化している」ところです。
KotlinはGoほど特殊なシンタックスではないですし、シングルスレッドでもありませんし、関数型言語でもありません。
Kotlinには特別で突出した機能はないかもしれません。しかし、十分な言語機能とライブラリと使いやすさを備え、これといった短所がありません。短所を強いていうなら、サーバーサイドKotlinの利用者が少ないことによるエコシステムの弱さです。ただしライブラリは基本的にJavaのものが使えるため、何かを実現するためのライブラリがないといったことはまずありません。

僕自身は去年にスマホアプリ向けのWebApiサーバーとしてサーバーサイドKotlinを投入しており、既にサーバーサイドKotlinの使用は実用的でメリットがあると確信しています。この機会にサーバーサイドKotlinについても評価してくれる方が増えることを願っています。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした