今いる会社的に「次のプログラミング言語どうするよ?」みたいな話がいろいろ出ている中、Kotlinはあまりリサーチしてなかったのでこの機会に飛び込んでみました。会場もはてなさんで家から近いですしね^^
個人的にJVMで動く言語だと、Java側との連携とか気になるのでそのあたりの話も聞けるといいなと思っていましたが、だいたいどの発表も連携に関しては問題なさそうで、ハマりポイントもきっちりと解決策を示しているように思えたので、結構いいんじゃないかなという感触でした。null安全性もありがたい機能だしScalaほど言語仕様的にでかくなさそうな雰囲気なので、取っつきやすそうに思えます。
- 作者: ヴァーン・ヴァーノン
- 出版社/メーカー: 翔泳社
- 発売日: 2015/03/19
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)
- 作者: エリック・エヴァンス,今関剛,和智右桂,牧野祐子
- 出版社/メーカー: 翔泳社
- 発売日: 2011/04/09
- メディア: 大型本
- 購入: 19人 クリック: 1,360回
- この商品を含むブログ (130件) を見る
DDDやるにあたっても型周りが強力だとありがたいけど、Scalaはちと大変……という雰囲気に社内的になっているのでKotlinあたりもちょっと考えてみたいですねぇ。
発表ではサムライズムの山本さんがKotlinのデータクラスから既存プロジェクトを置き換えていく話で、同等機能のJavaの記述量とKotlinのそれとの差が衝撃的、かつその話と平行にJetbrainsに行った観光日記を繰り広げていて二重に度肝を抜かれるという事態に。面白かったです。SIer視点の話で、新しいシステムは増えるけど人は増えないどころか減ったりするくだりは前職を思い出して「うっ」っとなったり……
どの発表も個人的には好印象なので、結構Kotlinいいんじゃね?という風に思ったのでちょっと勉強してみますかね。
以下メモ。
Sierアーキテクト視点で見たKotlinの紹介
- 今年の2月に1.0リリース
- まだビギナー
- SI現場の課題
- Kotlinの由来
- サンクトペテルブルクの近くにコトリン島がある
- 機能
- Kotlinは実用的
- Javaやってる人なら導入は優しい
Kotlin始めました
- 一週間前に始めたので、個人的感想
- Android案件 => Kotlin
- AWS lambda bot作ってみた
- ScalaとかSwiftと書き味は似ている
- ScalaのOptionalとKotlinのnull safetyは結構違う
- Scalaのbetter javaな要素を抜き出してコンパクトにした感じ
- 仕様はコンパクトで覚えやすそう
- JavaからScalaはハードル高くても、JavaからKotlinは行きやすそう
- 一番伝えたかったのはエルビス演算子
KotlinとJava EE
Kotlin と Java EE — 4/2 (土) Kotlin 1.0 リリース記念勉強会 in 京都 (2016 年 4 月 2 日)
SpringBoot + Kotlin劇的ビフォーアフター
- タイトル釣り
- KotlinはAndroidだけではない
- SpringBootでKotlinがつかえるように => これからはKotlinだ!とはならない
- うまくいかないところを探してみる
- DIどうすんの => 前の発表で説明があった(lateinit)
- JRebel => アプリ再起動せずにコード反映されるか
- 実演
- 問題なく動く
- SpringAOP
- openにするとうごく(finalがデフォの問題)
- うれしいところ
Kotlinとモダンなライブラリー
- プライベートでアプリ開発中
- Android Java => 6 + α
- つらい
- Kotlin
- Jetbrains自体がAndroidサポートに力入れている
- KotlinでJavaのライブラリ
- Dagger2 => DIコンテナ(コンパイル時解決)
- リフレクションが多いけど、これはコンパイル時に依存性解決
- Component/Module
- build.gradleに書いていく
- Data bindingライブラリ
- Android Studio
- 一方向/双方向のバインディング
- Kotlinでも使える
- Kotlinで書いていても、バインディング用のXmlでAndroid Studioが補完してくれる
- Property observer
- 変更監視可能なデータクラス
- Binding Adapter
- Viewの属性に値をセットする仕組み
- Dagger2 => DIコンテナ(コンパイル時解決)
- Kotlinのライブラリ
- anko
- 便利ライブラリ
- Korefernce
- anko
- 関西kotlin勉強会定期開催決定
- ankoとdata binding libraryの併用できない
- iOSでKotlin書く話はないか?
- roboVMで書こうと思えばかける
- けどクロスプラットフォームならXamarinのほうがいい
Kotlinこんなんでましたけど
- Javaとの互換性100%目指す
- Javaと同等のビルド速度
- 逆引きkotlin
- kotlin as Javascript
- JVMとJavascriptのランタイム
- Javascriptのランタイムはまだまだ変わる
- kobalt
- Gradle的なビルドツール
- dokka
- Androidに集中しているけど、いろんな用途で利用されることを望む
サムライズム山本さん
- データクラスから始めるKotlin
- Javaが一番長い
- Javaがつらい点いろいろある
- Twitter4Jのつらさ
- JVM系の多言語 => Scala sbt大変そう
- Kotlinはつらい話聞かない
- Kotlinを使い始めたきっかけ => 背水の陣
- Lombokを置き換える
- 公式リファレンス => 見やすい
- Kotlin Educational Plugin
- Try kotlinと同じようなもの
- 逆引きKotlin
- JavaからKotlinのコード量めっちゃ少なくなる
- コンバート後、コンパイルできない
- 万能ではない
- コンパイルできないコードをはくこともある
- Kotlinはstaticおじさんと相性が悪い
- Jenkinsでビルドできない
- サブモジュールのktファイルが見つからない(たぶんバグ)
- 突然のIllegalStateException
- Javaからnull入れて呼び出すと発生
- Postfix completion未対応
- Kotlin怖くない
- 既存Javaプロジェクトの緩やかな移行成功
- Jetbrainsに行ってきました