SHOEISHA iD

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

連載記事

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

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
【夏サミ2014】セッションレポート (AD)

【夏サミ2014】A2セッションレポート
次期バージョン.NET vNextはよりオープン、よりプラガブルに、クラウドに最適化される

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

 現在、インターネットに接続されている端末は爆発的な勢いで増えている。そのような変化に伴い、マイクロソフトの技術戦略も大きく変わってきた。2012年、米マイクロソフトのスコット・ハンセルマン氏は、Webアプリケーションの開発フレームワークASP.NETについて「私たちはASP.NETそのものを、よりプラガブル、よりオープン、より楽しいものにする」と提言した。最新バージョン「ASP.NET vNext」ではその言葉をどう実現しているのか。デベロッパーエクスペリエンス&エバンジェリズム統括本部 エバンジェリストの井上章氏が、ASP.NET vNextの概要を紹介すると共に、.NETのこれから、さらにはクラウド最適化とモダナイゼーションの流れについて解説した。

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

デベロッパーエクスペリエンス&エバンジェリズム統括本部 エバンジェリスト 井上章氏
デベロッパーエクスペリエンス&エバンジェリズム統括本部 エバンジェリスト 井上章氏

「すべての机と家庭にコンピュータを」が体現された今

 「まずはマイクロソフトの今を知ってもらうことから始めたい」

 こう語り、井上氏のセッションは始まった。1975年に創業したマイクロソフト。当時のビジョンは「すべての机に家庭にコンピュータを」。この言葉以上に、現在の環境は机や家庭にコンピュータはもちろん、ポケットにはスマートフォン、鞄にはタブレットが入っている人も珍しくない。

 インターネットに接続するデバイスの数も急増している。2008年には世界総人口の70億をデバイスの数が上回った。さらにIoT(Internet of Things)も増えている。そのためデータ量も膨大化、しかもそれらのデータは「すべてクラウド上で処理されるようになっている」と井上氏は言う。

 そのような時代の変化と共に、マイクロソフトもここ数年大きく変化しているという。かつては映画スターウォーズの「Death Star(闇夜の帝国:中が見えない、何をやっているかわからない)」というイメージだったが、「最近は中が丸見えになってきた」と井上氏は言う。今のマイクロソフトはオープンなところが増えているというのだ。

 この変化は製品を見れば一目瞭然だ。現在のVisual Studioの最新バージョンはVisual Studio2013 Update2、また.NETは「.NET4.5.2」である(本記事公開時点ではVisual Studio 2013 Update 3がリリースされている)。.NETは登場した2002年当時からデバイスとサービスを視野に入れていたという。

 .NETはOSの上に共通言語ランタイム(CLR)、その上に各種のライブラリ、共通言語基盤(CLI)が乗るというフレームワークを構成にすることで、.NET対応の開発言語が利用可能になっている。

 「今や.NETはいろんなところで使われており、さまざまなアプリケーションで動いている。とはいえこれからはマルチデバイスやクラウド、迅速な開発という要素は欠かせなくなっている。そのために.NETも変わっている。どう変わっていくのか、クラウド最適化にフォーカスを当てて紹介していきたい」(井上氏)

ASP.NET vNextでよりプラガブルに

 クラウド最適化のきっかけは、米マイクロソフトのプリンシパルプログラム・マネジャー スコット・ハンセルマン氏が2012年2月、ブログに「ASP.NETはもっともっとオープンソースになる。さらに私たちはASP.NETそのもよりプラガブルにして、もっと楽しいものにするよ」と記述したこと。この提言の下に始まったのが、One ASP.NET構想である。One ASP.NET構想では、開発するアプリケーションによって、必要なライブラリを自由に選択して組み合わせて作ることができる。

 「しかし、プラガブルになったとはいえ、IISやOne ASP.NETの様々なフレームワークがなければアプリケーションは動かないというのが実情だった。これをさらにプラガブルにするためのキーワードがOWIN、Katana ProjectとHeliosである」(井上氏)。

 OWIN(Open Web Interface for .NET)とは、.NETにおけるWebサーバとWebアプリケーションを疎結合にするための抽象化インターフェース定義である。Katana Projectはサーバの部分をOWINに対応するためのオープンソースプロジェクトである。これにより、今まで通りのIISを使った構成はもちろん、IIS以外のカスタムホストでもアプリケーションを動かせるようになる。

 とはいえIIS上で稼働させるニーズはまだまだ多い。しかしSystem.Webはコンピュータリソースを無駄に食うという問題点があった。それを解消するのが、Heliosである。HeliosはSystem.Web非依存で、直接IIS上で動作する軽量OWINサーバである。

 そして、「Katana ProjectやHeliosの流れを受けて、さらに改良が進められている新バージョンがASP.NET vNextだ」と井上氏は説明する。

 ASP.NET vNextはGitHub上でオープンソースとして開発が進められている。最大の特長は、細分化されたモジュラー設計を採用していること。例えばASP.NETのアプリケーションをIISとAzureに配置する場合、これまでのようにコンパイルする必要はない。ソースコードをそのまま配置すれば、実行時にRoslynと呼ばれるコンパイラによって実行される仕組みになっているからだ。「大きなところではMono Projectを使うことで、Windowsはもちろん、MacやLinuxでも実行が可能。そのほかにも完全なSide by Side実行(例えばWindows上で動いていたアプリケーションをそのままLinuxのMono上でも動くような状況)を目指している」というのだ。

ASP.NET vNext(Next Version)
ASP.NET vNext(Next Version)

 これを可能にするのがランタイム構成である。ASP.NET vNextでは、vNextアプリケーションのビルド・実行環境でありSDKであるKRuntime(KRE)を作成。KREはレイヤー0~4と5層に分かれ、KHost(レイヤー0)では先述したようにIISはもちろん、セルフホストで動かすKLR.exeを用意している。またKRuntime(レイヤー1~2)では、.NET用のCore CLRに加え、Mono環境でも使えるような構成となっている。そしてレイヤー3ではさまざまなアプリケーションを動かすためのApplication Host層とRoslyn Loaderを用意し、アプリケーションごとに必要なライブラリをロードしていく形になっているというわけだ。

次のページ
互換性も心配なし、旧バージョンもきちんとサポート

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
【夏サミ2014】セッションレポート 連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

  1. 1
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ NEW
  2. 2
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  3. 3
    Linuxディストリビューション「Debian 12.9」リリース NEW
  4. 4
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス NEW
  5. 5
    GitHub、「Git 2.48」のおもな新機能や変更点について公式ブログで紹介 NEW
  1. 6
    ガートナージャパン、急速に期待が高まるAIエージェントに関する最新の見解を発表 NEW
  2. 7
    Amazon Qでコードレビューを自動化!開発・運用に役立つ注目アップデート【AWS re:Invent 2024 エンジニア向けまとめ】 NEW
  3. 8
    Linuxデスクトップ向けソフトウェアデプロイメントシステム「Flatpak」の最新バージョンリリース NEW
  4. 9
    「フリーランススタート」におけるフリーランスエンジニア案件、2024年12月度の月額平均単価をエン・ジャパンが調査 NEW
  5. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開

アクセスランキング

  1. 1
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ NEW
  2. 2
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  3. 3
    Linuxディストリビューション「Debian 12.9」リリース NEW
  4. 4
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス NEW
  5. 5
    GitHub、「Git 2.48」のおもな新機能や変更点について公式ブログで紹介 NEW
  6. 6
    ガートナージャパン、急速に期待が高まるAIエージェントに関する最新の見解を発表 NEW
  7. 7
    Amazon Qでコードレビューを自動化!開発・運用に役立つ注目アップデート【AWS re:Invent 2024 エンジニア向けまとめ】 NEW
  8. 8
    Linuxデスクトップ向けソフトウェアデプロイメントシステム「Flatpak」の最新バージョンリリース NEW
  9. 9
    「フリーランススタート」におけるフリーランスエンジニア案件、2024年12月度の月額平均単価をエン・ジャパンが調査 NEW
  10. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    Google、社内AIエージェント「Google Agentspace」発表
  7. 7
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ NEW
  2. 2
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  3. 3
    Linuxディストリビューション「Debian 12.9」リリース NEW
  4. 4
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス NEW
  5. 5
    GitHub、「Git 2.48」のおもな新機能や変更点について公式ブログで紹介 NEW
  1. 6
    ガートナージャパン、急速に期待が高まるAIエージェントに関する最新の見解を発表 NEW
  2. 7
    Amazon Qでコードレビューを自動化!開発・運用に役立つ注目アップデート【AWS re:Invent 2024 エンジニア向けまとめ】 NEW
  3. 8
    Linuxデスクトップ向けソフトウェアデプロイメントシステム「Flatpak」の最新バージョンリリース NEW
  4. 9
    「フリーランススタート」におけるフリーランスエンジニア案件、2024年12月度の月額平均単価をエン・ジャパンが調査 NEW
  5. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開

アクセスランキング

  1. 1
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ NEW
  2. 2
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  3. 3
    Linuxディストリビューション「Debian 12.9」リリース NEW
  4. 4
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス NEW
  5. 5
    GitHub、「Git 2.48」のおもな新機能や変更点について公式ブログで紹介 NEW
  6. 6
    ガートナージャパン、急速に期待が高まるAIエージェントに関する最新の見解を発表 NEW
  7. 7
    Amazon Qでコードレビューを自動化!開発・運用に役立つ注目アップデート【AWS re:Invent 2024 エンジニア向けまとめ】 NEW
  8. 8
    Linuxデスクトップ向けソフトウェアデプロイメントシステム「Flatpak」の最新バージョンリリース NEW
  9. 9
    「フリーランススタート」におけるフリーランスエンジニア案件、2024年12月度の月額平均単価をエン・ジャパンが調査 NEW
  10. 10
    Renewer、Tips集「生成AI × 勉強法ガイドブック 2025」を公開
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  4. 4
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    Google、社内AIエージェント「Google Agentspace」発表
  7. 7
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  8. 8
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  9. 9
    テストは増え続ける、でもボトルネックにはできない──テスト効率化の2つのカギを朱峰 錦司氏が解説!
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に