Successfully reported this slideshow.
Your SlideShare is downloading. ×

Kotlinメジャーver リリースを前に

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 59 Ad

More Related Content

Slideshows for you (18)

Viewers also liked (12)

Advertisement

Recently uploaded (20)

Advertisement

Kotlinメジャーver リリースを前に

  1. 1. Kotlinメジャーver リリースを前に 関西Kotlin勉強会   @yy_yank 関西Kotlin勉強会   @yy_yank
  2. 2. 自己紹介           こいつです           ・vimmerなのに           サクラエディタアイコン           ・小物SIer           ・JavaとKotlinが好き ヤンク(@yy_yank)
  3. 3. ・関西Kotlin勉強会参加(2014/09) ・Kotlinアドベントカレンダー2014とか書いた ・逆引きKotlinというサイトを作った ・第三回 かわいいKotlin勉強会発表(2015/06) ・twitterでKotlinで検索して巡回(毎日) 僕のKotlin活動
  4. 4. みなさん、Kotlinって 知ってますか
  5. 5. Kotlinを全体的に俯瞰 する感じでお話します
  6. 6. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  7. 7. 1.Kotlinとは(10分) 2.Kotlinに注目している企業(1分) 3.2015年のKotlin動向(5分) 4.2015年の日本でのKotlin活動(2分) 5.メジャーver.リリースで何が変わる?(2分) 6.for future of Kotlin(2分) アジェンダ
  8. 8. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  9. 9. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  10. 10. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  11. 11. ・JetBrainsは、技術者だったSergey Dmitriev、 Valentin Kipiatkov、Eugene Belyaevの3人が 2000年2月に創業した、チェコ共和国の首都プラ ハに本社を置く技術主導型のソフトウェア開発企 業。 (Wikipediaより引用) JetBrains
  12. 12. ・Java Vertual Machine上で動く言語 altJavaとかnextJavaとか言われているものは大 体JVM言語(雑) JVM言語
  13. 13. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  14. 14. ・コンパイル(型)レベルでのNull排除 nullを基本許さない強い気持ち!! Null Safety(null安全)
  15. 15. ・nullableな?演算子 val value : String? = null val value : String = null // コンパイルエラー Null Safety(null安全)
  16. 16. ・safe call演算子 ?. val hoge : String? = null println(hoge.length) // => コンパイルエラー println(hoge?.length) // => null NPE発生しない!! Null Safety(null安全)
  17. 17. ・エルビス演算子 ?: orElseGetな感じ val hoge = hogeToString() ?: “nullにさせない強 い思い” Null Safety(null安全)
  18. 18. ・エルビス演算子 ?: orElseThrowな感じ val hoge = hogeToString() ?: throw RuntimeException(“nullにさせないぞ”) Null Safety(null安全)
  19. 19. ・!!演算子 (for NPE lovers) NPEが起きるわけないという強い気持ちがないと使 えない演算子 val nullValue : String? = null println(nullValue!!.length) // => NPE発生 Null Safety(null安全)
  20. 20. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  21. 21. ・演算子オーバーロード ・objectキーワード ・val、var、Any、Unitなどなど ・Scalaが使いこなせてるならScalaを使ってくれ (公式見解) ・Groovyライクなtype safe builder、 ファイル操作 ScalaとGroovyの良い点を吸収
  22. 22. Kotlinの2つのスローガン 良い点を吸収し、かつ ・Javaと同等のコンパイル時間 ・Javaとの言語間の互換性を重視 ScalaとGroovyの良い点を吸収
  23. 23. パフォーマンスについて ・Kotlinのbenchmark用プロジェクト ・Havlakさんて方のJVM言語benchmark
  24. 24. パフォーマンスについて
  25. 25. パフォーマンスについて
  26. 26. 参考 Type-Safe Builders Comparison to Scala ScalaとGroovyの良い点を吸収
  27. 27. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  28. 28. ・IntelliJ IDEA 15 EAPより ・IDEでのサポートガンガン 参考 IntelliJ IDEA 15 EAP + Kotlin = 愛 原文 IntelliJ IDEA 15 EAP + Kotlin = Love IntelliJ IDEAに標準Bundle
  29. 29. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  30. 30. ・Androidは現状Java SE 7もしくはJava SE 6 ・もちろんStream API使えない ・インターフェース実装がめんどくさい ・コレクション操作も不自由 ・選択肢としてはRetro lambda、RxJava、Kotlin とか Android開発で注目されている
  31. 31. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは
  32. 32. ・JetBrainsが開発するJVM言語 ・Null Safety(null安全) ・ScalaとGroovyの良い点を吸収 ・IntelliJ IDEAに標準Bundle ・Android開発でも注目を浴びている 1.Kotlinとは 他にも色々!! 拡張関数、ダックタイピング、dataクラス、 末尾再帰アノテーション、デフォルト引数、デリゲートプ ロパティ map、fold、drop、zip、if式、when、closure、インライ ン関数…etc
  33. 33. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  34. 34. ・クラスメソッド ・クックパッド ・セプテーニ ・サイバーエージェント ・アカツキ 2.日本でKotlinに注目している企業
  35. 35. ・クラスメソッド ・クックパッド ・セプテーニ ・サイバーエージェント ・アカツキ ->Androidなところが多い 2.日本でKotlinに注目している企業
  36. 36. ・クラスメソッド ・クックパッド ・セプテーニ ・サイバーエージェント ・アカツキ ・Yahoo NEW!!!! 2.日本でKotlinに注目している企業
  37. 37. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.その他 アジェンダ
  38. 38. ・M11(マイルストーン11)リリース ・M12(マイルストーン12)リリース ・M13(マイルストーン13)リリース!! ・今年中にメジャーバージョンをリリース予定 (元々は今春と言ってた…) ・現在finalな感じの仕様策定中 3.2015年のKotlin動向
  39. 39. ・multiple constructor ・イニシャライザの構文変更 ・kotlin-android-extensions ・リフレクション機能を別jarに分離 ・lambdaのマルチパラメータ対応(途中) ・fun(){}な関数を変数に代入可能に M11(マイルストーン11)
  40. 40. 参考 ・僕のブログのこれとかこれ とかこれとかこれとか (↓この公式ブログの日本語訳) ・Kotlin M11 is Out! - Kotlin Blog M11の変更内容
  41. 41. ・アノテーションが@に Test -> @Test ・ラベルが後置に @name -> name@ ・traitなくなりinterfaceに ・enumちょっと良くなった ・jvmOverloads ・地味にJavaScriptランタイム改善 M12(マイルストーン12)
  42. 42. M12の変更内容 参考 ・Kotlin M12 言語仕様変更のまとめ - 算譜王にお れはなる!!!! ・Kotlin M12 is out! - Kotlin Blog
  43. 43. ・sealed classで代数型サポート ・lateinitでDIサポート ・アノテーションと修飾子の整理 ・トップレベル定義がファイル名に 属するように ・デフォルトスコープがpublicに M13(マイルストーン13)
  44. 44. 参考 ・Kotlin M13 is out! ・Kotlin M13で追加されたsealed class ・Kotlin M13で追加されたlateinit試してみた ・長い夏は終わった。KotlinのM13は君に語りかけ るぜ! M13の変更内容
  45. 45. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  46. 46. ・Soft Ware Design連載 ・渋谷JVM ・Droid Kaigi ・第3回かわいいKotlin勉強会 ・TechBooster夏コミ掲載 ・potato tips 4.2015年の日本でのKotlin活動
  47. 47. ・Soft Ware Design連載 -> たろうさん ・渋谷JVM -> たろうさん ・Droid Kaigi -> たろうさん ・第3回かわいいKotlin勉強会 -> たろうさん ・TechBooster夏コミ掲載 -> たろうさん ・potato tips 4.2015年の日本でのKotlin活動
  48. 48. ・自称エバンジェリストのたろうさん以外にも段々と 利用者&スピーカーが増えてきた ・Android界隈に広まった1年だった 私見 ・Java界隈にも広めたい ・APIだけKotlinとかでもいいと思う 4.2015年の日本でのKotlin活動
  49. 49. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  50. 50. ・大規模な変更がなくなる…はず 例) Tuple廃止、trait -> interface array -> arrayOf、 list -> listOf ・言語デザインが決まって機能拡張にシフト していく(して欲しい) 5.メジャーver.リリースで何が変わる?
  51. 51. aaa ※写真はAndrey Breslav氏 http://www.oracle.com/technetwork/articles/java/breslav-1932170.htmlより引用 でも彼らこれよく言うからちょっと怖い まぁええやんw IntelliJ IDEAが全部クイッ クフィックスで直してくれる から
  52. 52. 1.Kotlinとは 2.Kotlinに注目している企業 3.2015年のKotlin動向 4.2015年の日本でのKotlin活動 5.メジャーver.リリースで何が変わる? 6.for future of Kotlin アジェンダ
  53. 53. 今後の発展を考えると・・・ もうちょっと機能欲しいよってところ ・JavaScriptランタイムのエコシステム構築 ・Kotlin EE的なもの ・KotlinのORM周り 6.for future of Kotlin
  54. 54. ・Java-Kotlinの互換にはどうしてもインピーダンス ミスマッチがある ・JavaライブラリのKotlinアダプタが必要 ・そういうコンセプトのものは現状あるがもうすこし増 えてきて欲しいところ Javaの資源は使えるけど…
  55. 55. みんなプルリクだっ!
  56. 56. ・Android開発でのKotlin採用は徐々に広がって いくと思うので静観 ・サーバーサイドの発展を何らかの形で後押しした い ・Kotlinのコミュニティをアレしてきたい 個人的な気持ち
  57. 57. ・Kotlinは今年リリース予定 ・言語仕様決定の最終ステージ ・Android界隈にKotlinは大分広まっている ・JavaScriptランタイムとサーバーサイドは発展途 上 ・JetBrainsのサポートは今後も手厚そう まとめ
  58. 58. ご清聴ありがとうござい ました

×