もう一度Kotlinの話をしよう #ndsmeetup4

Preview:

Citation preview

もう一度Kotlinの話をしよう

2015.1.31 #ndsmeetup4 中川幸哉 a.k.a なかざん

自己紹介中川幸哉 a.k.a なかざん/@Nkzn

最新技術ミーハー勢

Androidアプリエンジニア

Androidインフラエンジニア?

Gradle環境作りとか自動テスト環境の模索とか継続的インテグレーション&デリバリーとか

ウォーターセル社で農業者向けアプリ「アグリノート」作ってます

最近の活動Android技術者サークルTechBoosterの冬コミ本に寄稿しました

著者集合絵の俺かわいい

Agenda

もう一度Kotlinの話をしよう

KotlinがAndroiderから注目を浴びているワケ

Using Project Kotlin for Android

既存ソリューションとの相性

もう一度 Kotlinの話をしよう

Since March 2014

2014年3月15日 第36回長岡開発者勉強会

http://www.slideshare.net/Nkzn/nds36-kotlin-cute

その後

4月:TypeScriptたのしい(^q^)

5月:Android Annotations便利(^q^)

8月:Scalaたのしい(^q^)

12月:Groovy楽し・・・くない(́・ω・`)

1月:Swiftたのしい(^q^)

当時の言い訳

IntelliJ IDEA / Android Studio向けのプラグイン整備などが未成熟でつらみ

導入済みだったAnnotations Processingライブラリ、Android Annotationsとの相性が悪い

最近

Functional Reactive Programming流行ってきてるなあ

試してみたい

RxJavaとやらを使えばJava界隈でも?つまりAndroidでも試せる?

あっ、関数リテラルがある言語じゃないとあんまり意味なさそう

Androidでの動作が安定していて、関数リテラルがあるAltJava…?

アッ、コトリン=サン? (←ここまでが1月半ば)

いつの間にか公式ドキュメントがConfluenceベースじゃなくなってた

http://kotlinlang.org/

KotlinがAndroiderから注目を浴びたワケhttp://topsy.com/analytics

1月27日、Android界に激震走る

https://docs.google.com/document/d/1ReS3ep-hjxWA8kZi0YqDbEhCqTt29hG8P44aA9W0DM8/edit

Androidライブラリ開発者の雄、Jake Wharton

氏が、突如Kotlin推し報告書をGoogle Docsにて公開

Square社内での布教用に作ったものを公開してくれたらしい

JW神マジミスターアンドロイド

余談:JW神の功績

https://github.com/JakeWharton

ちらっと見てみましょう

–Jake Wharton

“Java 10 will push Optional onto the stack, but we'll all be dead before Android sees that.”

笑うところです(白目)

既存ソリューションとの相性Android Studio, Robolectric

つらみがあったはず

2014年夏時点ではAndroid+Kotlinはまだ少しつらみが残っていたはず

http://www.slideshare.net/bs_yagi/potato03

検証うまくKotlin認識してくれない時がある→直ってる気がする・・・?

オートコンプリートが重い→確かに重い

なぜかoverrideって書くと怒られる→直ってるっぽい

javaからkotlinが見えない→見えた(後述)

リソースにジャンプ出来ない→できた

対象バージョン:Kotlin M10 + kotlin-gradle-plugin:0.10.195

かなりプラグインが改善されたらしい

Robolectricは大丈夫?

Android SDK組み込みの自動テストツールは、実機やエミュレータなど、Android上で動かすことを前提にしている

Robolectricはandroid.jarランタイムの一部(ハードウェア依存の部分など)をモック化することにより、AndroidのテストをJVM上で行えるようにしたもの→環境がちょっと特殊

中略

Robolectricも使える!

そういえば似てるって言われるよね色んな言語と似てるって言われてたけどさ

http://qiita.com/shoma2da/items/31edef012f224f99323c

http://blog.jetbrains.com/kotlin/2015/01/mce2015-kotlin-session-and-jetbrains-booth/

個人的感想

ちょっと前までGroovy似てる説を信じてた

でも年末年始でGroovyとTypeScriptとSwiftを触る機会があって、ちょっとGroovy違うと思った

型安全教では、優れた型推論はタイプ数を減らしてくれる救世主だけど、動的型付けは悪魔の囁き

Kotlinの型推論が優れているのかはまた別の話だけど

まとめ

ひさびさにKotlin触ってみようと思った

関数型プログラミングやRxJavaをAndroidに持ち込みたいときに安定しているのは嬉しい

春くらいから弊社Androidチームで関数型プログラミング勉強会やろうと思います

宣伝

ウォーターセル株式会社では

Androidエンジニア Railsエンジニア

Webフロントエンド エンジニア

インフラエンジニア

node.jsエンジニア・・・?

を募集しています。

iOSエンジニア

Recommended