最近、マイクロソフトが唱えている「アプリのモダン化」とは? これを実現するための要素としての.NET Framework、今後重要になりそうなテクノロジを紹介する。
前回はマイクロソフトのデバイス&サービス戦略、.NET構想、.NET Framework 4.5/4.5.1における機能拡張、Windows 8.1(以下、Win 8.1)時代のアプリについてざっくりとした話をした。今回は最近マイクロソフトが唱える「アプリのモダン化」とこれを実現するための要素としての.NET Framework、今後重要になりそうなテクノロジについて見ていこう。
前回も触れたが、現在では情報にアクセスするために使われるデバイスはPCだけではなくなっている。というか、職場や家庭の机の上などの特定箇所以外では、PC以外のデバイス――スマートフォン、タブレットなど――の方が広く利用されていると考えてよいだろう(特に情報をブラウズするための手段としては)。こうした中で、アプリもそのパターン(形態)を大きく変えようとしている。
そして、新たなアプリのパターンへの適応を、マイクロソフトは「アプリのモダン化」と呼んでいる。「アプリのモダン化」といっても、Windowsでこれまでに使われてきたクライアント/サーバーでの動作を基本としたデスクトップアプリがなくなるわけではない。そのような従来のアプリに対して、さまざまなOS/フォームファクターで動作し、モバイル環境にありながら、常にネットワークに接続をしている「デバイス」にも適応するように、.NETの名の下にまとめられている各種のテクノロジを使って、アプリのアーキテクチャを拡張していこうというのがマイクロソフトの意図する「モダン化」だ。
では「モダン」なアプリとは何かを図にまとめると次のようになる。左側は従来のアプリの形態(クライアント/サーバー)であり、右側が新時代のアプリの形態となっている。デバイスは多種多様(Windows PC、iOSデバイス、Androidデバイスなど)であり、そこからWindowsプラットフォームあるいは他のプラットフォームが提供する各種のサービスにアクセスをする。
このようなモダンなアプリの典型例としてはSkypeが挙げられる。デスクトップPC、Mac、Linux PC、Windowsタブレット(Windowsストアアプリ)、Windows Phone、iOSデバイス、Androidデバイスなど、さまざまなOSやデバイスからサービスを享受できる。あるいはマイクロソフトが提供するOffice Web Appsはブラウザーをベースとすることで、デバイスの種類やロケーションを超えて透過的なサービスの利用を可能にしている。
そして、上の図をもう少しブレイクダウンすると、次のようになる。
一番右側は非マイクロソフトアーキテクチャなプラットフォーム/サービス/デバイス(クライアント)を示しているが、注目したいのはデバイス/クライアントの層では「.NET Framework」が非Windowsプラットフォームまではみ出している点だ。これは、マイクロソフトがXamarinと提携したことで、.NET Framework開発の対象がiOS、Androidにまで広まったことを意味している。また、インターネット標準(とは、つまりHTTP)で各種のデバイス/クライアントとサービスをつなぐことで、サードパーティのWebサービスを利用したWindowsネイティブなクライアントを提供することも可能であるし(例えばRSSフィードを読み込んで表示するWindowsストアアプリ)、逆に非Windowsプラットフォームのデバイスに対してWebアプリの形で何らかのサービスを提供することも可能だ。
マイクロソフトのテクノロジを採用するメリットは、フロントエンドとなるデバイスから、開発ツールであるVisual Studio、そしてバックエンドとなるサービスおよび展開先のプラットフォームに至るまでの全てが.NETテクノロジをベースとして一気通貫の形で提供される点となる。
ただし、「モダン」が意味するのは、このようなWindows ServerあるいはWindows Azure上で動作するサービスと各種デバイスがインタラクションを行うというアプリの形態だけではない。
アプリの開発からリリース、フィードバックの取得、アプリの改善、そして次のバージョンのリリースまでを迅速に行うことで、より品質の高い、そして、ユーザーにとってよりメリットのあるアプリを提供するサイクルを構築することまでを含めて、マイクロソフトは「モダン」という言葉を使っている。
そして、そのために登場したのが、クラウドで動作するVisual Studio Online(旧称Team Foundation Service)、オンプレミスで動作するTeam Foundation Server 2013、リリース管理を行うためのRelease Management for Visual Studio、アプリの動作に関する情報を取得するためのApplication Insightsだといえる。
Copyright© Digital Advantage Corp. All Rights Reserved.