アプリ開発を行ううえで絶対に必要となるのがPCであるが、そのスペックが高いかどうかで開発の快適性が大幅に変わってくる。スペックが高くなれば高くなるほど費用は高くなるものの、利便性は上がってくる。開発する上でPCのスペックが貧弱だと統合開発環境を起動したりアプリをビルドしたり、あるいは動作チェックを行う際に余計な時間がかかってしまって、生産性が低下してしまうからである。ここでは、アプリ開発を行う上で必要となるスペックの目安について書いてみたい。
全体的なスペックの方向性について
アプリ開発においては、以下のアプリを同時に起動・利用することが想定される。例えば、以下のツールが考えられる。
- ウェブブラウザ
- 統合開発環境
- 仮想環境ソフト
- SNSアプリ
- テキストエディタ
- コマンドラインツール
- メーラー
- Officeスイート
- デザインツール
- その他の開発支援ツール
上記のことを踏まえた上で、十分なスペックを有するPCを導入することが求められる。スペックが不足すると生産性を大きく損ねる場合があるので、それを防ぐためにも必要な投資と考えることが望まれるだろう。
パーツ別スペック事項
CPU
実の所、CPUはメインメモリと比較するとそこまで優先順位が高いわけではない。というのも、よほど重たい処理をするというのでなければ、最近のCPUはマルチコア化やマルチスレッド化がなされているものが主流であることもあって、大体のことはこなせるからである。IntelならCore i5を、AMDならRyzen 5でも多くの場合は充分にこなせる。Core i7/i9やRyzen 7/9及びRyzen Threadripperとなるとコストが高くなるので、予算が厳しい場合はメインメモリやSSDを優先したほうが良い。
なお、CPUを選ぶ際はなるべく新しい世代を使った方が良いが、これは、CPUのモデルナンバーで確認することができる。例えば、Intel Core iシリーズであれば、4桁または5桁の数字のうち、千の位以上が世代を表している。例えば、「i7-8700」であれば、千の位は「8」だから第8世代、「i7-10700」なら第10世代であることが確認できる。AMD Ryzenシリーズも千の位が世代を表しており、「5900X」なら第5世代である。
メインメモリー
メインメモリーは優先度が高い。というのも、複数のアプリを同時に起動した場合、メインメモリーの要求量が増えていき、もし要求量がメインメモリーの容量をこえた時などにメインメモリーで扱うべきデータをストレージに一時的に書き込むという事態が発生しやすくなり、動作速度が著しく低下してしまうからである ((これはメインメモリーと比較して、ストレージは読み書き速度が圧倒的に遅いことによるものである。)) 。それを防止あるいは軽減するためにも、メインメモリーは十分な容量を持つべきである。
その上で、開発用途なら16GBを最低ラインと考えた方が良いだろう。というのも、複数のアプリを同時に利用するということを考えた場合、8GBでは枯渇する危険性が高く、パフォーマンスの低下を招くリスクが高いからである。仮想環境を使う場合はその分のメモリ容量も必要になるため、さらに容量が必要になることも多い。
デスクトップPCではユーザーによるメモリの増設・交換が可能なものが多く、後でメインメモリの容量を上げることができるが、ノートPC、特に薄型タイプのものはメモリの増設・交換が不可能なものが多いため、購入時に大体の予測を立てる必要がある。
ストレージ
ストレージも充分検討が求められる。というのもストレージの種類によって容量や転送速度が大きく変わってくるためである。HDDは容量あたりのコストが安いが転送速度は遅く耐衝撃性に弱い、SSDは耐衝撃性にやや優れていて転送速度は早いが容量あたりのコストが高い傾向にある。これもパフォーマンスに大きな影響を与えている。ノートPCならSSD一択、デスクトップPCでもなるべくならSSDを使った方が良いだろう。また、SSDではSerial ATA(SATA)のものと、NVM Express(NVMe)のものがあるが、転送速度ではNVMeの方が早いので、もしNVMeが使えるならそちらを使った方が良いだろう。
SSDの容量は必要十分の量を確保するのが望ましいだろう。通常の用途であれば240GBあれば大体問題ないが、開発ツール等を多数インストールする必要がある場合やプロジェクトが多数ある場合は480GBはあったほうが無難だろう。仮想環境を使う場合はそれだけストレージ量を必要とするので、それに比例して十分な容量が必要になる。
デスクトップPCならストレージの交換・増設ができるものが多いが、ノートPCでは増設不可能、薄型タイプになると交換すらできないものも多いため、購入時に気をつける必要がある。
最後に
今回は開発環境としてどれくらいのスペックが必要となるのかの目安を書いてみた。スペックが不足するとパフォーマンス低下を招いて生産性にも影響を及ぼすので、極力軽快に動くくらいには十分なスペックを持つPCは購入したい。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。