Special
» 2015年11月05日 10時00分 UPDATE

Windows 10時代のアプリ開発に乗り遅れないために(2):2020年に向けたアプリ移行は2ステップで計画を――「Visual Studio 2015」が強力支援

開発者やシステム管理者にとって悩みの種がソフトウェアの「サポート期間」だ。2020年のWindows 7サポート終了に向けて、まずはIE対応アプリケーションの対策を行い、将来的な投資の一環として既存デスクトップアプリケーション資産の移行を順次進めていきたい。

[鈴木淳也(Junya Suzuki),PR/ITmedia]
PR
このエントリーをはてなブックマークに追加

 コンピュータのソフトウェアには「サポート期間」という概念があり、安全な運用を行うため、サポート終了を見込んだシステムの更新が必要だ。

 既存のWindowsシステムを、より新しくモダンな構成に刷新する場合、主に2つのステップがある。短期的には「既存システムを極力生かしつつ新しい環境で併存させる」という移行期間にあたるステップで、もう1つはより長期的視野に立って「既存システムをより新しい環境に適した形に移行する」という全面移行に向けたステップだ。

 今回は、こうした2つの移行ステップに役立つツールや資料を紹介する。

まずは過去のIE対応アプリケーション資産をIE11に移行する

 Windows 10ではWin32や.NETを含む、過去のWindows向けデスクトップアプリケーションの多くがそのまま動作可能だ。デバイスドライバの対応やバージョンチェックの行われるアプリケーションも存在するため、全てがその限りではないが、こうしたアプリケーションの移行における優先順位は比較的低い。

 そのため、将来的にはよりモダンな「Universal Windows Platform(UWP)」対応アプリへの移行を検討したとしても、まずは互換性問題を多く抱える「Internet Explorer(IE)対応アプリケーション」について考える必要がある。

tm_1511_vs2015_01.jpg ユニバーサルアプリと呼ばれる「UWP(Universal Windows Platform)アプリ」であれば、Windows 10 Home/Pro搭載のPCやタブレットはもちろん、Windows 10 Mobile搭載のスマートフォンや小型タブレット、さらにはWindows 10をサポートする幅広いデバイスで動作が可能だ。スマートフォンやタブレットの業務利用が増える中、単一のアプリでPCもスマートデバイスもカバーできることになる

 前回も触れたが、IE対応アプリケーションの移行は2段階のステップがある。

 1つは2016年に到来する「IEのサポートポリシー変更」だ。これにより実質的に同年1月以降は社内システムでIE8が利用できなくなる。Windows Vista系列であればIE9、Windows 7以降であればIE11と、いずれかのブラウザのみサポート対象となる点に注意したい。Windows Vistaの延長サポートが2017年に終了することを考えれば、実質的に社内のIE対応アプリケーションをIE11で動作可能なようにそろえておく必要がある。

 2つ目は2020年に迎える「Windows 7の延長サポート終了」だ。これ以降は基本的にIE依存の環境は推奨されず、「Microsoft Edge」を含むHTML5世代のよりモダンなWebブラウザ環境への移行が求められる。冒頭の例で言えば、IE11をターゲットにするのが移行期間のステップ、Edgeを含むHTML5への対応が全面移行のステップとなる。

tm_1511_vs2015_02.jpg Windows 10の標準Webブラウザ「Microsoft Edge」。現在のWeb技術に対応した新しいレンダリングエンジンを搭載し、シンプルなデザインに数々の新機能を備えている

 最初の手順としては、「IE11+エンタープライズモード」で既存のIE対応アプリケーションが動作するように、修正と確認を行うことが必要だ。アプリケーションの修正やテストは、「Visual Studio 2015」ならびに「Visual Studio Enterprise」(もしくはVisual Studio Test Professional)で提供される自動化テストツールを使用すればよいだろう。これにより、本来は手動で行う検証作業の手間を大幅に軽減できる。

 また、こうしたIE対応システムの移行作業において、時間とリソースの関係で優先順位を決めて必要なものだけを先に移行しなければならないケースもあるだろう。そうしたときに役立つツールが「Enterprise Site Discovery Toolkit for IE11」だ。

 使い方の詳細は、TechNetに「Enterprise Site Discoveryを使用してデータを収集する」というタイトルで解説があるが、社内のユーザーが利用するIE11をエージェントとして情報収集を行い、ユーザーのアプリケーション(サイト)利用状況や、アクセスした際の挙動を統計的に把握可能になる。これにより、移行時に正しいページが表示されない問題に対処したり、あるいはアプリケーション移行作業の優先順位を決める判断材料になるはずだ。

 その他、最新IEの移行に関するケーススタディや手順については、MSDN Blogにまとめられた資料が詳しい。

 まずは、こうした形でIE11への移行を進めてWindows 10動作環境の下地を作り、将来的に各種プラグインやドキュメントモードなど、IE依存の機能を排除しつつ、2020年前後を目標として、よりモダンなWeb技術を取り込む形で新環境への移行を進めていけばよいだろう。

デスクトップアプリケーションの移行は後回しでOK?

 前述のように、Windows 10では過去のデスクトップアプリケーションの多くがそのまま動作するため、一部の互換性問題を除けば、本来は特別対応すべき事項はない。ただし、バージョンチェックで起動時にはじかれたり、あるいは表示に不都合が生じるケースも報告されている。詳細はMSDN Blogsで紹介されているが、次のポイントに注意してほしい。

  • タブレットモードやスナップ表示の際に画面レイアウトが崩れるか
  • システムフォントの変更で文字を判別しづらくなったり、レイアウトが崩れるか
  • 高DPI設定時のスケーリングで画面が崩れたり文字がにじまないか
  • そもそもWindowsのバージョンチェックではじかれないか

 また、Modern UIといわれるWindows 8/8.1時代に構築されたアプリがあるが、これも基本的にはWindows 10上でそのまま動作する。注意点としては、Windows 10では「Charm(チャーム)」メニューが廃止され、アプリ左上に表示される「≡」の形をした「ハンバーガー」メニューが展開する形で同じ機能が利用できるよう変更されている。

 このように、動作はするものの一部ユーザーインタフェースや動作が変更されているケースもあるので、ユーザー教育の面で注意しておいたほうがよいだろう。

 Windows 8/8.1用のModern UIアプリは、既存のプロジェクトファイルをVisual Studio 2015で再コンパイルすることで、Windows 10用のUWPアプリとしてそのまま動作させることが可能だ。ただし、このUWPアプリはWindows 8/8.1では動作しないため、複数のWindows OSバージョンが混在する環境では利用に注意したい。

 以上を踏まえると、複数OS混在期のデスクトップアプリケーションとしては、従来のWin32または.NETベースのものが全てのプラットフォームで横断して動作が可能で、利便性が高いということになる。

 しかしMicrosoftとしては、よりモダンなUWPアプリの利用を推奨しており、可能であれば、将来への投資としてUWPの導入を検討したい。UWPではペン入力を快適にするAPIやCortana統合のインタフェースなど、従来のWindowsでは提供されていない新機能が多数導入されている。もしスマートフォンやタブレットの新しいフォームファクタを存分に活用したいならば、UWPの導入は有力な選択肢となるはずだ。

tm_1511_vs2015_03.jpg Windows 10ではWin32、Windows 8.1用のModern UIアプリ、そして新しいUWPアプリが全て動作する

 またMicrosoftでは、既存のWindowsアプリケーション(Win32や.NETなど)のMSIファイルをコンバートし、そのままUWPアプリとして利用可能にするツール「Windows Bridge for Classic Windows apps(旧名:Project Centennial)」の提供を予告している。

 Windows Bridgeは既存のアプリケーション群をUWPアプリに変換するための手順を提供する4種類のツール群だ。そのうちの1つ(Webアプリケーション)は提供済みで、2つ(AndroidアプリとiOSアプリ)は一部開発者にβ版が提供されており、2016年前半には何らかの形で正式リリースとなる見込みだ。残る「クラシックWindowsアプリ」のみ現時点で何も提供されておらず、情報が出始めるのは2016年後半までずれ込むと予想される。

 Microsoft関係者の説明によれば、Windows Bridge for Classic Windows appsは「移行の省力化」と「高い互換性」を主眼に開発されており、開発スピードよりも品質が特に重視されているという。そのため、外部の開発者を早期に取り込む必要のある残り3つのWindows Bridgeに比べて、リリースが後回しにされているという背景があるようだ。

 開発者やシステム管理者にとっての優先順位は、まずサポート終了が近いIE対応アプリケーションの対策を先に行い、将来的な投資の一環として既存のデスクトップアプリケーション資産の移行を順次検討していくといった形になるだろう。

 まずは2016年のIE11対応を最優先で行い、次に2020年のWindows 7の延長サポート終了を見込んだIE依存の排除、そしてUWPアプリへの移行――という形でロードマップを描いてほしい。

tm_1511_vs2015_a.jpg

Copyright© 2016 ITmedia, Inc. All Rights Reserved.


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