Help us understand the problem. What is going on with this article?

DroidKaigi2016メモ:Androidエンジニアになって2年の学び

More than 1 year has passed since last update.

スライドはここに上がってました

https://speakerdeck.com/ryugoo/android-ensinianinatute-2-nian-falsexue-hi

発表者

  • 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のスタイルガイドラインがオススメ!★
  • コーディングの多様性
    • 一人開発のときからコーディングデザインガイドラインを定める
    • コーディング規約
    • コードの設計思想
    • デザインガイド
    • どのガイドラインを選定すべきか?判断基準についてもう少し詳しく聞きたかった

質疑応答

  • いちばんいい?何を判断基準にする?
    • いちばん美しく書ける、あるいは一番短くかけるものを良しとしましょう
    • 先人たちのコードを読むのもいいかも、と思いました
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away