Kotlinを使い始めて一週間で使った基本的なテクニック10

Kotlinを使い始めて一週間で使った基本的なテクニックは?
こんな疑問に答えます。

KotlinはSwiftと似ていると言う噂を聞いてswiftですでに作ってあったアプリを移植しようとました。
けど、そんな簡単ではなかったです。

コンバーターを使ったり、少しずつ直したりして、短時間で移植できる部分も確かにあります。
(実感として8割くらいは簡単移植)
しかし、細かい部分で違う部分があったり、細かい部分でテクニックが必要だったりします。

僕はWordPressのブログでは月2万PV、自作のiPhoneアプリを2つリリースしています。
そんな僕が解説していきます。

作業環境

MacOSX Sierra 10.12.6
Android Studio Version 2.3.3
Kotlin 1.1.5

(1)Kotlinでの四則演算

素直にそのまま書いても、割り算の時、1わる0でに勝手にinfinity表示してくれる
優秀

(2)ボタンにクラスを正しく入れてなかったくらいのミスで、プレビュー時に突然シャットダウンする

ボタンの設定値でにクラスを正しく入れてなかったりするとエラーになります。
よくありがちなミスだと思うんですけど、サジェストのもないし、厳しい。

いきなりシャットダウンされると、ファミコンかよ()みたいな感じで、悲しくなります。
ファミコンか??

(補足)Android Studioは頻繁にプレビュー時に突然シャットダウンする
これはKotlinが原因というわけではないですが、Android Studioはプレビュー時(アプリ起動時)によく突然シャットダウンします

(3)Kotlinの特徴の一つであるデータベース機能を使えば、かなり少ない行数でコードを書ける

Kotlinの特徴の一つであるデータベース機能を使えば、さらにスマートに8割くらい少ない行数でコードを書ける
これは画期的

データベース機能…data class xxxxxxで書き始める、swiftにはない機能。
一気に設定値を格納できる系っぽいです

(4)Kotlinでは、Javaで使用してるfindViewById()の記述を省略できる

Javaで使用してるfindViewById()みたいな記述ありますね
昭和初期かよ()って思うくらい邪魔で面倒です
なので、それを省略する方法です

拡張機能kotlin-android-extensionsをインポートします

(5)Kotlinでボタンなどの部品アイテムに付けた名前やIDを、簡単にコードに流用する方法

Kotlinでボタンなどの部品アイテムに付けた名前やIDを、そのままコードに流用してたい時があります

何を言ってるかよくわからないですよね

swiftだと、ボタンなどの部品が、そのままドラックしてピッとやれば、
0.00005秒で、コードに紐づく(自作の関数などに紐づく)のですが、
Android Studioはそれができないんです(びっくり仰天!!!!)(ここ笑うところです)

なので、自作の関数(fun)の名前を部品のonClickの部分に入れて、button.textと書いて取得します

(6)Kotlinでの変数宣言における、varとvalの違い

varは今後変化する変数
valは変化させない変数
っていう認識で使い分ける
(ソース)

…らしいですが、普通にvar使うだろ…
どうなんだろ

人によって言ってることがバラバラです

(7)Kotlinで型の宣言の仕方

Kotlinで型の宣言の仕方はx : Double = っていう感じでシンプルですが、型変換を毎回しないといけない模様

(8)Kotlinで型変換は厳しめ

Kotlinで型変換は厳しめ、というよりは、Swiftの型自動推測機能がすごすぎるみたいです
僕みたいにswiftから勉強し始めた人は、ここかなり抵抗あると思います
swiftでは、一番初めに型宣言しておけば、あとは適当に書いていても()勝手に推測してくれます

kotlinはswiftほど、優しく推測してくれないです

(9)Kotlinでif構文書く時は()に気をつける

if構文は()が入るところに注意です。
それ以外はだいたいSwiftと同じ。
だいたい同じなだけに、違う部分に注目です。

(10)Kotlinのswitch構文的なwhen構文はクセが強い

switch構文のクセが強いっ、です(千鳥風)
->(やじるし)や1行表記(複数なら{}使用)などの文法に注意する
この辺もswiftと目立って違う部分です

(11)公式ページ不親切じゃね

残り2割の部分を、どうやったらスムーズに移植できるのか、毎日悩んでいます。
とにかく情報が少なすぎ。

「ここはこう変換」
ときっぱりさっぱり書いてあれば、10秒で終わるのに…

Kotlinの公式ページは英語で読んでも、日本語で読んでも、不親切だと感じます。

参考:

Kotlin公式リファレンス(英語)
https://kotlinlang.org/docs/reference/
Kotlinリファレンス日本語化ページ
http://dogwood008.github.io/kotlin-web-site-ja/docs/reference/
SwiftKotlin
https://github.com/angelolloqui/SwiftKotlin
Swift is like Kotlin
http://nilhcem.com/swift-is-like-kotlin/
逆引きKotlin
http://kotlin-rev-solution.herokuapp.com/site/
Aravind Vasudevanさんのgithub
https://github.com/AravindVasudev?tab=repositories

というわけで今回は以上です。

kotlinは基本的にswiftと似ていますが、if文や型変換に関する厳しさも、つまづくポイントです。
っていうか、kotlinがどうこう以前に、Android Studioが使いづらいです。

人気記事TweetDeckでおすすめの表示設定と使い方【Column(列)の並べ方】

-Kotlin