LoginSignup
3
7

More than 5 years have passed since last update.

Kotlinを学ぼう[環境構築]

Last updated at Posted at 2017-06-02

はじめに

Kotlin on Android. Now official

こんな記事を見つけてKotlinに興味が湧きました。

Java自体は触ったことはありますが、Kotlinは触ったことも無く、Androidに関しても全く知識がありません。

遅まきながらAndroid面の技術力習得を目標に、Kotlinを使ってあれこれ試してみようと思います。

そもそもKotlinってなんだ?

コトリン、ことりん、小鳥ん?

  • JetBrains社によって開発(IntelliJ IDEAの開発元ですね!)
  • Javaをもっと簡潔・安全になるように改良した産業利用向け汎用言語
  • JVM上で動く
  • Javaと同じ速度でコンパイルされ、同じ速度で動作する
  • Javaでは互換性の問題で採用出来ていない機能や、現時点では実現予定となっている機能も採用している
  • Android上での開発・動作も可能
  • JavaScriptへのコンパイルもサポート
  • オープンソース(Apacheライセンス バージョン2.0)
  • 名称の由来はコトリン島

参考・引用:Wikipedia - Kotlin

じゃあJavaとの違いは?

以下の記事が分かりやすかったです。

とりあえずの環境面

別になんでも良かったのですが、とりあえずIntelliJ IDEAをIDEとして使うことにしました。

IntelliJ IDEA - The most intelligent Java IDE

IDE上で完結させるのであれば(多分?)不要かもですが、

コマンドラインでコンパイルしたい人は以下を参考にKotlinコンパイラを入手しておきましょう。

Kotlin - Working with the Command Line Compiler

お決まり

HelloWorldは各自でやってみましょう。

Kotlinのチュートリアル見て真似すれば簡単です。

(Eclipseやコマンドラインでのコンパイル方法も記載あるのできっと大丈夫でしょう)

Kotlin - Getting Started with IntelliJ IDEA

折角なので

内容比較

Javaで書いたHelloWorldと比較してみましょう。

HelloWorld.java
public class HelloWorld {
    public static void main(String args) {
        System.out.println("Hello World!");
    }
}
HelloWorld.kt
fun main(args: Array<String>) {
    println("Hello World!")
}

元々短いコードなので、そこまで大きく変わってはいませんが、記述量が減っていますね。

他にもアクセス修飾子が無くなっていたり(デフォルトでpublic)、funってキーワードがあったり、型・変数のシンタックスが変わっていたり、printlnがそのまま書けたり、セミコロン(;)が無かったり。

実行してみる

コンパイルして出来た.classファイルを実行してみます。

$ kotlin HelloWorldKt
Hello World!

逆アセンブルしてみる

.classファイルを逆アセンブルしてみます。

$ javap HelloWorldKt
Compiled from "HelloWorld.kt"
public final class HelloWorldKt {
  public static final void main(java.lang.String[]);
}

javaっぽいですね。

javaコマンドで実行してみる

kotlinランタイムを含めた形でjarを作成してあげると、なんとjava -jarコマンドで実行することが出来ます。
これならJREのみの環境でも動かすことが出来ますね。

$ kotlinc -d HelloWorld.jar -include-runtime HelloWorld.kt
$
$ ls
HelloWorld.jar HelloWorld.kt
$
$ java -jar HelloWorld.jar
Hello World!

次回(?)

今回は大したことも出来ませんでしたので、次回から徐々に基本的な構文から学んで行きたいと思います。

最終的にはアンドロイド的な何かが作れると良いですね。(いつになるかな)

以上

3
7
1

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
3
7