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

Post on 14-Apr-2017

2.304 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

関西Kotlin勉強会                @yy_yank関西Kotlin勉強会                @yy_yank

自己紹介

          こいつです

          ・vimmerなのに

          サクラエディタアイコン

          ・小物SIer          ・JavaとKotlinが好き

ヤンク(@yy_yank)

・関西Kotlin勉強会参加(2014/09)・Kotlinアドベントカレンダー2014とか書いた

・逆引きKotlinというサイトを作った

・第三回 かわいいKotlin勉強会発表(2015/06)・twitterでKotlinで検索して巡回(毎日)

僕のKotlin活動

みなさん、Kotlinって知ってますか

Kotlinを全体的に俯瞰する感じでお話します

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

1.Kotlinとは(10分)

2.Kotlinに注目している企業(1分)

3.2015年のKotlin動向(5分)

4.2015年の日本でのKotlin活動(2分)

5.メジャーver.リリースで何が変わる?(2分)6.for future of Kotlin(2分)

アジェンダ

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・JetBrainsは、技術者だったSergey Dmitriev、Valentin Kipiatkov、Eugene Belyaevの3人が

2000年2月に創業した、チェコ共和国の首都プラ

ハに本社を置く技術主導型のソフトウェア開発企

業。

(Wikipediaより引用)

JetBrains

・Java Vertual Machine上で動く言語

altJavaとかnextJavaとか言われているものは大

体JVM言語(雑)

JVM言語

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・コンパイル(型)レベルでのNull排除

nullを基本許さない強い気持ち!!

Null Safety(null安全)

・nullableな?演算子

val value : String? = nullval value : String = null // コンパイルエラー

Null Safety(null安全)

・safe call演算子 ?.

val hoge : String? = nullprintln(hoge.length) // => コンパイルエラー

println(hoge?.length) // => null

NPE発生しない!!

Null Safety(null安全)

・エルビス演算子 ?:

orElseGetな感じ

val hoge = hogeToString() ?: “nullにさせない強

い思い”

Null Safety(null安全)

・エルビス演算子 ?:

orElseThrowな感じ

val hoge = hogeToString() ?: throw RuntimeException(“nullにさせないぞ”)

Null Safety(null安全)

・!!演算子 (for NPE lovers)

NPEが起きるわけないという強い気持ちがないと使

えない演算子

val nullValue : String? = nullprintln(nullValue!!.length) // => NPE発生

Null Safety(null安全)

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・演算子オーバーロード

・objectキーワード

・val、var、Any、Unitなどなど

・Scalaが使いこなせてるならScalaを使ってくれ

(公式見解)

・Groovyライクなtype safe builder、ファイル操作

ScalaとGroovyの良い点を吸収

Kotlinの2つのスローガン

良い点を吸収し、かつ

・Javaと同等のコンパイル時間

・Javaとの言語間の互換性を重視

ScalaとGroovyの良い点を吸収

パフォーマンスについて

・Kotlinのbenchmark用プロジェクト

・Havlakさんて方のJVM言語benchmark

パフォーマンスについて

パフォーマンスについて

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・IntelliJ IDEA 15 EAPより

・IDEでのサポートガンガン

参考

IntelliJ IDEA 15 EAP + Kotlin = 愛原文

IntelliJ IDEA 15 EAP + Kotlin = Love

IntelliJ IDEAに標準Bundle

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・Androidは現状Java SE 7もしくはJava SE 6・もちろんStream API使えない

・インターフェース実装がめんどくさい

・コレクション操作も不自由

・選択肢としてはRetro lambda、RxJava、Kotlinとか

Android開発で注目されている

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは

・JetBrainsが開発するJVM言語

・Null Safety(null安全)・ScalaとGroovyの良い点を吸収

・IntelliJ IDEAに標準Bundle・Android開発でも注目を浴びている

1.Kotlinとは他にも色々!!

拡張関数、ダックタイピング、dataクラス、末尾再帰アノテーション、デフォルト引数、デリゲートプロパティmap、fold、drop、zip、if式、when、closure、インライン関数…etc

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

・クラスメソッド

・クックパッド

・セプテーニ

・サイバーエージェント

・アカツキ

2.日本でKotlinに注目している企業

・クラスメソッド

・クックパッド

・セプテーニ

・サイバーエージェント

・アカツキ

->Androidなところが多い

2.日本でKotlinに注目している企業

・クラスメソッド

・クックパッド

・セプテーニ

・サイバーエージェント

・アカツキ

・Yahoo NEW!!!!

2.日本でKotlinに注目している企業

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.その他

アジェンダ

・M11(マイルストーン11)リリース

・M12(マイルストーン12)リリース

・M13(マイルストーン13)リリース!!

・今年中にメジャーバージョンをリリース予定

(元々は今春と言ってた…)・現在finalな感じの仕様策定中

3.2015年のKotlin動向

・multiple constructor・イニシャライザの構文変更

・kotlin-android-extensions・リフレクション機能を別jarに分離

・lambdaのマルチパラメータ対応(途中)

・fun(){}な関数を変数に代入可能に

M11(マイルストーン11)

・アノテーションが@に Test -> @Test・ラベルが後置に @name -> name@・traitなくなりinterfaceに・enumちょっと良くなった

・jvmOverloads・地味にJavaScriptランタイム改善

M12(マイルストーン12)

M12の変更内容

参考

・Kotlin M12 言語仕様変更のまとめ - 算譜王にお

れはなる!!!!・Kotlin M12 is out! - Kotlin Blog

・sealed classで代数型サポート

・lateinitでDIサポート

・アノテーションと修飾子の整理

・トップレベル定義がファイル名に

属するように

・デフォルトスコープがpublicに

M13(マイルストーン13)

参考

・Kotlin M13 is out!・Kotlin M13で追加されたsealed class・Kotlin M13で追加されたlateinit試してみた

・長い夏は終わった。KotlinのM13は君に語りかけ

るぜ!

M13の変更内容

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

・Soft Ware Design連載

・渋谷JVM・Droid Kaigi・第3回かわいいKotlin勉強会

・TechBooster夏コミ掲載

・potato tips

4.2015年の日本でのKotlin活動

・Soft Ware Design連載 -> たろうさん

・渋谷JVM -> たろうさん

・Droid Kaigi -> たろうさん

・第3回かわいいKotlin勉強会 -> たろうさん

・TechBooster夏コミ掲載 -> たろうさん

・potato tips

4.2015年の日本でのKotlin活動

・自称エバンジェリストのたろうさん以外にも段々と

利用者&スピーカーが増えてきた

・Android界隈に広まった1年だった

私見

・Java界隈にも広めたい

・APIだけKotlinとかでもいいと思う

4.2015年の日本でのKotlin活動

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

・大規模な変更がなくなる…はず

例)

Tuple廃止、trait -> interfacearray -> arrayOf、 list -> listOf

・言語デザインが決まって機能拡張にシフト

していく(して欲しい)

5.メジャーver.リリースで何が変わる?

aaa ※写真はAndrey Breslav氏http://www.oracle.com/technetwork/articles/java/breslav-1932170.htmlより引用

でも彼らこれよく言うからちょっと怖い

まぁええやんwIntelliJ IDEAが全部クイックフィックスで直してくれるから

1.Kotlinとは2.Kotlinに注目している企業

3.2015年のKotlin動向

4.2015年の日本でのKotlin活動

5.メジャーver.リリースで何が変わる?

6.for future of Kotlin

アジェンダ

今後の発展を考えると・・・

もうちょっと機能欲しいよってところ

・JavaScriptランタイムのエコシステム構築

・Kotlin EE的なもの

・KotlinのORM周り

6.for future of Kotlin

・Java-Kotlinの互換にはどうしてもインピーダンス

ミスマッチがある

・JavaライブラリのKotlinアダプタが必要

・そういうコンセプトのものは現状あるがもうすこし増

えてきて欲しいところ

Javaの資源は使えるけど…

みんなプルリクだっ!

・Android開発でのKotlin採用は徐々に広がって

いくと思うので静観

・サーバーサイドの発展を何らかの形で後押しした

・Kotlinのコミュニティをアレしてきたい

個人的な気持ち

・Kotlinは今年リリース予定

・言語仕様決定の最終ステージ

・Android界隈にKotlinは大分広まっている

・JavaScriptランタイムとサーバーサイドは発展途

・JetBrainsのサポートは今後も手厚そう

まとめ

ご清聴ありがとうございました

top related