SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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にデプロイする方法について紹介していきます。

次のページ
Dockerについて

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8859 2015/07/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング