MicrosoftからASP.NETがオープン化されてしばらく経ちました。前々から興味があったので、試しに開発環境構築をしてみます。
ASP.NETは昔は、Windows ServerのIIS上でしか動作せず、業務系のアプリケーション開発でよく使われていそうなイメージがあります。(その程度の知識しか持ち合わせていません…)
しかし、Windows Azureが登場してから、一気にASP.NETを利用する敷居が下がったのではないでしょうか?これまでオンプレミスのみで動作していたところから、クラウド化によってWindows Serverの利用が容易になりました。そして、ASP.NETのオープン化やVisual Studio Codeの様な、LinuxやMac OS Xでの開発環境を提供したことで、これからのWeb開発の選択肢にASP.NETが1つ加わったのではないかと思っています。
これまで、Web開発にはRuby on Railsをずっと使ってきました。最近は業務系のWebアプリケーション開発をよく行っているため、案件によっては社内サーバにデプロイする可能性も増えています。そこで、クラウド上(Windows Azure)とオンプレミス上(Windows Server)のどちらにもデプロイが行いやすい、ASP.NETを採用できないか考えていました。
正直なところ、Visual Studio自体は素晴らしい開発環境だと思うのですが、Windowsの使い勝手が悪く、その点で敬遠していました。Visual Studio Codeも公開され、いよいよ採用のチャンスかなと考えています。
それでは、本題の開発環境構築へ。
DNVM(.NET Version Manager), DNXの導入
ASP.NETのライブラリやコンパイル環境などを導入するためにDNVM(.NET Version Manager)の導入から始めます。
以下のコマンドでHomebrewからDNVMをインストールすることができます。
参考:https://github.com/aspnet/home#os-x
brew tap aspnet/dnx brew update brew install dnvm echo 'export MONO_GAC_PREFIX="/usr/local"' >> ~/.bashrc echo "source dnvm.sh" >> ~/.bashrc echo "export MONO_MANAGED_WATCHER=disabled" >> ~/.bashrc source dnvm.sh export MONO_MANAGED_WATCHER=disabled dnvm upgrade
Yeomanの導入
Yeoman(yeoman.io)はフロントエンド寄りのパッケージ(JavaScript, CSSフレームワークなど)管理などを行ってくれるツール群です。プロジェクトのひな形を作ってくれるYoとパッケージマネージャBowerとビルドツールGruntが含まています。node.js製のツールなのでnpmからインストールします。node.jsをインストールしていない人は、Homebrewなどでインストールしましょう。
次のコマンドでインストールします。
brew install nodejs npm install -g yo grunt-cli generator-aspnet bower
プロジェクトのひな形を作成
yo asp # Web Applicationを選択 # プロジェクト名に`HelloApp`を指定 cd HelloApp dnu restore
Visual Studio Codeで開いてアプリを起動する
Visual Studio Codeを立ち上げて、Open Folderからプロジェクトフォルダを開きます。
Cmd+Shift+pでCommand palletを表示させ、kestrelと入力し実行するとアプリケーションサーバが起動し、http://localhost:5001から見ることができます。
まとめ
意外とサクサクと、開発環境は構築できました。
.NETライブラリはネームスペースやクラス、メソッドがたくさんあるので、Visual Studio Codeの入力補完はとても心強いのではないでしょうか。
一方、最後までやってから気づいたのですが、デフォルトではデータベースがMicrosoft SQL Serverの設定なので、Mac上でデータベースを動かすことができません。従って、Windows Azure上にSQL Serverを建てて使う、あるいはMySQLなどのデータベースと接続する(これはできるのでしょうか??)手段を用意する必要がありそうです。
参考
- https://code.visualstudio.com/docs/ASPnet5
- http://docs.asp.net/en/latest/getting-started/installing-on-mac.html
- http://qiita.com/TsuyoshiUshio@github/items/48d28d123239fea4c42d