infoMore than 5 years have passed since last update.
DroidKaigi2016メモ:Androidエンジニアになって2年の学び
Last updated at Posted at 2016-02-19
スライドはここに上がってました
発表者
- Ryutaro Miyashita
- Chatwork, inc.
どのように学んだか
やりたいことを分解する
- ボタンを押して次の画面に遷移する, といった動作をやりたい場合
- ボタンをクリックする
- click
- long press
- enable/disable
- 画面遷移する
- normal
- sending data
- transition effexts
- ドキュメントに触れると、
- setOnClickListener(匿名クラス...
- 入門書によく書いてある
- でも調べてみると、
- 匿名クラス+インスタンス変数
- インターフェースを実装
- Data Bindingなんてものものあったり
- ButterKnifeみたいなannotationを使ったり
- いくつもやり方が存在する→分解して1つずつ検証する
- 書籍やネットでベストプラクティスと言われているものがなぜそう言われているかを調べてみる
適切に技術を選ぶ
- 「Googleが発表してるから安心」→本当?
- 常に疑ってかかる
-
初心者だと良し悪しが判断付かないのでは?→質問で回答が来ていました
- Support Library
- android.app.Fragment
- android.support.v4.app.Fragment
- どっちを使うべき?
- v4ってなんだろう?
- 使うべきはv4-support-libraryだった
- なぜかうまく動かない、クラッシュするのなら、ライブラリのバグの可能性を疑おう
- Support Libraryもたまに自分自身でバグを生み出すことも
- v14とv7のどちらを選ぶべきか
- android.support.v14.preference.PreferenceFragment
- android.support.v7.preference.PreferenceFragment
- 分解して、いちばんいいやり方を見つける
- Material Design
- なぜ評価される?
- 感覚的な要素もすべて数字で示されている
- ガイドラインには基本的には従うべき、だが...
- Android 4.4 vs Android 6.0
- 同じMaterial Designでも微妙に表現が違う
- ポリフィル系デザインライブラリで近づけるべきか?→No
- 複雑化させすぎない
- Google自身も、標準ではAndroid4.x系では最低限の実装にしている
実機を使う
- アプリは直接触るもの
- マウスポインタで開発してるとすごく押しづらいアプリになったり
- Genymotionは速い、だがなぜそれが問題なのか?
- 実機で動かしたときに比べて、エミュレータはI/Oが速すぎる
- I/O問題の発見が遅れることも
- どのような端末を選ぶべきか
- 旧Nexus5をおすすめしたい
- Android 4.4-6.0まで入れられる唯一の端末
- シェアを見ていちばん高い端末(XperiaやGalaxy)を選ぶのもいいんじゃないかと
一人の開発とチーム開発の違い
一人開発
チーム開発
- コミュニケーションの発生
- コーディングガイドラインの発生
- コードレビューの難しさ
- はじめすごく時間がかかってしまう
- コーディング規約をちゃんと定めることで時間短縮
- COOKPADのスタイルガイドラインがオススメ!★
- コーディングの多様性
- 一人開発のときからコーディングデザインガイドラインを定める
- コーディング規約
- コードの設計思想
- デザインガイド
- どのガイドラインを選定すべきか?判断基準についてもう少し詳しく聞きたかった
質疑応答
- いちばんいい?何を判断基準にする?
- いちばん美しく書ける、あるいは一番短くかけるものを良しとしましょう
- 先人たちのコードを読むのもいいかも、と思いました
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
What you can do with signing up