Kotlinで快適Android開発 #W8lt

42
Kotlin 快適Android開発 W8 LT #1

Transcript of Kotlinで快適Android開発 #W8lt

Kotlin で 快適Android開発

W8 LT #1

Who?

!

松田

!

!

松田 淳平 @fat_daruuuuma, jmatsu

佐伯研 M2

キッチンドリンカー、Java/Kotlin、準シェル芸人、リポジトリ解析

※Javaとします

Java{6, 7}

ラムダがない Method chainingしづらい

ぬるぽ~~~~~ switch文くそすぎ

飽きた(今年で10年目) !

ラムダがない Method chainingしづらい

ぬるぽ~~~~~ switch文くそすぎ

飽きた(今年で10年目) !

可愛くない =>

そうだ Kotlinにしよう

Kotlin !

http://kotlinlang.org/

What’s Kotlin?

フィンランド語で 「やかん」

※昔のロゴ

2011年: JetBrains社が作成 ロシア生まれ

静的型付OO言語 JVM or JavaScriptで動作

Javaと完全相互運用 2012~現在: OSS

Why Kotlin?

なんか可愛い

発音が可愛い 構文が可愛い

稀に補完が効かなくなって可愛い ロシア生まれが可愛い

擬人化されたら多分可愛い 多分金髪だし可愛い

多分幼女だろうし可愛い

言語として 良さがある

new、セミコロン不要 型推論、総称型

パターンマッチング Null safe Range

Nested function lambda 高階関数

method chaining 拡張関数やプロパティ

辞書配列 ifは式

getter/setterの省略定義(C#的な) etc…

ハードルが低い

Java、Scala、Groovy Swift、JavaScript どれか使えれば余裕

⇒ Hybrid無しで両方書ける (人もいるでしょうね)

支援の厚み

IDEやAndroid開発を 公式がサポート

導入はとても簡単

main/src/java => main/src/kotlin

これでもう動く

え?Javaのファイル直すのが面倒・・?

kotlin -> Java kotlin <- Java

変換できます

「公式サポート」 Viewに強い

Javaでやると

public  void  onCreate(Bundle  bundle)  {        super.onCreate(bundle);        setContentView(R.layout.activity_̲main);        Button  b  =  (Button)findViewById(R.id.b);        TextView  t  =  (TextView)findViewById(R.id.t); }

!

型書いて、findして、 キャストして、・・・

Kotlin w/

kotlin-android-extensions

import kotlinx.android.synthetic.activity_main.* !

これをimport文に加えると・・・

!

!

!

自動でフィールドになる 勿論型も保証されて、NotNull

拡張関数、 関数リテラル

他にも色々 ぜひKotlinをどうぞ

※最後に

武器防具無しのJavaを 武器装備のKotlinで殴りました

!

Javaでも良きライブラリを使えば 良い感じになります

RetrolambdaやButterknifeをぜひ

可愛くない⇒

Thank you for Listening.