天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

なぜKotlinで開発するのか?Kotlinの魅力について語る会に参加してきた

moneyforward.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていきます。

会の概要

以下、イベントページから引用です。

今回のテーマは「Kotlin」です。マネーフォワードでもご多分に漏れずKotlin熱が高まっています。 いままではモバイルエンジニア中心だったところに、サーバーサイドでもいいらしいぞ!とバックエンドエンジニアからも注目されている技術として関心がよせられています。

今回のイベントではKotlinにフォーカスして、実際にKotlinで開発されているテック企業をお呼びし、パネルディスカッション形式で魅力とその開発事情について掘り下げていきたいと思います。

会で印象的だったこと

サーバサイドにKotlinを使用する理由

以下のような点が理由として挙がっていました。

  • 最近興味を持っているエンジニアが多いので開発者のモチベーションが高い。
  • 比較的新しい言語ということで、エンジニア採用に有利である。
  • null safety

RailsのようなFWがないことで苦労した点

参加者の皆さんの共通意見として、KotlinはSpring FWがあり、Spring FWが非常に充実しているため、そこまで苦労した点はないというお話が挙がっていました。
一方で、O/Rマッパーどうするんだという話はあるという話も出ていました。*1

Kotlinの良い点

intelliJとの組み合わせで高速に開発ができるのがKotlinの良い点だというお話が挙がっていました。

その他にも、簡潔に書ける*2という点やモダンな書き方ができる点*3、保守性が高い点も挙げられていました。

イミュ―タブルの強力さは業務でも強く実感しており、保守性が高いコードが書きやすい点は非常に自分自身も共感しました。

Kotlinに期待したいこと

マルチプラットフォームを謳っているので、より多数のプラットフォームで事例が出てきて欲しいという点が挙がっていました。

また、ktlint, detektなどはあるもののフォーマッター(lint系)が今ひとつな印象があり、コードのフォーマットといったあまり悩みたくないことに悩む印象がある*4

使用しているライブラリ

  • Spring Boot
  • JOOQ
  • MyBatis
  • GraphQL Kotlin

が挙がっていました。
O/Rマッパーの選定はRubyなどと違って難しいということです。

Kotlinのスキルアップ支援

Kotlinだからこそ、というのはあまりなく、社内勉強会やKotlin愛に溢れる人たちがコードレビューをするという形でキャッチアップ支援をしているということでした。

Kotlinに携わっている人は技術好きでどんどん勉強する人が多いので、割と好きにやってもらっているという話も出ていました。

全体を通した感想

(金融業界だと特に)サーバサイドKotlinの実績はまだあまり表に出ていない印象があるので、今回のイベントで話を聴けたのはよかったです。

Kotlinを愛する方々のトークはとっても面白かったです。

*1:生のSQLを使うことで学習コストを減らしているというお話をしていました

*2:データクラスのお陰でJavaのコードの半分くらいで書けるようになった

*3:nullの取り回しが安定しているなど

*4:ただ、参加者の中にはそこまで苦労していないという話も出ていました