CodeIQ MAGAZINECodeIQ MAGAZINE

Kotlinのパイオニア長澤太郎氏・LINE Fukuoka吉田清亮氏が語る、Kotlinの運用とこれから

2017.12.15 Category:インタビュー Tag: ,

  • 111
  • このエントリーをはてなブックマークに追加

2017年、いよいよGoogle I/Oでサポートが発表され大注目のAndroidアプリ開発言語「Kotlin」。
正式採択前から日本でKotlinを啓蒙し続けてきた長澤太郎氏と、早い段階からKotlinを導入し開発してきたLINE Fukuoka社のAndroidエンジニア吉田清亮氏に、Kotlinの運用や展望を語っていただきました。
by dotstudio

「不安よりワクワク感が勝った」Kotlin導入のキッカケ

吉田(LINE):今年はいよいよGoogleの正式サポートが発表されましたね。今年のGoogle I/Oは、太郎さんはかなり注視していたんじゃないですか?

長澤(エムスリー):毎年来るか、来るかとドキドキしていたので、正直「今年も来ないだろ、もういいよ……」という気持ちで見ていました(笑)。

エムスリー株式会社 長澤 太郎氏

長澤:LINEさんがKotlinを導入しはじめたのはいつ頃なんですか?

吉田:2016年の秋頃からです。僕はLINE FukuokaでLINE Creators Studioというアプリ開発に携わっているのですが、その開発を始める段階でKotlinを採用しました。

開発チームが立ち上がったときは3人で、みんな初学者でしたが特に異論なく採用されました。Kotlin導入の決定自体はすごくスムーズでしたね。

LINE Fukuoka株式会社 開発室 吉田 清亮氏

⇒参考:LINE Creators Studio開発に使われるKotlinのご紹介

長澤:Google I/Oの発表以前からなんですね。導入にあたって不安要素はなかったんですか?

吉田正直、ほとんどなかったですね。Kotlin1.0のリリースから間が空いてようやくKotlin1.1がリリースされるタイミングだったので、ある程度の安心感もありましたし、ネックだったDaggerのうまく動かない問題もちょうど解決された頃ですんなり導入できたので、やってみようと。

チームとしても会社としても、導入への不安より「使ってみようよ」というワクワク感が勝っていました(笑)。太郎さんの活動のおかげで心的障壁が低くなっていたのもあると思います。太郎さんの会社は、やはりKotlinの導入は早かったんですか?

長澤:僕がKotlinを触り始めたのは4、5年前ですが、会社の開発への導入は2年前でした。Java製のAndroidアプリのリニューアルをしていて、そのときに僕の活動を知っていた上司に背中を押してもらったのがキッカケです。

それでも当時は、導入するのは早いんじゃないかと不安がありましたね。なので、Google I/Oでサポートが発表されて本当に嬉しかったです。

吉田選択したことの正しさが証明された、という気持ちになりますよね。一安心しました。

初学者だけの環境でクオリティを上げていくために

長澤:とはいえ、全員が初学者の状態で開発を進めていくのは大変じゃなかったですか?コーディングスタイルの統一やコードのクオリティの担保などどうやって進めてました?

吉田:僕らのチームは日本語より英語の方が得意というメンバーが多いので、みんなで英語のチュートリアルやドキュメントを見て勉強を始めました

当初はやはりapply、letの扱いとか、変数itの宣言とか、多少混乱がありましたね。当時も今もコードレビューをベースに、実装ごとにつど良い方法を話し合うようにしています。

長澤:KotlinはJavaと比べると自由な部分が多いので、戸惑う部分もありますよね。僕も今は2人で開発しているので、コードレビューがベースになっています。

吉田:僕のチームの開発ではJetBrains公式ライブラリのankoを採用しているのですが、コーディングスタイルやKotlinの作法などはソースコードを読んでいくのがかなり勉強になりました。

最近はGoogle、JetBrainsからもコーディングスタイルの指針が発表されましたし、それに基づいて社内のコーディングスタイルの作成を進めています。

Kotlinならではの機能を楽しんで学習する

長澤:新たに入ってくるKotlin初学者のエンジニアたちは、コーディングスタイルとコードレビューをもとに教育していくという形でしょうか。

吉田:それに加えてオリエンテーションなどでサポートするようにしています。ただKotlinはStreamに似ているSequenceなど、理解が難しい上になかなか使わない機能などもあって、初心者にどこまで教えるか悩みどころなんですよね。

長澤:僕も初心者向けのハンズオン講師などを務めますが、学習コストが高すぎる機能は割り切って最初は教えないようにしています。とりあえずKotlinならではの機能を一通り触って楽しんでもらえれば。

自著で恐縮ですが「Kotlinスタートブック」(通称・赤べこ本)はKotlinの基本をさらうようにチュートリアルが組み込まれていて、最初の一冊としてオススメできます。

Kotlinスタートブック / 長澤太郎 著 (リックテレコム)

吉田:いいですね。ちなみに今日僕も太郎さんの訳書を持ってきていて……後ほどサインもらってもいいですか!

最新情報は英語リソースから直接キャッチアップ

長澤:Spring Framework 5.0が登場し、よりKotlinフレンドリなフレームワークになりましたね。

吉田:LINEのアプリケーションはSpring Bootを採用しているものも多いんですけど、今度出るSpring Boot 2.0はSpring Framework 5.0をサポートしているのでサーバサイドKotlinも問題なく導入していけそうだなと思っているんですよね。

長澤:そうですね、Springを使った開発をしていれば、サーバサイドもJavaとKotlinの相互運用をそれほど意識せずに開発できるようになりましたね。

長澤:LINEさんでは新しいフレームワークやライブラリの導入は結構自由なんですか?

吉田:話し合って総意が取れれば自由に導入しています。ただし学習コストがかかりすぎる場合は要検討ですが……。新しい技術情報は、海外の一次情報を当たったり、カンファレンスに参加して得るようにしています。

今年もメンバーの1人がサンフランシスコで開催された「KotlinConf 2017」に参加してきました。LINEの制度で、エンジニアは年に1回海外のカンファレンスに自由に参加できるんですよ。

長澤:ええ、それはすごいですね!DroidKaigiのスポンサーにもついていましたし、会社が推してくれる体制なのはいいですね。

全国で高まるKotlin熱

長澤:そういえば、「Fukuoka.kt #1」の開催会場もLINE Fukuokaさんでしたね。

吉田:そうですね。主催というわけではないんですが、僕は福岡でもっとKotlin界隈が盛り上がってほしいなと思っているので協力してもらいました。

第1回はかなり盛況でしたしもうすぐ第2回を開催したいなと思っていて、ゲストにはぜひ太郎さんに来てほしいなと目論んでます。

長澤:おお、本当ですか。いろいろな場所でKotlin界隈盛り上がってきていて嬉しいです。

吉田:Kotlinが出始めた当初よりは知名度も開発者人口もだいぶ増えてきて、Advent Calendarのランキングなんかもすごく人気でしたね。

長澤:2012年の時は、全然流行っていなかったので一人でKotlin Advent Calendar書いていたんですよ。それが年を追うごとに書いてくれる人が増え、今年のカレンダーは僕が作ったのに枠を取る前に埋まってしまいました(笑)。

かつては一人で完走したKotlin Advent Calendar 2012(全部俺)

開発領域がますます広がるKotlin

吉田:これからAndroidアプリ開発を始めるというときに、もはやKotlinを選ばない理由がないですよね。

長澤:Androidアプリ開発としてのKotlinはもう定着してきていますよね。KotlinConf 2017でも、Androidアプリ開発よりサーバサイド開発に関する話題の方が多かったです。あえてAndroidに触れる必要がないという。

吉田:Kotlin1.2もちょうどリリースされましたしね。LINEの一部アプリでも早速アップデート対応します。Kotlinは言語自体のクオリティコントロールが高くて、バージョンアップも苦労がなくていいですね。

長澤:Kotlin 1.2の目玉機能はJavaScriptとJavaのマルチプラットフォーム対応ですよね。これからのAndroidアプリ開発はもちろん、Webフロントエンドも、ひいてはバックエンドも、Kotlinが食うぞ!……という妄想をしています(笑)。

吉田:Kotlin Nativeもありますし、今C言語で書いているようなもっと低レベルの部分もKotlinで書けたらいいな、と僕も妄想しています。Kotlinでの開発がより盛り上がっていくことに期待ですね。

── 対談、ありがとうございました。ますます研鑽されていくKotlinの今後に期待です!

【対談者プロフィール】

LINE Fukuoka株式会社 開発室 吉田 清亮(よしだ・せいすけ)氏
フリーランスとしてRuby on RailsやJavaのサーバーサイド開発や、Androidアプリケーション開発を行ったのち、2014年にLINE Fukuokaに入社。Androidやサーバーサイド開発を行い、現在はKotlinでのAndroid開発に携わる。

エムスリー株式会社 長澤 太郎(ながさわ・たろう)氏
メーカー系SIerを経て、2013年10月にエムスリー株式会社に入社。医療情報プラットフォーム「m3.com」、医薬品情報サービスの「MR君」のAndroidアプリの開発を担当。「MR君」はKotlinを使用している。日本Kotlinユーザグループ代表、日本Javaユーザグループ幹事。著書に「Kotlin スタートブック」「Kotlin Webアプリケーション」。

●著者プロフィール

dotstudio ちゃんとく
大学までは文系で法学を学んでいたが「モノを作れる人」に憧れて知識ゼロからエンジニアに転身。本業ではPHPでWebサーバサイド開発を担う傍ら、テクニカルライターとしてdotstudioに参加している。Node.jsユーザグループ内の女性コミュニティ「Node Girls」を主催。趣味の電子工作では日本最大のIoTコミュニティ「IoTLT」で体当たり電子工作を発表中。
Twitter: @tokutoku393 / dotstudio, inc.

  • 111
  • このエントリーをはてなブックマークに追加

■関連記事

「LINE API Expert」第1期 日本メンバー5人に選ばれたのはどんなエンジニア?... 「LINE API Expert」第1期 日本メンバー決定! 「LINE API Expert」とは、LINE APIの知識と高い技術力を持ち、そしてコミュニティに対する発信力が高いエンジニアの方々を認定して、LINE APIの提供価値を示すための活動を支援する制度。 そのLINE API Ex...
【徳丸浩×LINE】なぜ、若者は情報発信しないの?─三世代の視点でセキュリティエンジニアを分析!... コミュニティもコミュニケーションもクローズドな方向へ 中村 智史氏(以下、中村): 前回の二人の対談を聞いていて世代にギャップがあるなと感じていたんですが、私はちょうど徳丸先生の世代と志賀君ら若手世代との、ちょうど中間世代なんです。 ▲LINE株式会社 セキュリティ室 アプリケーションセキュリテ...
【徳丸浩×LINE志賀遼太】セキュリティにはブラックボックスを解き明かす、パズル的な面白さがある... セキュリティの道へのきっかけは純粋な興味か、必要性か 志賀 遼太氏(以下、志賀): 大学2~3年の頃に当時関わっていたベンチャー企業の方に誘われて、mixi主催のScrap Challengeというイベントに参加したんです。脆弱性チャレンジを体験して、「結構面白いな」と興味を持ったのがきっかけです...
「地味だけど、面白い!」―LINE・NTTエンジニアが語る、日本を支える大規模JVM運用の舞台裏... 大規模なJVM運用の共通点 ――お互い間接的にご存知だったそうですが、初対面ということでまずは自己紹介からお願いします。 鶴原(LINE):私はLINEアプリのメッセンジャー機能のバックエンドの、アプリケーションサーバの開発をしています。LINEのサーバーサイドはJavaで書かれていて、多くの部...
LINE清水大輔×リクルートテクノロジーズ古川陽介が語る、フロントエンドエンジニアに求める姿とは... 広がるフロントエンドエンジニアの領域 ──LINE社、リクルートテクノロジーズ社の2社では、「フロントエンドエンジニア」はそれぞれどんな仕事を担っているんでしょうか。 清水(LINE):サービスのランディングページやCMSなど通常のブラウザ向けのページもちろん作るんですけど、割合として多いのは ...
LINE CTO朴イビン氏に聞く──LINEはクラウドAIプラットフォーム「Clova」で何をするの... LINEとNAVERの技術を集大成である「Clova」と「WAVE」 LINEは2017年9月28日、渋谷のヒカリエホールで「LINE DEVELOPER DAY 2017」を開催した。 コミュニケーションアプリ「LINE」をはじめ、LINEのさまざまなサービスにおける技術領域でのチャレンジや社...

今週のPickUPレポート

新着記事

週間ランキング

CodeIQとは

CodeIQ(コードアイキュー)とは、自分の実力を知りたいITエンジニア向けの、実務スキル評価サービスです。

CodeIQご利用にあたって
関連サイト
codeiq

リクルートへ