#DroidKaigi 2018で「開発者が知っておきたい通知の歴史」という内容で講演しました
DroidKaigi 2018
wktk pic.twitter.com/PsHRlfkbTi
— kobakei (@kobakei122) 2018年2月8日
今年はセッションが採択されたので、スピーカーとして参加しました。去年までは普通に参加者としてだったので、スピーカーとして参加するのは今年が初です。
続きを読むiOSはじめました
最近仕事でiOSを書き始めた。正直まだ全然書けないのでひたすら本読んだりググったりしながら、練習がてら簡単そうな機能から作っている。
AutoLayout辛い
AndroidのConstraintLayoutの元ネタのレイアウトの仕組み。XcodeでGUIでUIを組み立てていくのにまだ慣れない。些細なことでレイアウトが崩れるし、Storyboard開くだけでGitでdiffが出たりして辛みがある。iOS書いてると「なんてAndroid Studioはいい子だったんだ」と再認識するんだけど、原因の8割くらいはAutoLayout関連な気がする。
AutoLayout含め、iOS開発では「お前らXcodeでGUIで色々できるようにしといたからそれ使って開発しろよ。それ以上のことやりたい?知るか」的なAppleの思想を感じる。Androidは逆に最低限のGUIしか提供してない代わりに、XMLいじれば大抵の要素をいじれるようにしてくれてる気がする。ConstraintLayoutも、結局XML触るしね。
Swiftはそんなに抵抗ない
もともと書いてなかったけどコード読む機会はそこそこあったので、割とすんなり入れてる。AutoLayoutで消耗しすぎて進捗は著しく悪いんだけど、慣れてくれば普通に書けると思う。今年はKotlinも書き始めたんだけど、Javamよりは文法近いのでなおさら抵抗がないのかもしれない。
ネットの記事やサンプルにたまに出てくるObjectibve-Cは、4~5年前くらいにちょっと書いてたこともあってすでに克服していたのはよかった。
昔より物覚えが悪くなったかもしれない
今回久しぶりに新しい技術を勉強してるわけだけど、20代の頃の自分だったらもっとすんなり習得できたんじゃないかという気がしていて、歳とったんだなとしみじみした。10年前のフレッシュな脳みそが欲しい。
あとは「一人前にiOS書けるようになった」と自信を持つには、簡単な趣味アプリでもいいのでゼロから書いて公開する体験が必須だと思ってるんだけど、いいネタが無い。毎年Appleにお布施を払わないといけないというのも腰が重い理由かも。誰か儲かるアプリのアイデアください。
DroidKaigi 2018でリジェクトされたネタ
DroidKaigi 2018で、「開発者が知っておきたい通知の歴史」というセッションが採択されました。通知のAPIや仕様の変遷を辿り、後方互換姓を考慮した実装をするにはどんな風に書けば良いのかを紹介するセッションです。特に最近Android開発を初めて昔の通知を知らない人に是非聞いてもらいたいと思っています。
一方で、他に応募していた3本のセッションがリジェクトされたので、どんな内容を話すつもりだったかを備忘録的に残しておきます。今後shibuya.apkなど他の勉強会で機会があればショートバージョンにして話すかもです。
データバインディングをもっと使いこなそう
データバインディングの初心者や基本的な使い方しか知らない人向けに、実践的な使い方を紹介する予定でした。具体的には、以下の様な内容をカバーします。
- BindingAdapter & InverseBindingAdapter
- ObservableList と RecyclerView
- アニメーション関連。特にOnRebindCallback
- MVVMパターン with data binding
過去発表した以下のセッションの内容+αなイメージでした。気になる方はこちらのスライドも見てください。
speakerdeck.com speakerdeck.com
Androidアプリ開発をラクにするCI/CD
今の会社で実戦投入しているCI/CDの事例や小技を紹介するセッションの予定でした。CircleCI Meetupで発表したこのスライドをベースにするつもりでした。
デバイスファームのセッションを除くと、CI/CD系のセッションは今回一件も採択されていなかったので需要がなかったのかも?一昔前に比べると情報が見つけやすい気はしますね。
Robolectricで単体テストを書けるようにするには
Robolectricそのもののセッションではなく、Robolectricでテストを書きやすい状態にするための設計のセッションの予定でした。DIの導入やMVWパターン、staticメソッドの潰し方やテストしづらい外部SDK(Facebook SDKなど)のラッパーを書く、などの話をする予定でした。改めて応募を見返すと内容が薄そうに見えたので、どこかの勉強会でLTで話せばちょうどいい分量のような気がしました。
総括
結果1勝3敗ということで、DroidKaigi全体の採択率通りの結果でした。来年はもうちょい数を絞って練った応募を出せるようにしたいです。