LoginSignup
7
7

More than 5 years have passed since last update.

Github定点観測(Kotlin) その1(2017年6月)

Last updated at Posted at 2017-06-01

『Google、KotlinをAndroidアプリ開発言語に選定――I/O会場から大喝采』

...ということで、Android界隈を中心にこれからKotlinがじわじわと盛り上がっていくものと思われる。

github_017061.png
出典:
http://jp.techcrunch.com/2017/05/18/20170517google-makes-kotlin-a-first-class-language-for-writing-android-apps/

言語としてのKotlinについては,(Javaプログラマでなくとも)良記事JavaプログラマのためのKotlin入門あたりをお勧めするとして、ここでは、本日(2017年6月1日JST午後1時)時点での、Github上でメジャーなKotlinプロジェクトを眺めておくことにしたい。

※これは久々にkotlinが気になっている自分向けのメモ書きなので、随時追記とする。

(追記)"Androidアプリ開発言語に選定"がどのくらいバズったのか...

定点観測するなら、Googleトレンドも使おう的なコメントをいただいた。たしかに、Googleトレンドを使うと、時系列・各国別に興味深い比較を行える。

この2ヶ月ほどの間に起きたこと:
scala_kotlin.PNG

"Androidアプリ開発言語に選定"のインパクトは、Googleトレンド的には、Kotlinが瞬間値でScalaを超えるほどのものであったらしい。JetBrains社のマーケティング戦略、ひとまずは成功というところで、今後はどうなるのかが気になるところ。興味ある人は、以下からいろいろ調べてみよう。
https://trends.google.co.jp/trends/explore?date=today%203-m&q=kotlin

(参考)KotlinとScalaとの関係が気になる人は以下も。
http://qiita.com/kmizu/items/248bcf30c44595e6d091

GitHub Kotlinプロジェクトのスクショ

半年とか1年とか後には、Kotlinプロジェクトのスター数ぐっと増えてるんじゃないかと期待して、メモ的に上位スター数30のスクリーンショットを貼っておく(クリックして拡大)。

github_017061.png

目についたところ

①Android向けライブラリ

AndroidStudio開発がKotlinのもっとも一般的な使われ方であろうこともあり、github上でメジャーなKotlinプロジェクトの多くはAndroid向けライブラリである。中でも、5.9kスターのankoはダントツ(ふだんKotlinを使っていない私も名前は知っていた)
以下、SuperSLiM(2kスター)、RxKotlin(1.9kスター)、Twidere-Android(1.2kスター)、Multi-Selection(984スター)と続く。その他にも、言語名はJavaだがKotlinで(も)書かれているライブラリにもメジャーなものはあるかもしれない。

[付記]
ankoの概説。とっつきやすいDSLだね。
http://dev.classmethod.jp/smartphone/android/kotlin_anko_tutorial/

個人的には、オールドファッションなTwitterクライアントとしてGooglePlayにも公開されているTwidere-Androidと、ウクライナの実力派チームが公開しているMulti-Selectionその他のKotlinライブラリが気になった。

②Kotlin啓蒙系

新興言語であるKotlinは、まだまだ知ってもらう取り組みが必要。
ということで、Kotlin情報を集約したawesome-kotlin(1.7kスター)、入門チュートリアルKotlin-Tutorials(1.4k)、ワークショップに関するkotlin-koan(931スター)、JetBrains社によるkotlin-examples(803スター)など、啓蒙系(?)のプロジェクトも多くのスターを集めている。

awesome-kotlinのリンク集はこちらからも利用できる。分野別にまとめられていていい感じ。
https://kotlin.link

Kotlin-Tutorialsは、中文版のみで1000スター超え。中国では日本以上にKotlinは盛り上がっているのだろうか?

③その他

個人的に気になったのは、、JetBrains社によるkotlin-native(1.2kスター)、gradle-script-kotlin(688スター)、corda(683スター)。

Kotlinからネイティブコードを作成できるkotlin-native。まだまだこれからの取り組みなのだろうが、iOS開発や組込開発でKotlinが使えるようになったら素敵。
公式のアナウンスを見るに、(口)約束はしてくれている:

We are currently working on the core technology for Kotlin/Native which is the same for all target platforms (compiler, core runtime and library). As a matter of possible future work, we are considering the following possible use cases:

  • iOS applications (reusing code with Android)
  • Embedded systems/IoT (e.g., Arduino and beyond)
  • Data analysis and Scientific Computing
  • Server-side and Microservices (low-footprint executables, utilizing the power of coroutines)
  • Game Development

出典 Kotlin/Native Tech Preview: Kotlin without a VM

gradle-script-kotlinは、Groovy製のビルドツールとして有名なgradleのKotlinサポート版。昨年くらいからgradleをkotlinで書くという試みが始まっているらしく、気になっている。

そして、cordaは、金融機関向けの分散型台帳フレームワーク(R3社開発)。活用例は、以下など
株式会社みずほフィナンシャルグループ他のプレスリリース:
【FinTech】ブロックチェーンを活用した実貿易取引の実施について~海外ITサービスプロバイダーとの協働による取り組み~
詳しい人はCordaはブロックチェーンじゃないのでは、とか突っ込みたくなるかもしれないが、バージョン1.0が出てからそんなに時間がたっていないKotlinを金融機関向けのソリューション開発をがっつり使うとは、やるなR3社。
=>個人的には一番の注目株。

番外編

その他、kotlinで、github上で気になった動き(追記中)。

①Spring Framework 5.0でのKotlinサポート

7月にリリース予定のSpring Framework 5.0では公式のKotlinサポートが予定されている。
前々からKotlinでSpringて話題はいろいろあったが、これからの方が楽しみ。
Kotlin routing DSL など、試してみて追ってレポートしたい。

(Spring Framework 5.0)
http://qiita.com/kazuki43zoo/items/1d5d09a5a70a6be696ac

( Kotlin support in Spring Framework 5.0)
https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0
https://speakerdeck.com/sdeleuze/functional-web-applications-with-spring-and-kotlin

おまけ SparkKotlin ~"軽量WAF"SparkのKotlinサポート

Java8向けの軽量webフレームワークsparkがいつのまにか割合とメジャーになって(6.2kスター)、最近、kotlinサポートを表明。spring bootの対抗馬になってくれたら面白い。
https://github.com/perwendel/spark
https://github.com/perwendel/spark-kotlin

関係ないが、Scala製のsparkの方もkotlinDSLサポートしてくれる(orベストプラクティスをどなたか書いてくれる)とうれしいな。

②SwiftKotlin ~ SwiftコードをけっこうまともなKotlinコードに変換

けっこうな需要がありそうなSwift->Kotlinへのコード・コンバーター。
https://github.com/angelolloqui/SwiftKotlin
主な実行環境のiOS/Android間の相違があるため完全な変換はとてもむりだろうが、作者の方は、現時点の実装でも、大抵のSwiftコードをけっこうまともな(a pretty decent)Kotlinコードに変換できるよ、と言っている。実装例:
http://angelolloqui.com/blog/38-Swift-vs-Kotlin-for-real-iOS-Android-apps
Swiftをがっつり書く立場になったら試してみたい。

続きは

年末頃に。それまではcordaを勉強してみる予定。
Kotlinのコードは見た目にいや味が少なくていいね。

7
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7