2015年に到来する大変革「次期.NET/ASP.NET/Visual Studio、Windows 10」に備えよう ―第7回 業開中心会議:連載:業開中心会議議事録(2/2 ページ)
クラウドの隆盛、多様なデバイスの登場でITの世界は大きく変わりつつある。これに合わせるかのように、.NETやVisual Studioなど、マイクロソフトが提供する開発フレームワーク/ツールも次期バージョンでは大きく変化する。今回の会議ではこれら次世代の.NETがテーマとなった。
技術セッション2:ASP.NET 新時代に向けて 〜 ASP.NET 5 / Visual Studio 2015 基礎解説
続く技術セッション2では日本マイクロソフトの井上章氏からVisual Studio 2015とASP.NET 5の概要がデモを交えて紹介された。
井上氏は、現在のコンピューティング環境の変化について「デバイスの数が急速に増大」しており、近い将来はデバイスが多様化する/Web技術は不可欠なものとなる/クラウド環境の普及と活用が進んでいくため、「モバイルファースト/クラウドファースト」なアプリ開発が必須になってきていると概観した。こうした状況で登場するのが、本セッションのテーマであるVisual Studio 2015であり、ASP.NET 5だ。
セッションではまずVisual Studio 2015 PreviewとASP.NET 5の概要からセッションはスタートし、VS 2015 Previewではクロスプラットフォームへの対応が強化されたことから、インストール後にセカンダリインストーラーが起動されるようになったこと、ASP.NET 5ではBower/Gruntなど、マイクロソフト以外のサードパーティ製のツールが採用されていること、プロジェクトの構造も大きく変わったことなどについて説明があった。デモではこれらの話題について詳しく説明されているので、ストリーミング中継のアーカイブをぜひご覧いただきたい。
VS 2015 PreviewとASP.NET 5によるクライアントサイドの開発手法についてのデモを終えると、セッションのテーマは「.NET」へ。まず、井上氏は「.NET=ランタイム+ライブラリ+言語+ツール」、その中でランタイムとライブラリを担う.NET Frameworkの概要を簡単に振り返った。
その後、井上氏は.NET 2015を生み出すことになった契機について触れ、.NET 2015の特徴について説明。.NET 2015には既存の.NET Frameworkを継承する.NET Framework 4.6と、これまでとは別路線の.NET Core 5が含まれる。特に後者はASP.NET Core 5(ASP.NET 5のコアランタイム)、.NET Nativeなどで構成される、軽量かつクロスプラットフォームなフレームワークだ。これらに加えて、.NET 2015には先ほども話題に上がったRoslyn、RyuJITなども含まれている。それから、.NETがオープンソース化されたことも大きな特徴だ。
続いて、ASP.NET 5について以下のような特徴がデモとともに紹介された。
- 概要(モジュラー設計/コンパイル不要/サイドバイサイド実行など)
- ASP.NET 5ランタイム(KRuntime/K command/K Version Manager/K Package Managerなど)
- JSONベースでのプロジェクト設定
- 互換性(既存のプロジェクトはASP.NET 4.6でフルサポート、ASP.NET 5には従来のASP.NETとの互換性は基本的にはないなど)
- クロスプラットフォーム(Linux/Macのサポートなど)
デモはVS 2015 Previewを使わずに主にWindowsのコマンドプロンプトベースで行われ、Ubuntu(Linuxのディストリビューションの一種)上で実際にASP.NET MVCプロジェクトを動作させるなど、ASP.NET 5が切り拓く新たな世界を感じさせるものとなった。
最後に.NETのこれからの方向性がまとめられ、セッションは終了した。本セッションの詳細については、以下に示すセッション資料やセッション動画を参照していただきたい。
技術セッション2のプレゼンテーション資料
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
技術セッション2のストリーミング中継のアーカイブ
技術セッション3:今から始める、Windows 10&新.NETへの移行戦略
最後の技術セッション3では「++C++; // 未確認飛行 C」の岩永信之氏から次期.NETおよびWindows 10への移行戦略について語っていただいた。キーワードは「One .NET」「Open Source」「Every developers, Every applications」「Cloud」だ。
セッションは、何よりもマイクロソフト(.NET)は「変えないこと」の大切さを分かっているということから始まった。では、次期.NETは「どう変わっていないか」のだろう。井上氏のセッションにもあったように、.NET 2015には.NET Framework 4.6と.NET Core 5が含まれている。
- .NET Framework 4.6: 既存のものには手を入れず、その上に新しいフレームワークを乗せていく。既存のデスクトップ/サーバーが対象
- .NET Core 5: モジュール化/オープンソース化されたバージョン
つまり、従来の.NET Frameworkのサポートを継続することで、既存のアプリに対する互換性は保証される。その一方で、.NET Core 5に追加される新機能も可能な限り.NET Framework 4.6へのバックポートを行うことで、従来の系統のフレームワークでも新機能を使えるようになるとのことだ(ASP.NET 5が良い例だ)。
同時に、開発の現場では「サポート期限ギリギリのOSで、標準インストールのバージョン」(=Windows 7/.NET Framework 3.5.1)が使われていることも多いだろうと岩永氏は指摘した。だが、VS 2015でも2.0/3.5を対象としたの開発は可能(VSのサイドバイサイドインストールも可能)だし、C# 6.0の新機能も.NET 2.0上で使えるので、開発環境まで古いままにしておく必要はないと述べた。
次にキーワードの「One .NET」を軸に、従来の.NET Frameworkの問題点と、これを.NET 2015ではどのように解決するかが語られた。内容をざっくりとまとめると「一つのエコシステムの上で(One)、必要とされる部分を(modularity)、素早く(agile)、制御可能な形で(in control)」提供するとなる。.NET Core 5のモジュール性、NuGetによるパッケージ管理などはこうした目標を実現するためのものだ。また、.NETを使う側の観点から、何がどう変わるのか、どんなことが可能になるかについても示された。
二つ目のキーワード「Open Source」に関しては、まずなぜオープンソース化するのか。マイクロソフトを取り巻くビジネスモデルの変化と絡めて、その理由が語られた(クロスプラットフォームを持続可能な形で実現/コミュニティの活性化/新規顧客の取り込み)。同時に、これからの業務系アプリの開発者とオープンソースとの関係について以下のような話がされた。
- 社内フレームワークが足かせになっていないか
- コストから見たオープンソースと社内フレームワーク
- 業務系アプリの開発でもオープンソースなコードを使うことが現実的なレベルになってきた
- 個人開発者や中小の企業にとってはオープンソースに貢献し、コードを公開することが身元保証になる
これらをまとめると、オープンソース化は「信用の獲得」「コミュニティの活性化」「オープン化の課題は技術で解決されつつある」「オープン化前提で成り立つビジネスモデルに移行」となる。
三つ目のキーワードは「Every developers, Every applications」。これが意味するのは、クロスプラットフォーム/どこでも動くアプリ、どんなタイプのアプリでも開発機能/.NET Frameworkを全ての開発者に届けることだ。
.NET的には、今はターゲットを広げる時期であり、XamarinやDockerとの協業が行われるようになり、サポートOSも広まり、Webサーバーや開発環境も非マイクロソフトプロダクトが選べるようになってきている(これは上記のビジネスモデルの変化とも関連しているだろう)。岩永氏は「選べることが大事です」とこの状況をまとめ、開発環境(VSで作成したソリューションのXamarin Studioでのビルド)、ランタイム(.NET Core 5/.NET Framework/Mono)、Webサーバー(IIS/libuv/セルフホスト)、OWIN(Open Web Interface for .NET)などをその具体的な例として挙げた。
この「選べること」=「差し替え可能」(プラガブル=pluggable)であることが重要であり、これが依存性を減らすことにつながり、さらには幅広いプラットフォームへ対応できるようになったり、変化へ対応できるようになったりするのだ。そして、そのためには開発者自身も依存性を減らせるような技術を積極的に取り入れるべきである。
ただし、「変化しなきゃいけないの?」というと、あくまでも「変化してもいい!」のだと岩永氏は主張する。人から言われるまでもなく本音では「変化したい」と言いながら、なかなか変化できずにいる開発者も目にする。何がその妨げになっているかというと、コストの問題だろう。開発者の本音を叶えるためにも、依存性を低くするような技術を使って、変化への対応コストを下げる必要があるのだ。
最後のキーワードの「Cloud」は、製品にクラウドサービスを使うのはもちろんだが、自らの開発インフラもクラウド化しようということだ。マイクロソフトはもちろん、開発者向けクラウドサービスの提供に力を入れてきている。それだけでなく、サービスを提供しているマイクロソフト自身が、全てを自社では賄わずに社外のサービス(GitHub など)を含め、複数のサービスを連携して活用するようになっている。
.NETを利用する開発者自身も、顧客にクラウドを提案する以上は、自分たちのインフラもクラウド化することを考えよう。全てを一社で完結させずに、得意なところは自社で、そうでないところは外部と連携しよう。とまとめて最後のセッションは終了した。
技術セッション3の詳細については、以下に示すセッション資料やセッション動画を参照していただきたい。
技術セッション3のプレゼンテーション資料
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
技術セッション3のストリーミングのアーカイブ
Copyright© Digital Advantage Corp. All Rights Reserved.