22日目の記事になります。現在、アクトインディではAndroid開発にKotlinを採用しています。今回はKotlinを採用した経緯と採用後の感想を簡単にまとめたいと思います。Kotlinを採用したか?単純にKotlinで書きたかった(興味、期待があった)から正直これが一番大きかった気がします。チームポリシーとして明言しているわけではないのですが、今のチームメンバーは「作っている人が如何にモチベーションを保って開発出来るか?」を大切にしている感があります。あと、新規アプリだったこともあり、Kotlinを導入する障壁はありませんでした。Javaよりも気持ちよくコードが書けそうという期待もありました。万が一、「Kotlinはちょっと駄目かも・・・」となってもJavaにシフト出来るので気持ち的に安心感がありました。Swiftと似ているAndroidアプリ開発が始まる前、iOSアプリ開発をしていました。iOSアプリ開発も新規アプリ開発だったので、100%Swiftで開発を行っていました。開発メンバーもSwift開発者がAndroid開発も兼任していたので、JavaよりもKotlinのほうが言語習得のコストは少なくなりそうだなと考えました。あとはNull安全が大きな採用要素でした。実際のところどうだったか?学習コストは低かった(感覚値)他の言語と比較してどうだった?という風には言えないのですが、感覚値では学習で手こずった感はあまりありませんでした。SwiftからKotlinと言語が変わっての障壁もすくなかったように思います。StudioのKotlin用のプラグインが入っているのでJavaで書かれたプロジェクトをKotlinのプロジェクトに簡単に変換出来ます。アクティビティクラスなど追加する場合でも最初からKotlinコードで生成することが出来ます。書いてて楽しい個人的に「書いてて楽しい」の助けになっている要素の一部分をすごく簡単ですがまとめました。String)一行で書けます。処理}既存のクラスに対して関数を生やすことが出来ます。0いちいち、型定義しなくても変数定義時に値を設定することで型が決定します。最近Kotlin採用しているプロダクトでビルド時間が長くなってる感があるので、型推論と型を明示的に宣言している場合にどれくらいビルド時間が違うのか検証してみたいですね。上記の様にif分岐の結果をreturnとして返すことが出来ます。}}when(Javaでいうところのswitch)は式です。上記の様にwhereの結果をreturnとして返すことが出来ます。1)関数/メソッド呼び出し時に引数を指定出来ることでコードが明確になります。デフォルト値を設定することで引数を省略することも出来ます。}}ラムダを使って、簡単にコールバックなどを定義することが出来ます。NonNullな定義}Kotlinは言語的にNullPointerExceptionが発生しそうなところ変数参照などのコードで静的に警告が出て、Compileも出来ない様になっています。これだけでだいぶ安心してコードを書くことが出来ます。データ表現としてNonNullで定義するか?Nullableで定義するか?を意識出来る様になってきます。メンバー間で議論することもあり、有意義なコードを書ける様になっていきます。}}エルビス演算子を使って、hoge()の戻り値がnullだった場合は上記の処理でreturnすることが出来ます。・などなど・・・Kotlinにはコードを早く楽しく書くための機能が言語的に備わっていたり、シンタックスが簡潔です。プロダクトに必要な本質的な実装に集中することが出来ます。まとめ足早なKotlinの紹介でしたが、1からAndroidアプリを作るときに開発言語でKotlinを使ってみることをおすすめします。Kotlinはいいぞ。00:00Tweet関連記事2020-07-06Kotlinのスコープ関数との付き合い方Androidアプリ開発担当のhondaです。APIを試してみたmorishitaです。いこーよやいこレポでは、情報を共有してもら...2019-03-122019年現在のAndroid版いこーよの開発現場ブログを見ている皆様、おはこんばんは。いこーよAndroidアプ...2019-02-22Vue+Vuexにvalidatorjsを組み合わせると自在にバリデーションが書ける!morishitaです。Frameworkテンプレートを公開!morishitaです。(12)引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。