Edgeじゃなくてもxxなら対応してなかった?という細かいツッコミは言わない 要約してる箇所多め。 Edge売り込みなので、若干都合のいい説明している箇所或いは将来的によくなると説明しているがあるように思うため、客観的な視点は必要。
IE6〜IE11は、独自実装が多くChromeなどの他のモダンブラウザと動作が違うことが多かった。 Edgeは、他のモダンブラウザと同じ動作をすることを目指して、開発された。
IEサポートポリシーが変更されたため、ライフサイクルが変わる。 2016年1月12日より、各OS対応する最新版IE以外の古いIEのサポートが終了する。 以下は2016年1月12日以降でもサポートされるバージョン。
OS | IEバージョン |
---|---|
Windows Vista | IE9 |
windows 7 | IE11 |
Windwos 8.1 | IE11 |
WebFontやSVGなどの最新技術の使用が現実的になる。
IEはTrident(MSHTML)だったが、EdgeからはEdge(EdgeHTML)になっている。
EdgeはChromeと同じように短期間にアップデートをかけていく形を採用するため、常に最新バージョンがインストールされるようになる。 後方互換性を考えなくていい、Evergreenバンザイ。 また、Web標準に準拠するように作られているので、Edgeで表示できればChromeやSafariなどのブラウザでも同等の表示になる。 (Windows10上の)様々なデバイスにも対応している。
独自タグや独自APIがごっそり削除されている。 代わりに、Webkitなどと同等のWeb標準が組み込まれている。
- ActiveX
- attachEvent / removeEvent
- Browser Helper Objects
- currentStyle
- Document Mode
- Conditional Comments
- VML
- IE8 layout quirks
- VBScript
- DirectX Filters and Transitions
など
尚、FlashとPDFレンダリングはEdgeに組み込まれる形で、今後も使える。 EdgeのFlashのバージョンアップは、Windows Updateで展開される。
他のActiveX(拡張機能)はHTML5で実装ができるため、サポートされなくなった。
Windows10を基準にする場合はEdgeを基準にしましょう
IEを基準にすると、今後のアップデートが適応されないなどの弊害が起きる。 他のモダンブラウザとの相互運用性が無くなる。 Windows10が無償アップデート期間であり、Windows10は標準がEdgeなので、今後もシェアが伸びることを予想している。
要約すると、「Edgeは独自実装を削除し、Web標準をほぼ準拠しているので、Edge対応すればChromeやSafari、Firefoxでも問題なく表示できるはず!なので、Edgeで開発してね!」ということでした。
http://dev.modern.ie/tools/staticscsan/ githubからソースを入手してローカルでホストすることも可能。(https://github.com/MicrosoftEdge/static-code-scan)
基準となるWebブラウザを選定して対応することになる
- Acid3 に合格
- ブラウザバージョンの範囲決定
- サポートするデバイスを決定
(うちでは当たり前の話なのでスルーでおk)
Edgeの実装状況がわかるサイト
どのページも有名どころなので改めて説明しない。
プログレッシブエンハンスメントは余計なソース、対応が必要になるので、グレイスフルデグラレーションでの対応を行いましょう。 レスポンシブに対応するときもそちらのほうがうまくいく。
Edge対応すれば、各モダンブラウザ・他のデバイスへの対応ができる。 そのあとでレガシーブラウザのチェックをすれば完璧ではないか。
(言い過ぎ、或いは若干古い対応のような気がするのでスルーしても良い。)
- boilerplate使う(https://html5boilerplate.com/)
- respond.js使う
- hands.js使う
非推奨。IE10からサポートしていない、余分なソースになる。 ※Conditional Commentsとか、条件付きコメントとか言われるものの話
非推奨。バグでたまたま表示されている状態なので、危険・かつ余分なソースが増えることになるため。
不必要
↓こういうの
<meta http-equiv="X-UA-Compatible" content="IE=edge">
互換モードの指定も不要
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
UAによるブラウザ判定・実装の判定は非推奨。 判定するなら、機能検出による処理分岐を推奨。 ブラウザがアップデートされ、新たに対応された時にUA判定だと対応できない時があるというのが一番大きい要員。 他に、UA偽装などがある。 modernizr(https://modernizr.com/)を使う対応でもよい。(余分なソースとは・・・。)
非推奨。余分なソースが増えるため。 (とはいえ、付けないと行けない場面があるよね・・・謎の発言)
言い過ぎ、或いは若干古い対応のような気がするのでスルーしても良い。
ライブラリやフレームワークを使って開発のコストを下げよう。 具体的には、htmlはデザインテンプレート、JSはライブラリ、フレームワーク、テンプレートエンジン、CSSはBootstarpなどを使いましょう! (おそらくシステムインテグレータへのアドバイスで、Web屋に対しての発言ではない)
htmlはmarkdown,haml、jsはcoffeescript,typescript、cssやscssやlessを使いましょう! (おそらくシステムインテグレータへのアドバイスで、Web屋に対しての発言ではない)
パッケージマネージャ(npm,bower)、タスクランナー(Grunt,Broccoli、Gulp)、統合開発ツール(Yeoman)などを使いましょう。 VisualStudio 2015でサポートしています。(だから言ったのかな・・・)
フロントエンド向けで、開発環境が用意されていないプロジェクトには良さそう。 imgタグを右クリックでbase64に変換したり、coffeescriptをコンパイルしたりできる。
(無料のVisualStudio Codeは機能が少ない版で別物)
内容が濃くなかったので要約。 Edgeにすると、社内システムの高速化ができる可能性があるとか、そういったお話。 他、規定ブラウザの変更方法などの案内などでした。
グループポリシーを変更することで、Edgeで閲覧時にIE11対応のサイトを表示する際に、IE11を別ウィンドウで立ち上げることが可能。 Enterprise Mode Site Listというものを使用して個別でも可能。 Silverlightを使ったシステムなどを使用する際は指定してくださいとのこと。
他、Windows10エンタープライズモードの変更点などのお知らせでした。
Edgeではオートメーションが使用できないことには注意が必要というはなしもあった。
MS曰く、標準ブラウザと言われているブラウザは知識がない人が使い続ける可能性があるため、必ず検証してほしいとのこと。 でもその後、IE11とEdge両方テストが必要という発言があった。 テストの手間は増えそう。(というか、そろそろEdge検証も必ず検証に含めないといけないように思う。)