IntelliJでkotlin + Android開発を始めてみる

一回Androidアプリを作ってみたかったのですが、どんどん進むAndroidのバージョンと、Javaを(仕事でも書いているので)書きたくなかったため、その大体言語を捜していました。
Scalaとかでチャレンジもしてみましたが、Scala自体がわけわかめ状態になってしまい、こちらも断念。Scalaは構文とかもScalableな気がして怖いです。

そんな折り、Kotlinという言語を知りました。Ceyronとかなら聞いたことはありましたが、これは知らなかったので少し調べると、これもまたJVM言語ということでしたが、
ScalaよりはJavaに近いですが、完全なNullable制御が出来るということで、これいいんじゃね?ということでやってみることにしました。

kotlinの公式ページ

kotlinとは

IntelliJの開発で有名なJetBrains社が公開しているJVM言語(こういう呼びかたでいいんですかね?)です。Githubで公開されています。 https://github.com/JetBrains/kotlin

JetBrainsが作っているということは、当然(?)ながら、IntelliJに公式でプラグインが用意されています。Community Editionでも使えるので、試しに利用してみるだけならば無料で使えるのがありがたいところです。

言語の特徴としては、

  • 演算子オーバーロード
  • null安全を保証
  • クロージャ
    • あるマイルストーンから、関数が完全な第一級オブジェクトとして利用できるようになったそうです
  • パターンマッチング
  • 拡張関数
    • ある意味Kotlinの大きな特徴のようです。
  • プロパティ
    • getter/setterの山と(それなりに)おさらばできる機能です。

その他にも色々あります。使いやすくしたJava、という感じで、特にnull安全が個人的には期待できます・・・が、Android開発に使う場合は嫌でもoverrideした時に結局nullを許可しないとならないので、これはこれで考えものかと・・・。

IntelliJで利用する

ちょっと調べると色々な人やサイトで記述されているので、こちらを参考にしました。現在のIntelliJのバージョンと差異がありますが、特にやることは変わりません。
https://sites.google.com/site/tarokotlin/chap2/sec23

IntelliJ上でのAndroid開発についても、色々なところで書かれているので、こちらも以下のページを参考にしました。
http://d.hatena.ne.jp/CortYuming/20131001/p1

Android Studioでは、Gradleが標準になったということなので、今回はGradleで作成してみます。

Gradleを利用したAndroidモジュールを作成する

と言っても、環境構築ができていれば、単純にプロジェクトを設定していくだけです。

New Project -> Java -> Android -> Gradle: Android Moduleを選択

Gradle構成の場合、メインとなるプロジェクトと、メインとするモジュールをそれぞれこの時点で定義する必要があります。ここはよくわかりませんでしたが、何回か作り直したりしたら、なんとなくわかるようになりました。

kotlinを利用する

これも簡単で、プラグインが入っていれば、どこかのディレクトリの上で右クリック → New → Kotlin fileを選択して、ファイル名を入れるだけです。すると、右上に通知的なものが出てきますので、とりあえずそれをクリックしていけば、Kotlinの設定は終わってしまいます。

注意としては、kotlinのファイルはソースのルートディレクトリ(デフォルトではsrc/main)に、 *kotlin* というディレクトリ名で作成した上で、その中に格納するのがベターの様です。これも、エディター部分の上部に通知的なものとして表示されて教えてくれます。

とりあえずはここまでで、次は実際にKotlinで作ったアクティビティをエミュレーター上で動かしてみたいです。