D.I.C. レストア記録 #0 - レストアの方針

先日の記事で最後に書いたように、実際に自分が現在進行系でやっているアプリの改修(レストア)の記録等を綴っていくことにします。

D.I.C.レストア記録記事一覧

D.I.C. について

数年前に自分が思いつきと勢いで作った、デバイスの情報を表示するだけのアプリです。 ついでに、端末にインストールしているアプリの一覧を、targetSdkVesion付きで見れる機能も追加していました。 現在は配信を停止しています。

改修前のD.I.C.の画面

こちらが改修前の画面です。 デバイス情報をListViewで表示していたり、インストールアプリをなんとなくCardViewで表示していました。

Gitのログを確認したところ、開発時期は2013年。 コードはすべてJavaで書かれています。 なんとActionBarも当初ActionbarSherlockで実装していました。 かろうじてその後、サポートライブラリ対応はしていましたが、実装部分はほぼ当時そのままです。

レストアの方針

レストアとは書きましたが、実際には(特に内部を)最新の内容に一新していくことになるため、近代化改修と書くのが正しいですね。

  • 開発しやすい環境に整備する
  • コードはすべてKotlinに書き直す
  • 利用しているライブラリはすべて最新版に更新する
    • 基本はα版やβ版は使わない
  • targetSdkVersionを最新にアップデートする
    • minSdkVersionの変更も同様に検討する(特に14より下が設定されている場合)
  • Android公式が推奨するアーキテクチャに合わせてコードを改修していく

基本はこの方向性で進めつつ、今回の対象アプリは個人(自社)アプリになるので、マテリアルデザインを取り入れた改修等もついでに施します。

ライブラリ関連は基本的にα版やβ版までは使いません。 長期のメンテナンスが放置されてしまったプロジェクトなわけですから、今回の改修後もまた長期間放置される可能性があります。 そう考えると、なるべくライブラリは安定性がありそうなものを選んでいきます。 同様に、今後改修に手をつけるエンジニアの方がなるべく混乱せずに済むように、公式が推奨している内容をベースとして極力シンプルな設計に努めていきます。

クライアントから依頼されて改修することになった場合、デザインの修正は事前か都度相談の上で行うか決めることになります。 ただしダイアログとかプログレスバーなど、デフォルトのUIを利用している部分は、そのまま最新のデザインを取り入れることにしていきます。

レストアは基本、この考えで進めていきます。

次回予告

以降、実際の改修内容を紹介していきます。 まずは開発環境の整備から。

宣伝

合同会社ヤマダ印(yamacraft)はこんなレストア作業も含め、案件を募集しています。