私はIEの中の人ではないので、IE開発者がどういう考えを持っているかはわかりません。しかし、断言して言えることがあります。最近のIEは各バージョンで明らかに意図したテーマを持ち、リリースされています。
各バージョンのテーマを、運用するシステムの目的と照らし合わせれば、定量的にどのバージョンを選択すべきかが導出できるでしょう。
本記事は、これから企業システムで扱うIEのバージョンを上げなくてはいけない場合、また誰かにIEのバージョンごとの違いを説明しなくてはいけない場合、費用面・技術面の制約を説明しなくてはいけない場合に、ヒントを与えてくれるかもしれません。
バージョン別評価サマリ
バージョン別評価サマリでは、業務システムのクライアントとして扱われるIEが、各バージョンごとにどのような特性を持つかを超概算レベルで可視化しています。
項目は、長い目で見た費用効果を表す「コストパフォーマンス」、ニッチな要望に答えやすいかを判断する「機能性」、XP資産からの移植と維持に使う機能の豊富さを表す「移行容易性」の3つの観点で評価しています。
これらの裏付けは、次章以降にて説明します。
★ IE8
コストパフォーマンス | 低 |
機能性 | 低 |
移行容易性 | 中 |
★ IE9
コストパフォーマンス | 高 |
機能性 | 中 |
移行容易性 | 高 |
★ IE10
コストパフォーマンス | 高 |
機能性 | 高 |
移行容易性 | 高 |
★ IE11
コストパフォーマンス | 中 |
機能性 | 高 |
移行容易性 | 低 |
IE8 = 業務システムでは既にサポートが切れたブラウザ
★ 概要
IE8は「Web標準へ準拠するぞ!」と宣言し、現在のIE開発の流れを作ったブラウザです。しかし、IE7の癖を引きずり独自色を強く残しています。
IE7と8は、共通した挙動・不具合を含んでいることから、コードベースが殆ど同じに見えます。そして、機能面で見れば、DOCTYPEスイッチバグを除いて、IE6とIE7の間にインパクトの大きい変更点はあまり無いため、私はIE8を「少しまともになったIE6」と捉えています。
(※参考 : IE7と8で共通するPNG表示バグとその対策 - ふろしき.js )
(※参考 : IE6のDOCTYPEスイッチ不具合とその対策 - ふろしき.js )
機能面では、CSS2.1への対応強化が挙げられます。しかし、IE6-7と同様、IE8のみに個別で対応が必要になることを、Microsoftが暗に認めている時代のブラウザです。IE8向けコンテンツを他のバージョンのIEやブラウザと相互運用できるようにするために、バージョンベクタ・ユーザエージェント・ドキュメントモードなど、バージョンに付き纏う対策が求められています。IE11ではこれらの機能は既に非推奨/廃止されているため、IE8に特化した複雑なWebシステムは、実質的にIE8のEOLと同じになります。
(※参考 : バージョン ベクタ - Microsoft )
(※参考 : IE8 : ユーザー エージェント文字列 - Microsoft )
(※参考 : ドキュメント互換性の定義 - Microsoft )
XPからの移行の難しさで言えば、IE9-10よりも制約が強くなっています。XP資産の維持で広く利用されている「互換表示ボタン/リスト」が利用できないためです。実質的には「イントラネット互換表示」と「X-UA-Compatible」の合わせ技で対策するという方法しか選択できず、柔軟性を損なう移行となってしまいます。
(※ 参考 : イントラネット内で互換表示を有効にする方法 - ふろしき.js )
(※ 参考 : IE8のX-UA-Compatibleの使い方/動作仕様 - ふろしき.js )
★ 選定の目安
比較的長いライフサイクルとなりがちな業務システムを動かすためのプラットフォームに、Windows 7のEOLである2020年1月14日以降、利用できなくなることが確定しているものを選んでしまうのは得策とは言えません。そもそもですが、開発1年+運用5年の業務システムの世界では、今から作るシステムの対象ブラウザにIE8を選んでしまった場合、運用中にサポートが切れることが確定してしまっています。
(※参考 : IE8向けWebシステムのEOLは、2020年1月を超えてはいけない )
このため、現在いかなる理由があっても、本バージョンを選択することは推奨されません。IE8向けWebシステムを作るような状況に陥らないよう、IT管理部門に依頼しIEのアップグレードを行うよう促すか、動作対象ブラウザにFirefoxなど他のモダンブラウザを選択するようにして下さい。どちらも無理であれば、コスト高にはなりますが、マルチブラウザ対策を行い、IE9移行の世代と相互運用できるような状態にして下さい。
これらの対策が行えなかった場合、Windows 8への移行に失敗する可能性が高く、IE8ブラウザやWindows7VMを購入し維持しなくてはいけなくなり、運用コストが最悪の状況に陥ります。
IE9 = 相互運用できるドキュメントビューワー
★ 概要
機能面では、ビジュアル面に力を入れています。CSS3への対応強化、HTML Canvas、SVGが挙げられます。また、オーディオ・ビデオをFlashなどのプラグインを使わずに動作させることができるのも、このバージョンからです。
(※参考 : Internet Explorer 9 の情報インデックス - Microsoft )
IE9からは、バージョン個別対応が必要な場合、Microsoftがこれまで提供してきたバージョンベクターやユーザエージェントの検出でなく、「機能/動作検出」を推奨しています。IE9向けにテストされており、なおかつ機能/動作検出の指針を守り開発されたWebシステムは、IE6-7や8向けにテストされたものよりも、断然にIEのバージョンアップやマルチブラウザ対応に強くなります。
(※参考 : IE9より推奨される機能/動作検出に関するドキュメント - Microsoft )
IE9は、ブログやニュースサイトなどのWebページの閲覧を目的とするのであれば、十分な機能性を確保しています。ただし、高度なオフライン処理・通信処理・入力フォームはサポートされていないため、FlexやSilverLight相当のRIAアプリケーションをWeb技術で代替するには、まだ十分なポテンシャルが確保できていないと判断できます。
IEは2バージョンごとに類似した動作傾向・バグの共有が行われるという傾向にありますが、IE9は10と類似する点を多く含みます。IE9で見つかった不具合は、同じコードベースでIE10で改善されている可能性があります。
XPからの移行では、IE9と10はWindows 7の持つ全バージョンのIEの中で最も多い機能を提供しており、豊富な手段の中から選択することができます。
★ 選定の目安
IE9は相互運用が可能なブラウザであるため、選定対象と含めるのに十分なポテンシャルを得ています。
IE8やIE11には、XPのWeb資産の維持を行う上で強い技術的制約を含んでいますが、IE9とIE10にはこれらの制約が無く、差もありません。特に理由がない場合、IE9よりもIE10を選択する方が無難でしょう。
IE10 = アプリケーションプラットフォーム
★ 概要
IE10は「アプリケーションプラットフォーム」としてのポテンシャルを持つブラウザです。
IE9までは、ブログやニュースサイト程度のWebページを扱う分には、十分のポテンシャルを持ちます。Webシステムの場合は、JSPのようなサーバサイドスクリプティングを扱うようなタイプのものです。
対してIE10は、HTML5機能の強化が図られており、特に業務系の場合、オフライン処理、高度な通信処理、フォームの機能性向上に注目されます。ちょっとしたニッチな要望にも、柔軟に答えやすいブラウザになっています。SPA(Single-page Application)のようなJavaScriptを多く含むWebシステムとして活用されることもIE10は想定済みであり、IE開発チームもこれを意識した性能面の対策を施しているものと考えられます。
XPからの移行では、IE9と10はWindows 7の持つ全バージョンのIEの中で最も多い機能を提供しており、豊富な手段の中から選択することができます。ただし、Quirksモードの動作に仕様変更があるため、移行にはほんの少しだけコツが必要になります。
(※参考 : IE6〜9とIE10とでQuirksモードの動作が違う )
注意点として、Visual Studio 2013を用いたシステム開発では、WebSocketが実装されたIE10以上が必須要件になっていることと、Java開発もJSFやProject AvatorなどWebSocketと結びついた技術が多く含まれています。IEは一つのOSに1バージョンしかインストールできないため、IE9や8を標準ブラウザとして採用すると、場合によってはMicrosoft/Java系開発に支障が生じ、全システムが実質的にレガシーJava、Ruby、PHPなどの開発にロックインされます。
★ 選定の目安
IE10は、XPからの移行で最も適したブラウザです。
移行の技術的制約は一番少なく、既存資産の維持機能は最も高いポテンシャルを持ち、IE10上で開発されたシステムはIE8と比較しても長いライフサイクルで動作させることができます。Quirksモードの仕様変更というリスクも含んでいてもなお、デメリットが少な過ぎるため、逆に心配になるレベルです。
IE11 = スマートデバイス向けWebプラットフォーム
IE11は、スマートデバイスが必要とする様々な機能を追加したブラウザです。
機能面では、IE10までが持っているHTML5対応が強化された機能へ、スマートデバイスの過酷な環境で高いユーザビリティを獲得するための機能を追加しています。例えば、ページの先読みや、画像などのリソース読み込みの優先付けなど、貧弱なネットワーク環境下で高いパフォーマンスを引き出すための機能を提供しています。
ただ、多くの追加機能はWindows 8モードと呼ばれる状態でないと発揮されません。Windows 8モードとは、スマートデバイスに特化したIEの表示モードで、Windows 7には提供されていない機能になります。デスクトップ用途であれば、IE10とそこまでポテンシャルに変化が無いブラウザともとれます。
XPからの移行では、最も相性が悪いバージョンです。XP時に開発したIE6向けシステムは、通常ドキュメントモードを利用することで維持させます。しかし、IE11はこれが非推奨であるため、移行には全てのシステムの画面周りの改修、入念な動作テストが必要になります。ドキュメントモードは内部的に残されており、強引に動作させることも可能ですが、品質は良くなく、CSS Expressionsのようなレガシーシステム定番の廃止機能も動作方法次第では動かないなどの問題を抱えています。非推奨機能であるため、今後改善が行われる可能性も低いという状況です。
(※参考 : ドキュメント モードの非推奨 - Microsoft )
★ 選定の目安
このバージョンは、現時点で最新であるものの、XPからの移行の選定に含めるべきかは微妙なラインです。どちらかと言えば、移行後の開発システムが、Windows 7のEOL時にこのバージョンのIEで動作できる状態にできていることに重要な意味を持ちます。
IE11は、Windows 8系OSでは、実質的に最低バージョンのIEとなります。Windows 8はドキュメントモードが非推奨であるため、Windows 7から次版のOSへ移行を行うタイミングで、全システムが互換表示機能やX-UA-Compatibleに頼らず、11の最新のレンダリングエンジンで動作可能な状態になっていなくてはいけません。
Active Directory周りでまだまだ進化中のスマートデバイス向けWindowsですが、企業システムのIT管理者による統合管理の必要性を鑑みると、その実用性の高さから適用される可能性が高いでしょう。Windows系スマートデバイス(タブレット)を利用した場合、IE11へのアップグレードは必須の要件と言えます。IE11には、貧弱なネットワーク回線、タッチパネルとの親和性向上のため、多くの機能が追加され改善されています。ユーザ体験ではなく、性能という可視化される分野での強化が、強みになっているブラウザです。
(※参考 : 11分で覚える、IE11対応Web制作のカンニングペーパー(前篇) - さぶみっと )