本記事では主にWindows 10向けの開発環境の構築手順を解説します。また「開発環境を構築するならばMacでプログラミングをするべきなのか」と悩んでいる方に向け、WindowsとMacの比較も行います。
記事ではWindowsでLinux環境を使うための環境構築手順も、画像付きで解説しています。「できれば、Windowsを使って開発を進めていきたい......」と思っている方にもおすすめです。ぜひ最後までお読みください。
1. Windowsでもプログラミングの環境構築は可能 - Macとの比較
エンジニア歴が浅い方の中は「Macでプログラミングを始めたものの、実際の業務ではWindows PCを使うことになって困った」というケースもあるのではないでしょうか。
また業務で使用するPCのOSを「Windowsにすべきか、Macにすべきか」と迷うこともあるでしょう。
結論から言えば、Windowsでもプログラミングの環境構築は可能です。Linux環境の立ち上げも簡単に行うことができるため、Unix系との相性という意味では、Macとの有意差はほぼないと言っても過言ではありません。
またWindowsは大企業のシステム開発案件の受注に適しているというメリットもあります。
WindowsとMac、それぞれのメリット・デメリットをまず見ていきましょう。
1.1 各OSのメリット・デメリット
では、各OSのメリット・デメリットとしては何があるのでしょうか。
1.1.1 Windowsのメリット・デメリット
Windowsを利用するメリットは、次の3つ。
• 法人かつ、規模が大きく需要の高い業務システムの開発に携われる
• WSLを実装し、Linux環境も扱いやすくなっている
• Windowsアプリだけでなく、Webアプリ、iOSアプリ、Androidアプリなども開発できる
企業の規模で言うと、大企業などでもWindowsPCがよく使われています。そのため業務システムの開発や運用などで、Windowsを扱うケースは多いでしょう。
またWSLの実装により、Linuxを立ち上げられるようになりました。開発環境(Windows)と実行環境(Linux)の違いによるエラーなども起こりにくくなり、開発における死角が少なくなっています。
ただ一方で、Macの環境がないと実行できないようなアプリの動作検証は難しいです。
たとえばSwift(スウィフト)などを使ったiOS向けアプリ開発は、Macの方が優れています。特に実機での動作検証ができる点は、大きな違いでしょう。
またプログラミング関連の技術書やドキュメントでは、Mac前提でカリキュラムが組まれていることも多いです。こういった点を考慮しつつ、Windowsを選ぶべきか検討しましょう。
1.1.2 Macのメリット・デメリット
Macを利用するメリットは、次の3つ。
• iPhoneアプリが開発しやすい(実機での動作も確認しやすい)
• 仮想化ソフトを使ってWindowsの環境も構築できる
• Unix/Linux系のマシンと近い感覚で操作できる
iPhoneアプリの動作検証を、実機を使って確認できます。またMac上で仮想化ソフト「Bootcamp」を使えば、Windowsの環境を構築できます。開発するアプリに合わせて切り替えれば、2つのOSを使いこなすこともできるでしょう。
またMacは、Webサーバに多いUnix/Linux系マシンと近い感覚で操作でき、関連するソフトウェアの導入もしやすい仕様になっています。
デメリットは、「業務システムにはWindowsの方が多い」といった点です。逆に言うと、Macはベンチャーやスタートアップの需要が強いです。
またMacを使ってアプリを開発してリリースした後、Windowsの環境でアプリのお問い合わせが来ることも。このときBootcampなどでWindowsの環境を作ってなければ、テクニカルサポートがしづらくなってしまいます。
こういったデメリットも考慮しつつ、Macを選ぶべきか検討することをおすすめします。
1.2 各OSで使われる代表的なプログラミング言語・用途
実は各OSによって、得意とするプログラミング言語・用途などが異なります。OSを選ぶ前に、どんなアプリが開発できるか見ていきましょう。
1.2.1 Windows
Windowsでよく使われるプログラミング言語は、
• C/C++
• C#
• Visual Basic
などがあります。なかでもC#はWindowsアプリ、Webアプリどちらも開発しやすい言語で非常に人気が高いです。
またC#では、大企業向けのシステム開発だけでなくゲームの開発もできます。ゲーム開発プラットフォーム「Unity」で扱えるプログラミングの1つが、C#だからです。
C#の詳細については、以下をご確認ください!
言語 | C# |
---|---|
概要 | Microsoftが提供しているプログラミング言語
.NET環境でアプリケーション開発ができる |
最新バージョン | C# 9.0
(C# 10.0は、2021年8月31日時点だとプレビュー版のみ) |
公式ドキュメントURL | https://docs.microsoft.com/ja-jp/dotnet/csharp/ |
※2021年8月31日時点の情報です
1.2.2 Mac
Macでよく使われるプログラミング言語は、
• Swift
• Ruby
• PHP
• Python
• Objective-C
などがあります。なかでもSwift(スウィフト)はApple社が作った2014年に発表した言語で、iPhoneアプリなどのiOSアプリを開発できます。
これからiPhoneアプリ開発をメインにOSの選定を考えている方は、Macがおすすめです。
また先ほどお伝えした通り、Webでの動作検証もしやすいのがMacの魅力です。今後Web系に進みたい方(Ruby、PHP、Pythonなどで開発を考えている方)も、Macを選ぶのが無難でしょう。
Swiftの詳細については、以下をご確認ください!
言語 | Swift |
---|---|
概要 | Apple社が2014年に発表した、オープンソースのプログラミング言語
MacでiOSアプリ開発をするときに使用する言語 |
最新バージョン | Swift 5.4 |
公式URL | https://www.apple.com/jp/swift/ |
1.3 WindowsとMac、OS選びに迷った場合はどちらを選ぶべき?
WindowsとMac、それぞれのメリットとデメリットを比較しました。OS選びに迷った場合は「自分が作りたいアプリ」から逆算して、OSを選ぶべきでしょう。たとえばiPhoneアプリを作りたい場合は、Macを優先して選ぶべきでしょう。
ただし、OS選びに迷ってしまう場合は、Windows OSを選ぶことをおすすめします。
Windows OSは大企業やSIerでの採用率が高く、実際の業務でアプリを開発する場合は最終的に「Windowsユーザー」を想定したテストが必要になることが多いです。
Linux環境との相性という面でもMacとの差はほぼありません。
さらに、たとえばC#向けフレームワーク「Xamarin」などを活用したクロスプラットフォーム開発も進んでおり、Windows環境でもiOS向け開発は快適にできるようになりつつあります。
また本記事では詳しく取り扱いませんが、ゲームエンジンでの開発もWindowsの方が採用率が高いです。
よって「作りたいものがまだ明確ではない」場合や「大企業の開発案件を受注したい」といった場合はWindowsを強くおすすめします。
2.【Windows 10向け】環境構築の手順
ここからは、Windows 10向けに開発環境を構築する手順をご紹介します。
2.1 Windowsの環境構築の問題点・課題
Windows環境での開発には、これまで1つ大きな問題がありました。それは、「開発環境と実行環境の違いによるエラーや、文字化けなどの問題が起こってしまう点」です。
特に業務用アプリ等の場合、アプリケーションの実行環境は、安定性やコストなどを考慮してLinux系のOSで構築されることが多いです。しかし開発環境はWindowsですから、開発したものをそのままLinuxの実行環境にアップロードしてしまうと、文字化けや動作不良などを引き起こすことも。
このように開発環境と実行環境の差異による問題がありました。
2.1.1 Windows上でLinux環境を構築することが可能
こういった開発環境と実行環境の問題を解決するために作られたのが、「Windows Subsystem for Linux(略称:WSL)」です。
Windows Subsystem for Linuxとは、その名の通りWindows上でLinuxの実行環境を作れるサブシステムのこと。つまり、Windows環境でExcelなどの仕様書を確認しながら、Linux環境で開発を進めるといったことが可能となります。
以前までWindowsにLinuxの環境を作ってしまうと、Linux専用機として扱うしか方法がありませんでした。しかしWindows Subsystem for Linuxではどちらの環境も利用できるため、開発効率がぐっと上がったのです。
2.2 Windows Subsystem for Linuxのインストール
Windows Subsystem for Linuxのインストール手順は、8ステップあります。数が多く感じるかもしれませんが、実際にやってみると数分で終わります。
(1)スタートメニューからコントロールパネルを入力し、「Control Panel」をクリック
(2)プログラムをクリック
(3)画面右側にある「Windowsの機能の有効化または無効化」をクリック
(4)「Windows Subsystem for Linux」または「Linux用 Windowsサブシステム」にチェックを入れて、「OK」を実行する
再起動することでWSLが有効となります。
次のようなポップアップが出るため、再起動しましょう。
続いて、LinuxをWindowsから実行するために、ディストリビューションを入れます。マウスでも操作できる、Ubuntuを入れる流れを見ていきましょう。
(5)Windowsボタンを押して「マイクロソフトストア」を入力し、「Microsoft Store」を開く
(6)画面右上の検索ボックスに「WSL」を入力してエンターキーを押します
(7)「すべてのデバイス」を選んで出て来る、「Ubuntu XX.XX LTS」をクリック
※ここでは「Ubuntu 20.04 LTS」になっていますが、インストールする時期によってバージョンは異なります
(8)入手ボタンをクリックしてダウンロード
インストールが終わるまで、少し待ちましょう。以下のような画面になれば、Ubuntuのインストールが完了です。
2.3 Windows Terminalのインストール
続いて、Windows Terminalをインストールしていきましょう。Ubuntuのインストールと同様に、Microsoft Storeからダウンロードします。
(1)Microsoft Storeを開いて「Windows Terminal」を検索し、Windows Terminalをクリック
(2)入手ボタンをクリックしてインストール
たったの2ステップで終わるので、とても簡単です。
2.4 Visual Studio Codeのインストール
Visual Studio Codeのインストールは、インストーラーをダウンロードして流れに沿っていくだけでインストールができます。
インストーラのダウンロードは、以下の公式サイトから可能です。
出典:Download Visual Studio Code
Visual Studio Codeのインストールが終了後、セットアップを行った後、コードが含まれるファイル(C#の場合「.cs」ファイル)を開くと、「このファイルの種類には拡張機能’C#’が推奨されます。」というメッセージが表示されます。メッセージに従って、拡張機能の有効化を行いましょう。
また併せて、Visual Studio Code上で「C# FixFormat」拡張機能を検索。有効化を行うと、C#のコードの整形が簡単にできるようになります。こちらも併せて有効化しておきましょう。
なお、Visual Studio CodeはC#以外にも多くのプログラミング言語での開発に対応しています。
おすすめのプログラミング言語については、以下の記事にまとめています。ぜひ参考にしてください。
3. Windowsでのプログラミングについてよくある質問
最後にWindowsでのプログラミングについて、よくある質問をまとめました。
3.1 各OSを導入している企業・業種の例は?
WindowsとMacを導入している企業・業種の例は以下の通りです。
3.1.1 WindowsはSIer・受託開発企業に多い
Windowsは法人企業かつ、比較的規模の大きい企業で使われています。その理由はExcelやWordなどのOfficeソフトで、要件定義・基本設計などの上流工程を進めることが多いからです。
また顧客となる企業もWindowsを使っていることが多く、適切なサポートや動作検証をする上でもWindowsが使われています。
さらに主にWindowsで動作する「.NETアプリケーション」を開発する際は、プログラミング言語「C#」や「Visual Basic」などが使用されます。これらの言語を用いたアプリケーション開発で、主流のOSはWindowsです。そういった意味でも、Windowsが使われるケースは多いでしょう。
3.1.2 Macはベンチャー・スタートアップに多い
Macは、ベンチャー・スタートアップ企業に多く採用されています。その理由は、主に次の3つです。
• LinuxなどのUNIX系との親和性がWindowsよりも高い
• Webアプリ・サービスの動作検証を、複数のOSのブラウザで確認しやすい
• iPhoneアプリなどのiOSアプリ開発がしやすい
近年はWindows環境でもLinuxを使用できるため、UNIX系との親和性の面ではWindowsとMacに有意差はなくなりつつあります。とはいえ長らく、Linuxとの親和性の面でMacが重用されてきた歴史もあり、今日でも多くのサーバー系のエンジニアがMacを利用しています。
またWeb系のエンジニアやデザイナーも、Macを利用することが多いです。その理由は、Windows、Mac、Linuxなど異なるOSのブラウザでも動作が確認しやすいOSだからです。
たとえばMacの機能にある「Bootcamp」を使えば、Windowsの環境を簡単に作ることができます。一方で、WindowsからMacの環境を作ることはできません。
さらにiOSアプリを開発するときは、Macが重用されます。iOSアプリの開発ができるツールが用意されているためです。
3.1.3 クラウド環境での開発も進む
ちなみに、WindowsやMacだけでなく、クラウド上の開発環境を利用した開発方法も増えています。たとえばAWS(クラウドサービス)の開発環境「Cloud9(クラウドナイン)」を使えば、ブラウザさえあればアプリを開発できます。
出典:AWS Cloud9
WindowsやMacなど好みのパソコンを使っても、Webブラウザさえあれば開発できるためOSによる影響を受けません。
3.2 プログラミングスクールや入門書ではMacを推奨していることも多い。理由は?
プログラミングスクールや入門書を見てみると、Macを推奨していたり、Macを使うことが前提で書かれていることもあります。その理由は、「MacがUNIXコマンドに強いから」です。UNIXやLinux環境を前提としたチュートリアルを元にプログラミング学習をするようなケースでは、Macの方が環境の違いによるエラーが起こりにくいのは事実です。
とはいえ繰り返しお伝えしている通り、Windowsでも十分に開発環境を整えることはできます。Linuxとの相性の面ではWindowsとMacに大きな差は今日ではありません。
実際にエンジニアとして働くときの企業・業種などが変われば、扱うプログラミング言語やOSも変わります。記事の前半部で紹介した各OSのメリット・デメリットを比較して、自分にマッチしたOSを選ぶことをおすすめします。
3.3 Windows対応しているおすすめのエディタは?
Windowsに対応しているエディタは、色々あります。なかでも使いやすいのは、次の2つ。
• Atom(アトム)
• Visual Studio Code(ビジュアルスタジオコード)
どちらも軽量に動くソフトで、インストールしても重たくありません。どちらも無料で使えるので、それぞれダウンロードしてどちらが好みか比べてみてはいかがでしょうか。
なおVisual Studio Codeについては、本記事内でインストール手順も解説しているためぜひ参考にしてください。
>>Visual Studio Codeのダウンロードはこちらをクリック
3.4 Windows上でのアプリ開発でおすすめのフレームワークは?
Windowsでアプリ開発するなら、Xamarin(ザマリン)を使うのがおすすめです。Xamarinとは、アプリを開発できるフレームワークのこと。
Xamarinは「C#でiOSアプリや、Androidアプリなどが作れるフレームワーク」です。iOSアプリ開発ではSwift、Androidアプリ開発ではKotlinの人気が高いものの「新しくアプリ開発用の言語を、OSごとに覚える」ことは大変です。しかし、C#のみでクロスプラットフォーム開発ができるのであれば、言語習得までに時間がかかりません。
既に慣れているC#のスキルを活かして別のアプリ開発ができるため、開発効率も上がります。WindowsでC#を使った開発をしている方は、Xamarinを使ってみるのがおすすめです。
4. まとめ
今回は、
• WindowsとMacを使う企業・業種
• WindowsとMacのメリット・デメリット
• WindowsとMacの代表的なプログラミング言語
• WindowsでLinux環境を使うための環境構築手順
の流れで、それぞれのOSの違いや環境構築手順などについて解説しました。
WindowsはMacに劣らず、さまざまなシステムやアプリが開発できるOSです。特にWindows Subsystem for Linuxが出てからは、開発時の死角がほとんどなくなりました。
開発環境と実行環境の差異で悩むことも減ったので、より開発が進めやすくなっています。加えてXamarinやUnityを使って開発すれば、iOSアプリ、Androidアプリ、ゲームなど開発できるアプリの幅も広がります。
WindowsのパソコンはMacと比べても購入しやすい価格となっているため、プログラミング環境をコスパ良く整えたい方にもおすすめです。ぜひ今回ご紹介した環境構築手順などを参考に、Windowsでプログラミングをしてみてはいかがでしょうか。