SHOEISHA iD

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

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

特集記事

クラウド時代に最適化されるASP.NET vNextとは ~Visual Studio14(CTP4)とK Projectの紹介

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

Kプロジェクトのまとめ

 ここで一度、vNextアプリケーションの特徴について整理してみましょう。

  1. 必要なアセンブリを実行時に取得(Project.json)
  2. 事前コンパイル不要、実行時の動的なコンパイル(Roslyn)
  3. IISに依存しないライブラリ群(Microsoft.AspNet名前空間)
  4. Windowsのインストール状況に依存しない.NET Framework(CoreCLR)

 このような特徴から、vNextでは、C#のコード群を配置するだけで、簡単にWebアプリケーションを実行できるようになります。

OWIN、Katana Project、Heliosとは

 Kプロジェクトを知る上で、OWIN/Katana/HeliosといったASP.NETを取り巻く新しい流れについても理解しておくと良いでしょう。

 OWIN(Open Web Interface for .NET)とは、.NETにおけるWebサーバーとWebアプリケーションを疎結合にするためのインターフェース仕様です。そのOWIN仕様を実現するプロジェクトがKatana Projectです。Katana Projectによって、IIS以外の環境でもASP.NETアプリケーションを動かせるようになりました。そして、HeliosはSystem.Webに依存しない軽量のライブラリで、IIS上で軽量のOWINサーバーとして動作します。

 OWIN/Katana/Heliosが登場した背景や詳細についてはChannel9の日本語動画が参考になります。

Kプロジェクトを構成する要素

 続けてvNextのアプリケーションを動かすKプロジェクトの構成要素について理解していきましょう。本稿では、Kプロジェクトを理解するために、セットアップ/ビルド/サーバー起動の流れをコマンドプロンプトだけで実行してみます。

Kプロジェクトの構成要素
Kプロジェクトの構成要素

KVM、KRE、KLR、KPM、Kとは

 Kプロジェクトのアプリケーションをビルドして動作させる環境はKRE(K Runtime)と呼ばれます。KREをインストールすると、実行時の本体であるKLRコマンド、アプリケーションを起動するKコマンド、パッケージを管理するKPMコマンドがインストールされます。そして、そのKREのバージョンを管理するコマンドがKVMコマンドとなります。

Kプロジェクトを構成する要素
コマンド/要素 概要
KRE Kランタイムエンジン。vNextアプリケーションを管理。KLR/KPM/Kコマンドが含まれる(JavaにおけるJREのようなもの)
Kコマンド(k.cmd) vNextアプリケーションを起動するコマンド。内部的にKLRを呼び出す。
KLRコマンド(klr.exe) Kランゲッジランタイムコマンド。vNextアプリケーション本体(Javaコマンドのようなもの)
KPMコマンド(kpm.cmd) Kパッケージマネージャ。Project.jsonに従ってNuGetサーバーからDLLを取得(Node.jsにおけるNPMのようなもの)。内部的にKLRを呼び出す。
KVMコマンド(kvm.cmd) Kバージョンマネージャー。KREのインストールとバージョンを管理(Node.jsにおけるNVMのようなもの)

コマンドプロンプトでKプロジェクトを実行

 それでは、MicrosoftがGitHubで公開している最新のソースを取得して、vNextアプリケーションを実行してみましょう。なお、現時点で必要な環境はWindows 7/Windows Server 2008 R2以上、.NET 4.5.1です。Mac OSX/Linuxの場合、Mono 3.4.1以上(bash/zshとcurlが必要)となります。

GitHubからvNextのHomeをダウンロード

 まず、GitHubのASP.NET Homeのページから最新ソースを取得します。GitHubのASP.NET Homeページで、Download ZIPボタンをクリックします。

GitHubのASP.NET HomeページからZIPをダウンロード
GitHubのASP.NET HomeページからZIPをダウンロード

 ダウンロードしたZIPファイルを解凍して、任意のフォルダ(ここではC:¥CodeZine¥home-master)に展開します。解凍したフォルダの中にKVMコマンド(kvm.cmd)があることを確認しておきます。

解凍したファイルの中にKVMコマンドがあることを確認
解凍したファイルの中にKVMコマンドがあることを確認

次のページ
KVMコマンドでKREを操作

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

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編 」他、著書多数

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング