「SpringFest2018Keynote」聴講メモ

プレゼンター

聴講メモ

Javaの利用状況

  • 3/4がJava8を利用
    • 次点でJava7
    • Java9はLTSでないため少ない
  • 新しいJavaのリリースは6ヶ月ごとのペース
  • Java8の商用サポートは2023年まで
  • Java11も2023年までにサポート開始
  • Java17は2021リリース予定

GraalVMの登場

  • ラクルの新しいVM
  • 高速起動と省メモリが特徴
  • 注意 : Javaの全ての機能をサポートするわけではない

Kotlin

  • GitHubやStackoverflowを見る限り、Kotlinは増加傾向にあり、Javaは減少傾向
  • Kotlin1.3
    • stable coroutines
    • Kotlin/Native Beta
    • Multiplatform project and Tooling
  • Javaよりも短いシンタックスであるが、より静的かつ明示的
  • KotlinでのSpring Boot公式チュートリアルもある

SpringとJavaサポート

  • Spring4.3はJava8のみサポート
    • 2020年1月まで
  • Spring5からはJava9以上と互換性を持つ
    • Spring5.0とSpring5.1はSpring4.3よりもEOLが早い
      • 2019年ごろまで
    • Spring5.2
      • Java12までサポート
      • EOLは未決定
  • Spring Boot 2.1リリース

ロードマップ

  • Spring Framework 5.2 Kotlin features
    • Kotlin 1.3ベース
    • Coroutinesサポート
    • Kotlinの軽量リフレクションをサポート
    • Kotlinでのサンプルコードの提供開始

GraaVM

  • 公式
  • 通常にJVMと比較して圧倒的に起動時間が早い
    • SpringBootはミリ秒単位で起動できるほど

R2DBC ( Reactive Relational Database Connectivity )

  • git
  • DBドライバー
  • リアクティブストリームベース
  • 現在はポスグレのドライバーのみ ( 他のはサポート予定 )
  • Spring Data R2DBC

RSocket

Spring Fu

  • git
    • Spring Fu is an incubator for new Spring features about Kotlin and functional bean registration.
  • Spring Bootよりも高速に起動し、省メモリ
  • Kofu
  • Jafu

感想

  • Springはパフォーマンス面での改善が活発
  • Kotlin推しな印象