最初はアプリの標準をカスタムしないほうがいい理由

カスタムクラスを作るってことは、実装だけじゃなく、以下のような手間(=コスト)がかかる

①設計する手間

②テストする手間

③実装したものをドキュメントする手間

④バグ修正する手間

 

①は、カスタムをする場合は標準のものを理解した上で、できるだけ運用コストが高くならないようにきれいに設計する必要がある。悪い設計してしまうと、運用コストが跳ね上がるのでむしろ高くつくことが多い。しかし、良い設計をできる技術者つれてくる時点でそもそもその人の時給が高いので、どちらにしろ高くつく。

標準のものを使うなら、appleの腕利き技術者が設計したレベルの高いクラスを無料で使うことができる。

 

②は、カスタムしたものが動くかどうかテストするのは当然自分でやることになるので、その分コストがかかる。

標準のものを使うなら、appleの中の人だけじゃなく、世界中のiOS技術者がプレビュー段階から叩いて叩いてくれたものをそのまま使うことができる。

 

③は、実装者以外がそのクラス使えるようにするには必要。実装者も時間がたつと忘れていくので、ドキュメントないと後の運用、改善コストがあがる。

標準のものを使うなら、Web上にすでにおいてある。ドキュメントのメンテも誤字脱字修正もappleがやってくれる。

 

④は、プログラミングでバグがでないことはないので、自力で直す必要がある。

標準のものを使うなら、appleに連絡すれば直してくれる。

 

UIなどのカスタムが差別化要因になるフェーズに入ったらカスタムすればいいけど、初期のコンセプトの実証段階でカスタムするメリットは僕には見つからない。