Konifar's ZATSU

私はのび太の味方じゃないわ、悪の敵よ

韓国では日本ほどAndroidにKotlinが浸透していないらしい

韓国のDroidKnightsという大きめのカンファレンスに参加してきた。

「Is Kotlin necessary for us?」みたいな感じのタイトルのセッションが満員御礼でちょっと意外だったので、韓国のKotlin事情についての考察の話をしたい*1。一応先に言っておくと、遅れているとか言うつもりは全くなくて、何が違うのかと思って色々聞いてみたことをまとめただけである。

f:id:konifar:20190405232845p:plain

(韓国語だったのでGoogle翻訳で日本語にしている)

なぜ意外だったかというと、2017年にGoogleがKotlinを公式に採用するとなって以降、日本ではこういった話はすでに話しつくされてKotlin当たり前やろみたいな空気になっていると感じているからだ。現地に「何で開発してる?」的なアンケートボードがあったので見てみたが、たしかに日本よりもJava比率が高い気がする。カンファレンスに来るような人たちという意味では同じなので、やはり少し違いがあるように思う。

f:id:konifar:20190405232908j:plain

もしかしたら参加者の層にもよるのかもしれないが、実際に現地の人と話してみると 「うーん、そんなにめちゃくちゃ浸透しているわけでもないね。Javaでいいじゃんみたいな空気がある」とのことだった。retrolambdaを使ってJava8対応して書いていることが多いらしい。Kotlinを採用しないので当然Coroutineの話もそこまで盛り上がってはいなかった。

なぜKotlinが浸透してないのかと聞いてみたところ、「たぶんサーバーサイドも含めてJavaが根付いているからじゃないかなー」という話だった。韓国では、国が企業に発注する仕事というのが結構あって、そのサーバーサイドはSpringフレームワークを拡張したものを使ってJavaで書くことが多いらしい。国が発注して作ったものは、運用中に言語を変えるような変更をすることはまずない。余談だが、韓国では銀行や政府関係のサービスなどはIE10じゃないと動かないサービスがいまだに多いらしい(全体の50%くらいのサービスはIE10をサポートしていると言っていた)。

加えて、Kotlinはビルド時間が長くなるといった部分についての懸念もあり、 「Javaのままでいいじゃん」という意見がまだ多いとのことだった。サーバーサイドKotlinの話も、自分が話したかぎりだとまったく聞かなかった。

たしかに、慣れているものを変えるのはパワーが必要だ。不便さというのは、便利なものが当たり前にならないと気づけないことも多い。しかし、その話で言えば日本でも同じようになかなかKotlinが浸透しないはずである。かくいう自分も、結構長いことKotlinを様子見していてなかなか採用しなかった。何が状況を変えたんじゃろかと思いながら話していたら、ひとつこれかなーと思う話があった。

それは「韓国では日本に比べてコミュニティ活動がかなり少ない」ということだ。東京のAndroid界隈だと、shibuya.apk、potatotips、kyobashi.dexをはじめ、様々なmeetupが毎月のように開催されているが、韓国ではほぼないそうだ。じゃあどこで情報収集しているのかと聞くと、Googleのブログを読んだり動画を見たり本を読んだり、日本語ができる人はDroidKaigiのYouTubeを見たりして、自分でブログにまとめて発信しながら勉強しているらしい。すごい。Androidの膨大な分野をそんなふうに個人戦でキャッチアップできるのすごすぎる。

日本では、@satorufujiwaraさんや@ngsw_taroさんがかなり早くからKotlinについて色々とよさを語っていたし、@shiraj_iさんもKotlinのContributeについての話をして盛り上げていた。コミュニティがあると、こういった主張の流れを加速させ、パッションとともに多くの人に伝えられるのだろう。もちろん個人で知見を共有しまくっているだけでも意味はあると思うが、JavaからKotlinのようなドラスティックな変化を浸透させていくには、コミュニティがあった方が加速しやすいのかもしれないと思った。まあ自分が何人かと話して感じただけなので何の確証もないのだけれども。

DroidKaigiの雰囲気をみると、おそらく非同期通信まわりがRxじゃなくCoroutineを使うのが多数という状況になるのもすぐなんだろうなと思う。一方、韓国ではMVPやMVVMといった設計の基盤となるDataBindingやRxについては結構深く議論されていて、なんだか別の世界線を見ているようで興味深かった。カンファレンス全体の感想はまた真面目な方のブログで書きたい。→かいた。

[2019/04/06 (土) 0:25 補足]

色々トレードオフを考えた結果、今はまだKotlinに移行しないという判断をしている人が多いのだという話なのかもしれない。DroidKnightsに登壇している人たちはいわばアーリーアダプターで彼らはKotlinを使っているだろうとのことだった。もしかしたら600人くらいの参加者の中ではJavaの方が多数だったという話なのかもしれない。あるいは、自分が住んでいる東京のコミュニティやSNSの中での割合と比較して考えると違うというだけかもしれない。 韓国日本 というくくりは雑すぎた。申し訳ない。

*1:自分の聞き取りの間違いもあるかもしれないです。間違っていたらごめんなさいすぐ修正します