7月12日、【初心者歓迎】Kotlin開発Tech Talksに行ってきた!
ので、メモメモ・・・してるけど、リンク先に資料が上がっているようなので、そっち見たほうが、いいかも
(プログラムとかはメモメモできていないので)
場所が良くわからず、途中からになっています。
■アオイゼミでのkotlin事情
(途中から)
・Android studioのサポート
・インターン生でもできる
・kotlin急激に増えている
・いろいろ起きた事件
・インフル事件
・Android65K事件
インフルエンザに罹った
年末出れて、リリースしようとした
→65K問題:まるちてっくす
・KotlinでもNull Pointer Exceptionははっせういする
nullの可能性がある場合?などでマーク
Android Studioでも教えてくれる
・動画が再生されない事件
通信部分でこけている
使用しているCDNがHTTP2.0に対応、
TLS1.1以下を切り捨てていたから
→急な対応にはJavaのコード
・既存のプロジェクトでは65K問題にぶち当たる
・Javaが読めたほうがよい
・まとめ
Googleが公式で宣言
当たれる覚悟
Android Studioの支援
JavaとKotlin両方よめるほうがいい
■開発4年目のアプリへのKotlin導入
・自己紹介
・会社紹介
・モバイルアプリ
Titaniumで作っていた
・kotlin勉強会のこと:まだ使えない
2015年
2016年:社内アプリでkotlin
先月、プロダクションで導入
・なぜ、kotlinの導入を急ぐ?
理由はない
kotlinで書いてもサポートされる安心感:書かなければいけないわけではない
→エンジニアリングとして楽しい
製品がお客さんのメリットになることが大切
→開発に集中しやすい
・うれしいところ
ボイラープレートを減らすところができる
Lambda式:
メソッド1つだけ持ちインターフェース
→Java8
itで暗黙的に参照できる
_で使わない、書かないのもOK、アクセスしたいときit
・思考を反映しやすい言語機能
FactoryMethod→kotlinのスコープ関数で書く
nullable:関数を実行(Javaの即時関数)
~Util Staticがないので、companion、objectを使うとシングルトン
拡張関数を使ってメソッドを作れる
ビルトインされているものがある(Null,空白)
Javaのif文→値を返せない kotlin if式
java switch文 kotlin when式:型チェック、数値レンジ
・うれしいところがチームにどう効いてくるか
ユースケースを表したコードになりやすい
高速に回せる:ユーザーの価値提供
・気をつけたいところ
7200メソッド増える、RxJavaと
まるちれっくすにお世話になる
annotation プロセッサー→かくと:たまにどはまり
・導入の進め方
全部のコードをkotlinにするのは先が遠い
→部分的に
DialogFragmentから
既存のコードの置き換え
新規機能でkotlin
・どうやってチームに浸透させていくか
kotlinスタートブック(あかべこ本)全員購入
プルリクに説明
・導入の課題
・素地
Java8で書いていた
コードレビュー問題なかった
なにをどこまでkotlin async/await
・手がけはじめとして
Java8から始めてもいいんじゃないか
Android Studio3.0からは外部ツールが不要になる
いきないkotlinよりリスク小さい
小さく初めて:Javaのコードがイメージできるくらい
■1年ぶりにやりますkotlinアプリ開発
・自己紹介
・会社紹介(Lip incから)
エムグランド
・本題
・1年ぶりで思った
使えるライブラリが増えている
kotlinの記事が増えている
Qitaの記事:この1年で倍
好きな機能
enum:プロパティもてる
遅延プロパティ:
getter/setter
拡張関数
微妙だったところ
lint
・利用可能ライブラリ
annotation プロセッサー
通信・非同期処理回り
Parceler(Parcelableの実装を楽にする)
GSON:jsonのパースを自動化
Dart:intentにデータを渡すのを楽にする
DartをFragmentで利用する?
android-state:IcePickのKotlin対応版
・まとめ
使えるライブラリ増えた
■テストから始めるkotlin導入
・自己紹介
・Dride Kaigi 2018
・会社紹介:pairs→かっぷるず
・スピーカーズデッキに挙げている
・PairsAndroid
すからーで作った→Javaに書き換え
Java,kotlinに2わり、あと自動化
Global版:ふることりん、プロトコルバッファ
十分に発達したバグは、機能と見分けがつかない
テストを書ける構成にする
レイヤ化
・テストをkotlinで
build.gradle
・kotlinでテストを書いていく
Retrofit
・具体例
クライアント
Dao
リポジトリ:もっくしている
ユースケース
・まとめ
プロダクションいきなりより、テストからのほうがいいかも
DroidKaigi2017のカンファレンスアプリが参考になる
kotlin→バイトコードにする→コンパイル→Javaになる
■kotlinとJavaの相互運用
・ままりについて:Q&A
・なぜkotlin
SWIFTの人も読みやすいと
デメリットが少なかったから
導入方針
単純な置き換えはしない
テストの部分でkotlin
結果:51%
Javaと比べると、行数へる
・相互運用:難しい点
platform Type:nullable,nonnull クラッシュするケース
mapped type:kotlinとjavaのマッピング
デフォルトFinal classについて Realm Mockito
検査例外(Exception):相互関係
ドキュメント:Javadoc,kdoc dokka:kdocからHTML
・メリットだけではない相互運用
意識しないといけないこと
kotlin助走本
100%移行しないと面倒
・最後に
新規では楽
既存:相互関係の複雑さ
IDEまわり:相互関係
ので、メモメモ・・・してるけど、リンク先に資料が上がっているようなので、そっち見たほうが、いいかも
(プログラムとかはメモメモできていないので)
場所が良くわからず、途中からになっています。
■アオイゼミでのkotlin事情
(途中から)
・Android studioのサポート
・インターン生でもできる
・kotlin急激に増えている
・いろいろ起きた事件
・インフル事件
・Android65K事件
インフルエンザに罹った
年末出れて、リリースしようとした
→65K問題:まるちてっくす
・KotlinでもNull Pointer Exceptionははっせういする
nullの可能性がある場合?などでマーク
Android Studioでも教えてくれる
・動画が再生されない事件
通信部分でこけている
使用しているCDNがHTTP2.0に対応、
TLS1.1以下を切り捨てていたから
→急な対応にはJavaのコード
・既存のプロジェクトでは65K問題にぶち当たる
・Javaが読めたほうがよい
・まとめ
Googleが公式で宣言
当たれる覚悟
Android Studioの支援
JavaとKotlin両方よめるほうがいい
■開発4年目のアプリへのKotlin導入
・自己紹介
・会社紹介
・モバイルアプリ
Titaniumで作っていた
・kotlin勉強会のこと:まだ使えない
2015年
2016年:社内アプリでkotlin
先月、プロダクションで導入
・なぜ、kotlinの導入を急ぐ?
理由はない
kotlinで書いてもサポートされる安心感:書かなければいけないわけではない
→エンジニアリングとして楽しい
製品がお客さんのメリットになることが大切
→開発に集中しやすい
・うれしいところ
ボイラープレートを減らすところができる
Lambda式:
メソッド1つだけ持ちインターフェース
→Java8
itで暗黙的に参照できる
_で使わない、書かないのもOK、アクセスしたいときit
・思考を反映しやすい言語機能
FactoryMethod→kotlinのスコープ関数で書く
nullable:関数を実行(Javaの即時関数)
~Util Staticがないので、companion、objectを使うとシングルトン
拡張関数を使ってメソッドを作れる
ビルトインされているものがある(Null,空白)
Javaのif文→値を返せない kotlin if式
java switch文 kotlin when式:型チェック、数値レンジ
・うれしいところがチームにどう効いてくるか
ユースケースを表したコードになりやすい
高速に回せる:ユーザーの価値提供
・気をつけたいところ
7200メソッド増える、RxJavaと
まるちれっくすにお世話になる
annotation プロセッサー→かくと:たまにどはまり
・導入の進め方
全部のコードをkotlinにするのは先が遠い
→部分的に
DialogFragmentから
既存のコードの置き換え
新規機能でkotlin
・どうやってチームに浸透させていくか
kotlinスタートブック(あかべこ本)全員購入
プルリクに説明
・導入の課題
・素地
Java8で書いていた
コードレビュー問題なかった
なにをどこまでkotlin async/await
・手がけはじめとして
Java8から始めてもいいんじゃないか
Android Studio3.0からは外部ツールが不要になる
いきないkotlinよりリスク小さい
小さく初めて:Javaのコードがイメージできるくらい
■1年ぶりにやりますkotlinアプリ開発
・自己紹介
・会社紹介(Lip incから)
エムグランド
・本題
・1年ぶりで思った
使えるライブラリが増えている
kotlinの記事が増えている
Qitaの記事:この1年で倍
好きな機能
enum:プロパティもてる
遅延プロパティ:
getter/setter
拡張関数
微妙だったところ
lint
・利用可能ライブラリ
annotation プロセッサー
通信・非同期処理回り
Parceler(Parcelableの実装を楽にする)
GSON:jsonのパースを自動化
Dart:intentにデータを渡すのを楽にする
DartをFragmentで利用する?
android-state:IcePickのKotlin対応版
・まとめ
使えるライブラリ増えた
■テストから始めるkotlin導入
・自己紹介
・Dride Kaigi 2018
・会社紹介:pairs→かっぷるず
・スピーカーズデッキに挙げている
・PairsAndroid
すからーで作った→Javaに書き換え
Java,kotlinに2わり、あと自動化
Global版:ふることりん、プロトコルバッファ
十分に発達したバグは、機能と見分けがつかない
テストを書ける構成にする
レイヤ化
・テストをkotlinで
build.gradle
・kotlinでテストを書いていく
Retrofit
・具体例
クライアント
Dao
リポジトリ:もっくしている
ユースケース
・まとめ
プロダクションいきなりより、テストからのほうがいいかも
DroidKaigi2017のカンファレンスアプリが参考になる
kotlin→バイトコードにする→コンパイル→Javaになる
■kotlinとJavaの相互運用
・ままりについて:Q&A
・なぜkotlin
SWIFTの人も読みやすいと
デメリットが少なかったから
導入方針
単純な置き換えはしない
テストの部分でkotlin
結果:51%
Javaと比べると、行数へる
・相互運用:難しい点
platform Type:nullable,nonnull クラッシュするケース
mapped type:kotlinとjavaのマッピング
デフォルトFinal classについて Realm Mockito
検査例外(Exception):相互関係
ドキュメント:Javadoc,kdoc dokka:kdocからHTML
・メリットだけではない相互運用
意識しないといけないこと
kotlin助走本
100%移行しないと面倒
・最後に
新規では楽
既存:相互関係の複雑さ
IDEまわり:相互関係