LINE Developer Meetup 49 #LINE_DM

line.connpass.com

今年最初の京都開催。いつも通りメモと懇親会で話した内容とか。

割とKotlin自体は筋がいいなと思っていて、前の会社もやめる前に言語選定でいいんじゃないのという話をしていたが、最近採用するところが多いなーと感じている。Scalaと比べるとJavaから徐々に移行していくのがしやすいのかしら? きしださんの初めの話からするとそんな印象を受ける。

LINEのKotlinの話

  • きしださん
  • Androidは基本Kotlin
  • ServerSideは一部
  • OSSも一部公開

    サーバーサイド

  • Javaと共存させながらKotlin
  • 積極的に置き換えてるわけではない
  • やっぱりSpringBoot
    • KtorとかなどKotlinだとまだノウハウ溜まってなかったりするので
  • 非同期でcoroutines使う

    全般的に

  • 聞いた感じ、現実的な導入の仕方に聞こえる

Reduce dependency on Rx with Kotlin Coroutine

  • うまみさん
  • LINE Creators Studio
    • Pure Kotlin

      Rx

  • debunceの説明
    • 一定期間におきたイベントをまとめる
  • Kotlin 1.3
    • Coroutines
    • CoroutineにScopeがある
  • 例にあげてるコードだとダメ(あくまで説明用)
  • 公式にKotlin coroutinesとRxの橋渡しをするライブラリがある
  • MVVMでのCoroutineの使い方
    • V-VM間はObservable
    • VM-M間はSingle
  • 今のところAndroidでの話だけど、Coroutines自体はサーバーサイドでも使えるよね?

Use Kotlin scripts and Clova SDK to build your Clova extension

  • Freddieさん
  • Kotlin Scriptの例
    • 値が最後にあるとそれをreturn
    • 式とかはnull
  • suspendとかちゃんと使ってる
  • Kotlin Script Engine経由でClova Extensionを作成できる
    • おもろい
    • セキュリティ面とかどうなってるのかな
      • 懇親会でも喋る機会がちょっとなかったでござる

Kotlin/NativeでAndroidのNativeメソッドを実装してみた

  • うえはらさん
  • Kotlin/Native……ロマンある話
  • JNIでKotlin/Nativeがかけるかどうか -> 動いた
  • JNI周りのコードどうなるんだろう
    • この辺の細々したものが、Kotlin/Nativeのライブラリに存在している
    • 割とこの辺のことも考えていたのかと思われる用意
  • memScoped関数
    • Nativeだとメモリ周り触る用のあれこれ揃えてるらしい
  • メモリ管理とかはJavaGCとかが動くとのこと(そりゃそうか)
  • 全然別の話だが懇親会でしゃべってたら、先週のScala福岡に参加してらして、ハンズオンも参加されていたとのこと。イベント自体はいい印象を持たれてたとともに、やっぱりScala難しい印象があるようだ。

raydive.hatenablog.jp

その他

  • 先週のScala福岡できしださんがLTしたScala nativeとかの続報というか、AMD環境だとScala nativeの方がJVMより早かったという話を聞けたり
  • Kotlin使ってる人たちがやっぱり多く、Scalaは人集めが大変らしく採用されないらしい😢
  • やはり知らない人に突撃していくのはなかなか難しいなぁという気持ちになる