43
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

円滑にiOS/Android並行開発するための心得まとめ

Last updated at Posted at 2016-04-12

#円滑にiOS/Android同時開発するための心得まとめ
##■設計
###◇UIパーツやフレームワークはそれぞれの素材・特長を活かす
当然ながら共通設計

  • define値やクラス名などを統一する
  • 永続化する項目を統一する
  • UIデザイン
  • マージンやセンタリングなどのルール統一
  • 端末/画面サイズに応じて、固定/可変する箇所の認識を合わせる

無理やりiOSのパーツをAndroidに適用しない

  • ダイアログやドラムロール(ピッカー)などのUIパーツ
  • iOSのタブ機能はAndroidでは画面上部かサイドメニューを検討
  • 戻る機能はAndroidではBackキーを活用

それぞれの特長を活かす

  • iOSではSQLiteを直接使用せずCoreDataを使用するなど

##■実装

###◇開発者間の情報共有を密にする!

LOGの記述体裁を合わせる

  • ファイル名、メソッド名、行数、コメントなど体裁を合わせる
  • (ついでに…LOGはデバッグでのみ表示させる)

TODOの記載の仕方を合わせる

  • 不確定部分や拡張予定の項目は、ミーティングなどで共有したらコメントで残す

実装中に気がついた例外ケースを共有

  • もう一方でも同じケースが考えられるため

設計を見直す必要がある場合には共有

  • もう一方でも同じケースが考えられるため自分勝手に直さない!

##■デザイン

###◇画像作成

(特に指定がない場合) x1を念頭に、x2、x3の画像を用意する

  • どちらでも必ず使用するため

(参考)

iOS Android 解像度
非Retina mdpi 1px/1pt
hdpi 1.5px/1pt
Retina(@2x) xhdpi 2px/1pt
Retina(@3x) xxhdpi 3px/1pt
  • ファイル名にハイフンは使用しない (Androidで使用できない)

##■PJ管理

###◇コーディング規約をメンバーに浸透させる

iOSとAndroidで表現が変わらない様にする

  • 例えば:ホーム画面とトップ画面とメイン画面など

###◇iOSとAndroidの工数を同じと思わない

Android機種が多く機種依存もあるため、テスト工数も増える
傾向的にはAndroidの方が工数膨らみがち
見積り時には、サポートするバージョンや機種の合意を取ると良い

###◇上の諸々の事情をなるべく顧客に知ってもらう
無理やり合わせるのは、工数もかかるしバグも生みやすいし、お互い美味しくないですよと伝える

  • (特にモックをiOSで作成した場合などで)iOSのデフォルトのアニメーションをAndroidに求められて工数増加などがある

##■もう一歩踏み込むと

###◇着手する機能の順番をずらす

設計時のスケルトンクラス(ガワにコメントやTODOを記載したもの)を共有する

  • ユニットテストの作成も同様

まだまだありそうですが、とりあえずこんなところで・・・

43
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
38

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?