Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Kotlin で
快適Android開発
W8 LT #1
Who?
!
松田
!
!
松田 淳平 @fat_daruuuuma, jmatsu
佐伯研 M2
キッチンドリンカー、Java/Kotlin、準シェル芸人、リポジトリ解析
Kotlinで快適Android開発 #W8lt
※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開発を
公式がサポート
導入はとても簡単
Kotlinで快適Android開発 #W8lt
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で快適Android開発 #W8lt
Kotlinで快適Android開発 #W8lt
他にも色々
ぜひKotlinをどうぞ
※最後に
武器防具無しのJavaを
武器装備のKotlinで殴りました
!
Javaでも良きライブラリを使えば
良い感じになります
RetrolambdaやButterknifeをぜひ
可愛くない
Thank you
for Listening.

More Related Content

Kotlinで快適Android開発 #W8lt