• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,556
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Kotlin可愛いよKotlin 2014.3.15 長岡IT開発者勉強会36 @Nkzn
  • 2. 自己紹介 @Nkzn 今期はキルラキルくらいしかアニメ見てない ジョジョ3部アニメはよ
  • 3. What is Kotlin? Kotlin is KAWAII!!!!!!!!!
  • 4. ラブラ○ブの あの子では ありません。
  • 5. 旧ソ連海軍の コトリン型駆逐艦とも 関係無いです by公式 http://en.wikipedia.org/wiki/Kotlin_class_destroyer
  • 6. Kotlin Language 2011年登場 JetBrains社がJavaをもっと使いやすくするために生み出した、産業利用向けの汎用言語 最新バージョンはM6.2(まだ1.0になっていない) 強い静的型付け(Javaと一緒) JVM向けのバイトコードを生成できる 何故かJavaScriptへコンパイルすることもできるよ そのため、AltJSの一種としても数えられるよ Java, Scala, Groovyのいいとこ取り言語
  • 7. What “Kotlin”? R&D拠点の一つ、サンクトペテルブルクの近くにあ る「コトリン島」から命名 Kotlinはフィンランド語でヤカンを表す コーヒーカップがロゴマークのJava(コーヒーの名 産地・ジャワ島に由来)と色々関連付けた形になっ ている
  • 8. そんなことはどうでもいいが、日本語では
 「ことりん」
 と書くと大変かわいい(重要)
  • 9. JetBrains? 2000年創業 チェコのプラハに本社を置く企業 露サンクトペテルブルク、独ミュンヘン、米マサチュー セッツ州フラミンガムにR&D拠点を置く
  • 10. この名前聞いたことある人 Intellij IDEA PhpStorm PyCharm RubyMine WebStorm AppCode 全てJetBrains製です
  • 11. Kotlin Overview Hardware Operating System (Windows, OS X, Linux, others) Java Virtual Machine(JVM) Kotlin Code (.kt) Byte Code (.class) compiler (kotlinc-jvm)
  • 12. 見た目の特徴 名前空間(package) クラスベース 後置の型宣言 型推論 セミコロン不要 型付きのコンテナ(Generics) valによる定数宣言 ラムダ記法による関数の宣言
  • 13. Kotlin版とJava版
  • 14. 初期値ぶち込み用コンストラクタ書かなくていいのたいへん楽 getter/setter書かなくていいのたいへん楽 Javaだとgetter/setterはprivateなフィールドの数だけ肥大化し ていく メソッド本体(3行)+javadocコメント(Eclipseの自動生成で4行) +空行(1行) × 2(getter+setter) = 8 フィールド数×8行が使われるので、O/Rマッパーで15カラムの テーブルを読み込むときに用意するクラスの場合、120行が getter/setterに費やされます。JavaマジF○ck。
  • 15. ScalaとかGroovyの真似して作っただけあって、とこ ろどころそのまんまの構文があるみたいです。
  • 16. Kotlin Showcase いろいろあるでよ
  • 17. 1行で書けるクラス
  • 18. Null-safety これがnullだったらどうするの? Javaの永遠の宿敵、NullPointerException 非Null型なので 絶対にnullは入ってきません
  • 19. Null-safety Null安全という仕組みがある 型の後ろに「?」を付けるとNull許容型、付けていないものは非Null型となる。 Hoge型の変数は絶対にnullを代入できない Hoge?型の変数はnullを代入できる Hoge型の変数にHoge?型の値は代入できない Hoge?型の変数にHoge型の値を代入できる 安全呼び出し:Hoge?を返すメソッド呼び出しの後ろに「?」を付ける ?を付けたメソッドからnullが返ってきた場合、メソッドチェーンの途中でも実行を 止めて、nullを式の結果として返す。
  • 20. Null-safety これだけだめ。 代入するとき 呼び出すとき second()がnullの場合、メソッドチェーンの実行を そこで止めて、即座にnullを返します
  • 21. Javaとの相互利用 Person.kt Main.java なんか生えてる null安全にしておいたほうが無難
  • 22. Android meets Kotlin KotlinはJetBrains製の言語 JetBrains製のIDEから良い感じに使えるようにでき てる!!!! Intellij IDEA Android Studio
  • 23. まとめ Scalaとかよりも既存のJavaコードとの互換性のほう に気を使った感じの設計になってるっぽい 世界有数のIDEメーカーがドッグフーディングしなが ら作ってくれてる言語なので、信頼していいと思う モジュール単位くらいでアグリノートのAndroidアプ リにもじわじわと導入していきたい気持ちある