Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

.NETアプリケーションをMacで開発してDockerで動かそう!

あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集 第3回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/07/30 14:00

目次

Webプログラムのひな形を作成

 それでは、Webプログラムのひな形を作成しましょう。MicrosoftのWeb技術「ASP.NET」のプロジェクトは、C#プログラム(*.cs)、ビューファイル(*.cshtml)、設定ファイル(*.json)などから構成されます。これらを1つずつ手動で作成していくことは手間なので、ひな形を作成できるYeomonというツールを使用します。

Node.jsとYeomanのインストール

 まず、HomeBrewでNode.jsをインストールします。Node.jsはサーバーサイドJavaScript環境として有名なプロダクトです。ここでは、Node.jsのパッケージ管理ツールnpmを使用するためにインストールします。

 Yeomanのインストールはnpmコマンドを使用します。Yeomanは、ひな型生成の「Yo」、ライブラリ依存管理「Bower」、ビルドツール「Grunt」から構成されます。あわせて、YeamanでASP.NET5のジェネレーターをインストールします。

Node.jsとYeomanのインストール(brewコマンド)
##### HomeBrewで、Node.jsのインストール
$ brew install node

##### npmで、Yeomanのインストール
$ npm install -g yo

##### npmで、ASP.NETのジェネレータをインストール
$ npm install -g generator-aspnet

Web基盤「ASP.NET」

 ASP.NETはWebにフォーカスしたMicrosoftのテクノロジーです。最新のASP.NET MVCでは、Web標準やオープンソースと相性の良い技術を採用しています。

YeomanでASP.NETのソースを生成

 YeomanとASP.NET5ジェネレータがインストールできたので、実際にASP.NETのひな形を生成してみましょう。「yo aspnet」と入力することで、ASP.NETのひな形を生成する画面が表示されます。現時点では「空プロジェクト」「コンソールアプリケーション」「認証ありWebアプリケーション」「認証なしWebアプリケーション」「WebAPI」「Nancy(注1)」「クラスライブラリ」の7種類から選択できます。

注1

 RubyのSinatraに影響を受けた軽量フレームワーク。 詳細はGitHubのNuncyページ参照。

ASP.NET5のジェネレーターを起動してWebAPIを生成(yoコマンド)
##### ASP.NET5ジェネレートを生成 #####
$ yo aspnet
...中略...
? What type of application do you want to create? (Use arrow keys)
?? Empty Application
  Console Application
  Web Application
  Web Application Simple [without Membership and Authorization]
  Web API Application
  Nancy ASP.NET Application
  Class Library

##### プロジェクトの種類を選択して、名前を入力するとひな形が生成される #####

? What type of application do you want to create? Web API Application
? What's the name of your ASP.NET application? MyWebApi
   create MyWebApi.gitignore
   create MyWebApi/hosting.ini
   create MyWebApi/Startup.cs
   create MyWebApi/project.json
   create MyWebApi/Properties/launchSettings.json
   create MyWebApi/Controllers/ValuesController.cs
   create MyWebApi/wwwroot/README.md

 本稿ではWebAPIを作成できる「Web API Application」をカーソルで選択して、エンターキーを押下します。ここではプロジェクト名として「MyWebAPI」と入力します。

プログラムの実行

 Yeomanでひな形を生成するとコマンド例が表示されますので、そのとおり実行してみましょう。パッケージ管理コマンド「dnu」とアプリ起動コマンド「dnx」を使って、ソースコードのビルドと実行ができます。ASP.NET5の概要については、筆者の解説記事をご覧ください。

WebAPIアプリケーションのビルドと起動(dnu/dnxコマンド)
##### フォルダを移動 #####
$ cd "MyWebApi"

##### dnuコマンドで、依存するDLLをnugetサーバーから取得 #####
$ dnu restore
Microsoft .NET Development Utility Mono-x64-1.0.0-beta5-12103
...中略...
Restore complete, 9014ms elapsed

##### dnuコマンドで、ビルドを実行 #####
$ dnu build
...中略...
Build succeeded.
    0 Warning(s)
    0 Error(s)
Time elapsed 00:00:02.3776756

##### dnxコマンドで、Webサーバー「kestrel」を起動 #####
$ dnx . kestrel
Started

 以上の操作で、localhostの5000ポートでWebサービスを起動できました。

WebAPIの実行結果をブラウザで確認
WebAPIの実行結果をブラウザで確認

 なお、Yeomanで生成されたコードを編集するには、Visual Studio Codeを使うと便利です。詳細はマイクロソフトのクロスプラットフォーム対応新コーディングツール「Visual Studio Code」をご覧ください。

 ソースが準備できたので、Dockerにデプロイする方法について紹介していきます。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 青木 淳夫(アオキ アツオ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きた...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5