Xamarin Studio for Macで.NETプログラム(C#)を書いてみた。
1 はじめに
昨夜、無料になったという事で、朝から慌ててインストールしたXamarin Studio ですが、今、眺めていると、プロジェクトの一覧に.NETやASP.NETがある事に気がつきました。
これ、前からあったのですか???
[Developers.IO] 遂にXamarin無料! Xamarin Studio for MacでiOS/Androidを書いてみた。
2 ソリューションの作成
メニューから「ファイル」ー「新規」ー「ソリューション」と辿り、「その他」の「.NET」を選択し、「コンソール プログラム」をクリックします。
プロジェクトの名前を指定します。(ここでは、ConsoleAppとしました) ソリューション名は、自動的に同じものが入ります。
”Hello World!”をコンソールに出力するだけの雛形が生成されます。
3 System.Net.NetworkInformation
せっかくなので、.NETに依存した簡単なプログラムを作成してみます。 下のコードは、pingを送信するプログラムです。ソケットで書いたら、気が遠くなるよなコードが2、3行で書けてしまいます。
using System; using System.Net.NetworkInformation; using System.Linq; namespace ConsoleApp { class MainClass { public static void Main(string[] args) { var p = new Ping(); foreach (int i in Enumerable.Range(1, 10)){ var reply = p.Send("www.google.com"); if (reply.Status == IPStatus.Success){ Console.WriteLine("Reply from {0}:bytes={1} time={2}ms TTL={3}" ,reply.Address ,reply.Buffer.Length ,reply.RoundtripTime ,reply.Options.Ttl); }else { Console.WriteLine("Ping faild ({0})", reply.Status); } p.Dispose(); } } } }
そして、デバッグ実行している様子です。
4 実行プログラム
実際のバイナリは、ソリューションのフォルダの中のプロジェクトの中のbin/Debug(デバッグ)若しくはbin/Release(リリース)に作成されています。
そして、exe
$ pwd /Users/sin/Projects/ConsoleApp/ConsoleApp/bin/Debug $ ls -la total 24 drwxr-xr-x 4 hirauchishinichi staff 136 4 1 22:55 . drwxr-xr-x 3 hirauchishinichi staff 102 4 1 22:37 .. -rwxr-xr-x 1 hirauchishinichi staff 4608 4 1 22:55 ConsoleApp.exe -rw-r--r-- 1 hirauchishinichi staff 552 4 1 22:55 ConsoleApp.exe.mdb
そう、monoで実行って事ですね。
$ mono ConsoleApp.exe Reply from 216.58.197.164:bytes=0 time=35ms TTL=128 Reply from 216.58.197.164:bytes=0 time=24ms TTL=128 Reply from 216.58.197.164:bytes=0 time=26ms TTL=128 Reply from 216.58.197.164:bytes=0 time=24ms TTL=128 Reply from 216.58.197.164:bytes=0 time=24ms TTL=128 Reply from 216.58.197.164:bytes=0 time=23ms TTL=128 Reply from 216.58.197.164:bytes=0 time=27ms TTL=128 Reply from 216.58.197.164:bytes=0 time=26ms TTL=128 Reply from 216.58.197.164:bytes=0 time=25ms TTL=128 Reply from 216.58.197.164:bytes=0 time=24ms TTL=128 $
5 最後に
XamarinStudioをインストールするだけで、Monoの環境がセットアップされ、C#で.NETが書けてしまう事に、改めてビックリしました。
ASP.NETも書けるみたいだし・・・Xamarin Studioで勝つるかも・・・
6 参考資料
遂にXamarin無料! Xamarin Studio for MacでiOS/Androidを書いてみた。
[Developers.IO] Xamarin – シリーズ –
Xamarin 記事一覧 - SIN@SAPPOROWORKSの覚書