なにか作る

なにかを作るブログです。

国内の公開されているサーバーサイド Kotlin 採用事例まとめ

公開されているサーバーサイド Kotlin の国内採用事例をまとめてみた。

サイバーエージェント

アメーバピグ

developers.cyberagent.co.jp

どのようなシステムで採用しているか

長く使われている既存のJavaシステムでの新規開発部分。改修部分をJavaではなくKotlinを用いて記述。

Kotlin採用理由
  • 組織として技術的なモチベーションを上げるため。
  • デフォルトでNotNull型。
  • 関数型によりすぎておらず、Scalaほど敷居が高くない。
  • GoogleAndroidでの対応言語採用により、今後言語が急激に廃れる可能性は低いと判断。

FRESH LIVE

blog.soushi.me

speakerdeck.com

どのようなシステムで採用しているか

マイクロサービスアーキテクチャのシステムの新規開発

使用フレームワーク
  • Spring Boot 2
  • grpc-java
  • Jackson
  • Doma 2
  • Spark Framework 2.7

LINE

engineering.linecorp.com

どのようなシステムで採用しているか

ゲームプラットフォームにおけるレコメンデーション API

使用フレームワーク
  • Spring Boot 1.5.x

エムスリー

speakerdeck.com

どのようなシステムで採用しているか

Java で作られているアーキテクチャが複雑化したレガシーシステムのフルリニューアル。

Kotlin採用理由
  • 型がほしい
  • Ruby経験者が馴染みやすい
  • Java製の社内ライブラリが使える
  • 言語の将来性がある
使用フレームワーク
  • Spring Boot
    • オフィシャルにKotlinサポートを宣言
  • Doma 2

エス・エム・エス

careers.bm-sms.co.jp

使用フレームワーク
  • Spring Boot

ユーザベース

NewsPicks

medium.com

どのようなシステムで採用しているか

新しいビジネスを実現するための新規小規模システム(API数50強)

Kotlin採用理由
  • Java でサービスを運用してきている組織/メンバーのナレッジは活かしつつ、もう少し書きやすくモダンな言語機能を持つ
  • 職能ではなく事業ミッション毎にエンジニアをアサインしていることが多いので、Android エンジニアがサーバーサイドの開発に入りやすい
使用フレームワーク
  • Grizzly 2
  • Jersey 2
  • Kodein
  • Hibernate 5
  • Jedis
  • Retrofit 2
  • Jackson

FORCAS

zine.qiita.com

enterpedia

newspicks.com

Retty

speakerdeck.com

どのようなシステムで採用したか
  • PHP APIサーバからの分離
  • 開発速度よりも品質を優先
Kotlin採用理由
  • Nullable型
    • nullかどうかを含めて外部インターフェースを厳密に定義できる
  • Javaと100%compatible
    • サーバーサイドで実績のあるJavaの豊富なライブラリをふんだんに使える
フレームワーク採用理由

アプリボット

blog.applibot.co.jp

Ubie

taro.hatenablog.jp

クオカード

quo-digital.jp

メディアマックスジャパン

www.mediamaxjapan.com

どのようなシステムで採用しているか
  • 既存のJavaシステムのリプレース
Kotlin採用理由
  • Javaに対する言語的優位性
  • 技術的チャレンジによるモチベーション向上
使用フレームワーク
  • Jooby
  • JOOQ
  • Rocker

Kotlin Webアプリケーション 新しいサーバサイドプログラミング

Kotlin Webアプリケーション 新しいサーバサイドプログラミング