Kotlinはじめてみた

こんにちは!こんばんは!あんみつです。

Kotlinを少し触ってみたので体験談を書きます。

Kotlinって?

ざっくり言うと、Javaより書きやすい、Androidアプリが作れるプログラミング言語です。

AppleがiOSアプリ向けにobjective-C→swiftと使用言語が進化したのと同様に、
Googleが満を持して採用した書きやすい言語!そうそれがKotlin(コトリン)です。
呼び名の可愛さから、巷では女性ウケがいいとか…

言語の歴史としては
2011年にJetBrainsという企業が発表し、
2017年にGoogleがAndroidの公式開発言語として加えることを発表しています。
2018年にはAndroidアプリの全体シェアでJavaを上回ったなんていう記事もありました。

大手企業向けのアプリ開発では体感としてはまだまだJavaメインですが、
そのうちKotlinが当たり前になってくる可能性もあると思います。

以下はWikipediaより。

Kotlinは、Javaの欠点──複雑で肥大化し互換性問題で硬直してきたとも言われる言語仕様──を解消すべく簡素化し、
安定性と機能性も高めることを目的とした産業界向け言語とされ、世界の注目を浴びている

始め方

まずはAndroid Studioのversionを最新にアップデート。(3.4.2へ)
自宅のAndroid開発環境、長らく放置していたんだなと実感…

新規でプロジェクトを作ります。

このときに言語で「Kotlin」を選ぶ。
これだけで、JavaではなくKotlinでAndroidアプリの開発ができます。

 

前の画面で「Finish」を押した直後です。最初のMainActivityが出来ます。
ファイル名は「ManActivity.java」ではなく「MainActivity.kt」となります。(Kotlinの拡張子はktのようです)

JavaでAndroidアプリを作った際と同じくonCreate()が自動生成されますが、

override fun onCreate(savedInstanceState: Bundle?)

と、Javaでは見慣れない記法になっていることがわかります。

Javaとの違い

「Kotlin Java 違い」などでググったほうが正確で良い情報が出てくるので、
ここでは私が数時間触ってみて理解できた範囲のものを共有します。

・コード末尾のセミコロン不要
→RubyとかPythonもそうでしたが最近のトレンドのようです。
なんとなくスッキリ見えます。
・メソッドは先頭に「fun」を付ける
→わかりやすい。
・オーバーライドは「@」ではなく同じ行に直接記述
→わかりやすい。
・Switch文ではなく「When文」
→別言語でもありましたが最近はSwitchという表現が使われなくなっている傾向があるようです。

・型推論
→変数は値から勝手に型を推測してくれます。
「val time = 1200」とすればtimeはInt型だろう、と推測してくれるということです。VBAやJavascriptなどのスクリプト言語にもある特徴ですね。
オブジェクト変数宣言時は「val textContent: TextView = xxx」というような形で、変数の後ろに型を指定できます。

・staticがない
→これが衝撃というか使いづらく感じたのですが、Kotlinはstaticフィールドがないです。
理由は、本来のオブジェクト指向の考え方からするとオブジェクトに属さないstaticフィールドはないほうがきれいだろう、ということらしいです。
シングルトンに何か呼んだり参照したりしたい場合は「companion object」というものを使うとstaticと同じような使い方ができます。
Java→KotlinのコンバートなどもAndroid Studioはサポートしているようなので、
Javaでこう書いたらどうなるんだろう?とか気になる人は試したり、調べてみると面白いと思います。

<参考サイト>
Kotlinで始めるAndroidアプリ入門
はじめてのKotlin。Javaと比較してみた


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA