8割完成済みのjavaプロジェクトにkotlinを途中導入した話

0a16f7b8629f2facca2a1e80a73c5423?s=47 ryo
November 07, 2018
1.5k

 8割完成済みのjavaプロジェクトにkotlinを途中導入した話

どこでもkotlin #6 発表スライド

0a16f7b8629f2facca2a1e80a73c5423?s=128

ryo

November 07, 2018
Tweet

Transcript

  1. 8割完成済みのJavaプロジェクトにKotlinを 途中導入した話 エムスリー株式会社 川俣 涼

  2. 自己紹介

  3. 川俣 涼 @ryoKawamata 1989.04.25 生 前職: 消防士 (エンジニア歴9ヶ月) 好きな言語: Ruby,

    js, Kotlin
  4. 報告書作成支援 システム Electron Vue

  5. 鍼灸院専門の webデザイン事業

  6. 患者管理システム Ruby Rails

  7. 今日話すことは?

  8. Javaプロジェクトに Kotlinを途中導入してどうだったのか? メリットは? 導入の経緯は? 詰まったところは? デメリットは?

  9. どんなプロジェクトに導入?

  10. m3.com カンファレンス Java8 maven SpringBoot Tymereaf

  11. なぜKotlin導入したの?

  12. 1. 社内でのKotlin導入の流れ 2. 技術的な挑戦をしてみたい

  13. 導入にあたっての障害は?

  14. 以前社内でKotlinでリニューアルを担当した @susan2goさんの存在 チームとしての姿勢 特になし

  15. どのように進めている?

  16. 1. 新規追加するクラス・テストはKotlinで実装 2. 機能追加完了後、全クラスのKotlin化を進める

  17. Kotlin化のメリットは?

  18. 1. コード量の減少で開発効率アップ Data Classの利用, raw string, 強力なコレクションの操作(map, filter) 2. 素敵なNull安全

    ヌルポの危険を事前に検知。 いかにJavaでnullの危険のある書き方をしていたかがわかる。
  19. ex. コレクションの操作(filter, sorted) Java

  20. ex. コレクションの操作(filter, sorted) kotlin

  21. Kotlin化のデメリットは?

  22. 特になし

  23. 1. まだ情報が少ない 2. javaコンパイラ周りの知識は必要

  24. 1. まだ情報が少ない

  25. Java Kotlin Qiitaの記事数 1250 132 Stack Overflowの質問数 21,434 369 Kotlin

    or Java ✖ spring bootの情報量 2018/11/7 時点
  26. 2. javaコンパイラ周りの知識は必要

  27. lombokを使っている Javaクラスのプロパティを参照できない

  28. Delombok or Kotlin 化 or 別モジュール への切り出し

  29. JavaからKotlinのクラスを参照すると ビルドエラー

  30. maven-compiler-plugin を追加し ビルド順を変更 Kotlin-maven-plugin maven-compiler-plugin Kotlinをコンパイル後に Javaをコンパイル

  31. 実際導入はどれくらい簡単なの??

  32. Demo

  33. まとめ

  34. サーバーサイドの Kotlin導入は容易に出来る Kotlin使ってハッピーになろう