「Visual Studio 2015」で旧世代のWebアプリケーションを新環境へ移行しよう「Visual Studio 2015」で新世代アプリ開発を始めよう(3)

Windows 10では新世代の標準ブラウザであるMicrosoft Edgeの利用が推奨されているが、レガシーサポートとしてInternet Explorer 11も備えており、既存のWebアプリケーションを継続利用できるよう配慮されている。「Visual Studio 2015」は、既存アプリケーションを新環境に対応させる動作テストの効率化に有用だ。

» 2015年08月31日 10時00分 公開
PR
このエントリーをはてなブックマークに追加

 「Windows 10」とともにリリースされた新しい開発環境の「Visual Studio 2015」。その用途は、Windows 10向けの「Universal Windows Platform(UWP)」アプリ開発にとどまらない。既存のWindows環境でアプリケーションを使い続けてきたユーザーが、将来の新プラットフォームへの移行を見据えた環境テストを行うといった用途もある。今回はそうした中でも、比較的ニーズが高いブラウザ環境のトピックを整理しよう。

既存のWebアプリケーションを最新環境へと移行する理由

 昨年の2014年8月、Microsoftは「Internet Explorer」のサポートに関する重要な指針を示した。2016年1月12日以降は「Windows OSとそれに対応する最新バージョンのInternet Explorerのみをサポート対象とする」といった内容だ。

各Windows OSがサポートするInternet Explorerのバージョン
Windowsプラットフォーム Internet Explorerのバージョン
Windows Vista SP2 Internet Explorer 9
Windows Server 2008 SP2 Internet Explorer 9
Windows 7 SP1 Internet Explorer 11
Windows Server 2008 R2 SP1 Internet Explorer 11
Windows 8.1 Internet Explorer 11
Windows Server 2012 Internet Explorer 10
Windows Server 2012 R2 Internet Explorer 11

 MicrosoftではWindows OSを「メインストリームサポート」と「延長サポート」の2つの期間でサポートしており、それぞれOSのリリースから5年ずつ、計10年が割り当てられている。

 Windows XPが2014年4月に延長サポートを終了してサポート対象外となったのは記憶に新しいが、次は2017年4月にWindows Vistaが、2020年1月にはWindows 7が、それぞれ順番に延長サポートを終了していく予定だ。

 現在、Windows VistaはInternet Explorer 9までしか提供されていないため、少なくとも2017年以降にはWindows 7+Internet Explorer 11の組み合わせへと環境移行する必要がある。Windows 8/8.1でもInternet Explorer 11が最新バージョンだ。

 Windows 10では新世代の標準ブラウザである「Microsoft Edge」の利用が推奨されているが、レガシーサポートとしてInternet Explorer 11も備えている。つまり、当面はInternet Explorer 11をサポート目標とすることで、既存のWebアプリケーション群をそのまま継続利用することが可能だ。

各OSがサポートするInternet Explorerのバージョン履歴

 Internet Explorerでは過去の経緯からバージョン間での互換性に大きな問題を抱えている。後方互換性は以前まで「ドキュメントモード」と呼ばれる仕組みを用いていたが、これではInternet Explorer 8以前のWebアプリケーションを正確に再現できず、移行におけるネックの1つになっていた。Windows XPからの移行がなかなか進まなかった理由の1つも、このInternet Explorer 8のサポートにあったともいわれる。

 そこでInternet Explorer 11では、Internet Explorer 8の機能を忠実に再現すべくエミュレーションを行う「エンタープライズモード」を採用し、Windows 7以降のプラットフォームでの旧ユーザーの巻き取りを図った。エンタープライズモードでは、ActiveXコントロールなどの挙動がInternet Explorer 8互換となり、ActiveXに返す情報もきちんとエミュレーションされるため、バージョン依存の機能を利用するアプリケーションであっても再現される可能性が高い。

 今後、ユーザーのクライアントOSは次々と延長サポート終了を迎えていくが、当面はこのエンタープライズモードを搭載したInternet Explorer 11を目標にテストを行い、徐々に新環境へと移行を進めていくことになる。これにより、少なくともWindows OSのサポート終了とともに、すぐ既存アプリケーションが利用不可になることはないはずだ。

MSDNのIEBlogから、IE11の「エンタープライズモード」説明画像。適用すると、アドレスバーのアイコンが“ビル”のマークに変化し、IE8以前のブラウザを想定したWebアプリケーションがIE11上でも動作可能になる

「Visual Studio Enterprise」のテストツールを活用する

 基本的には後方互換性を維持する前述のドキュメントモードやエンタープライズモードといった機能を用いて既存アプリケーションをInternet Explorer 11でサポートする形となるが、必ずしも100%動作が保証されるわけではない。

 そこで実際の展開前にテストを行い、評価後に必要に応じてアプリケーションやコンテンツを書き換えることで対応していく。なるべく労力をかけずに対応することが望ましいので、そのうえで修正コストやPCの刷新にかかるコストを見積もってベストな選択肢を探すといった流れになるだろう。

 実際にInternet Explorer 11で正常にアプリケーションが動作し、正しい表示が行われるかは、個別の画面やケースを想定して試行を繰り返していく。その評価に応じて修正を行い、再びテストを試行することで、最終的に修正版アプリケーションとInternet Explorer 11を含む新環境への移行を行っていく。

 ただし、このテストを手作業で何度も行うことは効率的でなく、ヒューマンエラーが発生する原因にもなる。そこで有用なのが開発環境の「Visual Studio 2015」に搭載されたテストツールだ。

 例えば、こうしたWebアプリケーションにおける反復テストを手動で記録し、後の評価を自動化するためのツールが「Visual Studio Enterprise」(もしくはVisual Studio Test Professional)以上のエディションで提供されている。この機能はProfessional版にはないもので、Enterpriseを選択すべき理由の1つにもなっている。このほか、評価ツールがEnterpriseには提供されており、適時利用するとよいだろう。

将来的なWindows 10+Microsoft Edgeの環境も視野に入れよう

 なお、Microsoftはより業界標準のHTML5へと動作をすり合わせた新しい標準ブラウザであるMicrosoft Edgeの利用を推奨しており、Windows 10においてもInternet Explorer 11は搭載されているものの、あくまでレガシーサポートとして利用は推奨していない。

 そのため、Internet Explorer 11のサポートは恒久的ではなく、Windows 7〜8.1の延長サポートが終了する2020〜2023年辺りが移行におけるタイムリミットの目安だと考えておきたい。前述のテストツールの活用を含め、少しずつ備えておきたいところだ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2015年9月13日