Bullet Group Advent Calendar 2020 12日目の記事です。
はじめまして。12月1日に入社したS_kudoと申します。 この度「Bullet Group Advent Calendar 2020」の12日目を担当する事となりました。
前職では「C#」を使用していた為、本記事ではMacでの「C#」の環境構築、「HelloWorld!」の出力までについて書こうと思います。 よろしくお願い致します。
以下は概要になります。
C#とは
C#は、マイクロソフトが開発したプログラミング言語です。 「C++」や「Java」などのオブジェクト指向型言語であり、 2002年1月にVer1.0 がリリースされました。
C#は「.NET Framework」というソフトウェア実行環境上で動作しており
「.NET Framework」は Windows にしか対応していない為、基本 C# の開発は Windows で行います。
では、Mac での開発はできないのか?と言うとそうでもありません。 「.NET Core」や「.NET Framework」の互換環境である「Mono」等によりWindows 以外にも Linux や macOS その他複数の OS での実行が可能となりました。
※「.NET Core」と「Mono」の概要ついては下記ご覧ください。
【.NET Core】 ja.wikipedia.org
【Mono】 ja.wikipedia.org
Macに「C#」の環境構築
前項記載の通りC# は複数の OS での実行が可能だとおわかり頂けたと思います。
では実際に Mac に環境構築をしてみようと言う事で、
今回は「Visual Studio for Mac」を使用し “HelloWorld !”を出力するコンソールアプリを作成していきます。
「Visual Studio for Mac」とは
調べてみましたが要約すると、「Mac用の.NET環境」みたいです。
.NETを使用したアプリ、ゲームなどの開発ができるようです。
別の方法で環境構築できますが、比較的簡単そうだったので選びました。
対応言語は「C#, F#, Razor, HTML5, CSS, JavaScript, TypeScript, XAML, XML」です。
Visual Studio for Mac インストール
では早速「Visual Studio for Mac」のインストローラをダウンロードしていきましょう。
下記、URLからダウンロードが可能です。
URL先へ移動したらダウンロードしていきましょう。
インストローラーが Finder の ”ダウンロード” フォルダに格納されますので実行します。
ウィンドウが表示されますので、中央のアイコンをダブルクリックします。 インストローラーが起動しインストールが開始されます。
AppStore経由ではないので警告が出ます。
特に問題はないので「開く」をクリックします。
「Visual Studio for Mac をダウンロードしていただき、ありがとうございます」と表示されますが、「続行」ボタンをクリックして下さい。
「何をインストールしますか?」と表示されます。
ご覧の通り「.NET Core」「Android」「iOS」「macOS(Cocoa)」等、様々なアプリが開発できそうです。
時間かかりそうだったので今回は「.NET Core」のみ選択しました。
※「iOS」アプリを選択した場合は「Xcode」のインストールも必要になります。
暫くすると、管理者のユーザー名とパスワードを要求されまますので、ユーザー名とパスワードを入力します。
後はインストール完了するまで待ちます。
インストールが完了したら下記画面が表示されます。 今回は「後で行う」を選択します。
次にキーボードのショートカットを選択する画面が出てきます。
今回はデフォルトのまま「続行」をクリックします。
下記画面が表示されたら完了です。
お疲れ様でした。
引き続き、コンソールアプリを作成しましょう。
コンソールアプリ作成
Visual Studio for Mac を起動しましょう。 下記画面が表示されたら新規をクリックします。
下記、画面が表示されると思います。
今回はコンソールアプリを作成するので「その他」から「.NET」を選択し、
「コンソールプロジェクト」を選択した後「次へ」をクリックして下さい。
下記、画面が表示されたら「プロジェク名」を入力しましょう。今回は「HelloWorld」にします。
① を記入すれば ② は自動的に反映されます。③ はプロジェクトのディレクトリが作成される場所です。
それぞれ記入、確認したら「次へ」をクリックします。
下記のような画面が表示されると思います。
確認してみるとデフォルトでコンソールに出力するプログラムが記述されているようです。
そのまま実行してみましょう。左上の赤枠で囲んでいる部分をクリックし実行します。
「HelloWorld!」と出力されましたね。
赤枠で囲んでいる箇所で「Debug」「Release」を切替えて実行できます。
「Debug」と「Release」で実行したアプリケーションの格納先はそれぞれ異なります。
【Debug】
/Users/Home/projects/HelloWorld/HelloWorld/bin/Debug/HelloWorld.exe
【Release】
/Users/Home/projects/HelloWorld/HelloWorld/bin/Release/HelloWorld.exe
アプリの実行
では次に実際にターミナルでアプリを動作させてみましょう。 アプリは「Releace」配下にあるもので良いでしょう。 ターミナルで「HelloWorld.exe」が格納されているディレクトリへ移動します。
cd /Users/shotakudo/projects/HelloWorld/HelloWorld/bin/Release
「mono HelloWorld.exe」で実行します。
mono HelloWorld.exe
表示されましたね。問題なさそうです。
最後に
Visual Studio for Mac を使用して「HelloWorld!」を出力しましたが、自分でも思った以上に手順が少なかった事に少し驚いています。(通信速度の影響で時間はかなりかかりました。。)
今回のコンソールアプリ以外にも C# は様々なアプリを開発することができます。 今後どのようになっていくのか楽しみですね。
長くなりましたが、最後まで読んでいただきありがとうございました。