Kotlinを使い始めて一週間で使った基本的なテクニックは?
こんな疑問に答えます。
本記事の内容
- (1)Kotlinでの四則演算
- (2)ボタンにクラスを正しく入れてなかったくらいのミスで、プレビュー時に突然シャットダウンする
- (3)Kotlinの特徴の一つであるデータベース機能を使えば、かなり少ない行数でコードを書ける
- (4)Kotlinでは、Javaで使用してるfindViewById()の記述を省略できる
- (5)Kotlinでボタンなどの部品アイテムに付けた名前やIDを、簡単にコードに流用する方法
- (6)Kotlinでの変数宣言における、varとvalの違い
- (7)Kotlinで型の宣言の仕方
- (8)Kotlinで型変換は厳しめ
- (9)Kotlinでif構文書く時は()に気をつける
- (10)Kotlinのswitch構文的なwhen構文はクセが強い
- (11)公式ページ不親切じゃね
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が使いづらいです。