2017年10月24日火曜日

KotlinでAndroidアプリを作ってみた


先日、福岡地下鉄時刻表というAndroidアプリをリリースしました。このアプリは勉強も兼ねてKotlinで開発してみました。そこで感じたことを書いていきます。


Java開発経験者はKotlinも簡単に習得できる…?

Kotlinは「switchはないよ」「staticはないよ」「三項演算子はないよ」など、割とJavaと違う部分があります。もちろん、代替のものは存在しますが慣れる必要があります。Javaにはない機能もたくさんあります。

今回作成した福岡地下鉄時刻表は複雑な処理を行っていないため、Kotlin特有の機能は最小限しか使っていません。しかし、それでもどう書けばいいのか詰まるときがありました。


Null Safetyをきちんと使おう

Kotlinの特徴のNull Safetyですが、これは確かに強力です。NullPointerExceptionを防ぐことができるのは大きいです。

ただ、最初はNull Safetyの恩恵を理解せずに「面倒臭いからこの変数はNull許可しちゃおう」ということをいろんな箇所でやってました。結果、ソースがすごくゴチャゴチャして(?.!!.をたくさん書く必要が出てきて) 作り直すことになりました。Null許可は本当に必要なとき以外は使ったらのちに後悔することになります。


lazyとlateinitが便利

lazyとlateinitを使わなくてもAndroidアプリは作ることはできますが、この2つをきちんと理解しておくことで初期化の処理を効率よくスッキリ書けます。

これも最初は知らなかったのでJavaと同じ感覚で初期化処理を書いていましたが、この2つは絶対に覚えておいた方がいいです。


作りながら勉強していけばOK

今回はKotlin未経験の状態で参考書片手に探り探りでアプリを作成していきましたが、あらかじめ参考書のソースを全部写経して勉強しなくてもいいと思います。例えば、演算子オーバーロードは作るアプリによっては1度も必要な場面はないです(今回のアプリでは使ってません)。とりあえず、どんな機能があるかを目次レベルで覚えておいて必要と思われる場面が出てきたら調べて使えばいいです。最初からKotlinの機能を使いこなそうとしない方がいいでしょう。

まずは、アプリが完成することが1番重要です。


まとめ

「KotlinはJavaよりも簡潔に書ける」というのが本当だということは体感できました。


Kotlinのスキルを持たないAndroid開発者は恐竜のようになるリスクに直面。モバイルアプリプラットフォームのRealmが予測 - Publickey

上記のような記事が出ていたりと、Kotlinへの注目度はすごく高まっています。Androidに限らず、サーバサイドでもKotlinは使えるので今後需要は上がるかもしれません。

ゲーム作成にはcocos2d-xを使っていますが、Androidだけでツールアプリを作るときはKotlinを使っていこうと思います。

0 コメント:

コメントを投稿