タケハタのブログ

プログラマの生き方、働き方、技術について雑多に書いていくブログです。

【てっくぼっとサマリー】1年半開発してきて実感したサーバーサイドKotlinのメリット

これからてっくぼっと(会社の技術ブログ)を書いた時に、そのサマリーとともにリンクを貼った記事をこのブログに上げることにしました。
てっくぼっとを書いているとどうしても自分のブログの更新が止まってしまい、実績が分散するのが嫌なので。

今回は先週の木曜日にリリースしたのはこの記事。

blog.applibot.co.jp

概要

アプリボットで1年半サーバーサイドKotlinで開発してきた経験を元に、導入時に考えていたKotlinのメリット(安全性、モダンな実装、Javaからの移行コストの低さなど)で実際どれだけ恩恵が得られたのかを書いています。
なるべく実践での使い方に近いサンプルで、よりリアルなメリットを感じられるようになっています。

目次

  1. コンパイルで防げるエラーが多く安全性が高まった
    1. Null安全の存在により、Null許容、非許容の不整合がなくなった
    2. 変数定義は基本的にImmutableにできる
      1. 更新は基本的にオブジェクトのプロパティにすることが多い
      2. varを使うパターン
    3. Collectionも基本はImmutable
  2. モダンな機能で保守性も上がり、コード量も2割削減された
    1. 不要なキーワードの削除
    2. Lombokが不要になったことでアノテーションの削減
      1. アクセサメソッドはプロパティ、データクラス
      2. Builderはデフォルト引数&名前付き引数で
    3. 高階関数、Type Aliasesで関数型を使う
    4. Collectionの機能が充実している
  3. やはりJavaからの移行コストは低く抑えられた
    1. 対応が難しいものはJavaのまま使える
      1. ツールなどで自動生成するファイル
      2. Javaで作成していた自前のライブラリ
    2. 同じフレームワークが使えることの容易さ
    3. 一斉に移行するのであればIntelliJ IDEAの変換は早い
  4. 最後に

記事のポイント

  • 変数は大体Null非許容にできる
  • 変数は大体Immutableにできる
  • コード量はかなり減った
  • Javaからの移行コストはやっぱり低い
  • JavaエンジニアがKotlinを触るのは学習コストが低くスムーズ

といったところになります。
ぜひ読んでみてください!