X

KotlinConf 2017 Keynote レポート

2017年11月2日(現地時刻)に開催されたKotlinConf 2017のKeynoteから主要なトピックを速報でお届けします。

プログラミング言語Kotlinのカンファレンスとしてはじめて公式に開催されたKotlinConf 2017のKeynoteでは、1200人ものエンジニアが参加し、
Kotlinではモバイル、ウェブ、サーバサイドをカバーするマルチプラットフォーム対応を推し進めていくことが明らかになりました。

  • Kotlinの成長と勢い
  • マルチプラットフォーム対応
  • iOS公式サポートの発表
  • プラットフォーム間でコードを共有するCommon Module
  • まとめと会場の様子

それではKeynoteからトピックを紹介します。より詳細な内容は公式ブログの記事を参照してください。KotlinConf 2017のセッションはキーノートを含めてすべて録画されており、後日公開予定です。

普及が加速、GitHubでは2500万行、Androidでも新規アプリの17%が採用

現在、GitHubでホストしているKotlinのソースコードは2500万行を超えており、2013年から2017年10月まで加速度的な普及を示しています。
特に2017年5月、Google I/O 2017でAndroid開発環境でのKotlinサポートは記憶に新しいところです。

実際にリリースされたAndroidアプリのうち、17%のプロダクトでKotlinを採用しています。開発者から多くの支持を受けていることが読み取れる数字です。
今後はKotlinでのアプリ開発、既存のアプリのKotlin化する、Kotlinでの運用などがより活発に議論されていくでしょう。

GoogleはKotlinConf 2017に合わせてAndroid Developer Blogを更新しています。

Android Studio 3.0(安定版)でのKotlinサポート、 Support Library 27でのNullability AnnotationサポートとKotlin対応が進んでいます。
開発者にむけて作られたコーディングスタイルガイドと運用ガイドはこれからの開発の指標となるガイドラインです。

マルチプラットフォーム対応

マルチプラットフォーム対応としてCommon Moduleが発表されました。これは複数のプラットフォーム間で共通のロジックをとりだしてモジュール化する機構です。
Common Moduleをつかうと複数のプラットフォームで同じことを(別のプログラミング言語で)実装する無駄を無くし、効率的な開発を可能にします。

IDEもアップデートしました。紹介した機能のひとつにプラットフォームごとネイティブのテストがあります。ターゲットがJavaScriptであればMochaを、AndroidであればJUnitを実行できます。これはターゲットの環境で動作が保証できる仕組みです。

IDEの紹介ではKotlin/JSとReact Frameworkを組み合わせた開発デモを行い、
さらにIDEのKotlin/Native対応としてCMakeサポートも公表しています。IDE上でネイティブデバッグが可能です。


https://blog.jetbrains.com/kotlin/2017/11/kotlinconf-keynote-recap/より引用

iOSの公式サポートを発表


iOSの公式サポートは、もっとも注目を集めたトピックです。Kotlinで記述したソースコードをLLVM経由でNative Libraryへ変換します。

LLVMをつかったアプリケーションのネイティブビルドではKotlinを変換する際に、ベースとなるKotlinのプロジェクト群からCやObj-C、Kotlinから参照されているネイティブライブラリなどアプリに必要な要素を生成し、ネイティブ起動を実現しています。

LLVMを活用した変換方法はKotlin/Nativeの特徴で、Kotlin/NativeはKotlinコンパイラのためのLLVMバックエンドです。

これまではバーチャルマシン(JavaVM)に最適化していましたが、これらの開発経験を活かしたiOS対応といえるでしょう。キーノートではiOSだけではなくWeb Assemblyなどもターゲットに含まれると思われるスライドも登場していました。

まとめと会場の様子

KotinConfでは将来的にはサポートするネイティブ環境がどんどん増えていき、Kotlinで書けば多くの環境で動く世界を目指しているという大きな方向性が示されました。
またAndroidアプリ開発ではAndroid Studioでの開発支援があり、サーバサイドKotlinのKtor(読み:ケイター)も0.9がリリースされており、それぞれのプラットフォームでの存在感を増しています。キーノートでは大勢の参加者が耳を傾け、熱量を感じるカンファレンスでした。

今回のKotlinConf 2017で提供されたカンファレンスアプリはすべてKotlinで作られています。

リポジトリも公開されており、サーバサイドはKtor、WebはKotlin/JSとReactフレームワーク、Android、iOSとまさに今回の発表内容をフル活用した内容です。

以上、キーノートをお届けしました。おつかれさまでした。

mhidaka: Software Engineerだよ。DroidKaigi Organizer / Androidと組込とRe:VIEW。techbooster主宰。mhidaka's writings http://booklog.jp/users/mhidaka 技術書典! http://techbookfest.org