クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

Internet Explorerを推奨ブラウザから除外します

f:id:tatsuhiro-oishi:20210216172425p:plain

はじめに

クラウドワークスでは、ユーザーのみなさまに快適なサービスをより提供しやすくするために、Internet Explorer(以下IE)を推奨利用環境から外す予定です。

クラウドワークス 〜お知らせブログ〜 Internet Explorer 11を推奨利用環境の対象外といたします

IEをお使いのお客さまにはご不便をおかけしますが、Microsoft Edgeなどの別ブラウザへのご移行をお願いさせていただくことになります。 今回のエンジニアブログでは、なぜIEを推奨環境から外すのかをエンジニア観点でお話させていただこうと思います。

なぜIEを推奨環境から外すのか

今回この決断をしたのは以下の2つの理由からです。

現状のIEはセキュリティ更新プログラムの配信のみで、新規開発は止まっている状況です。昨今のEdgeやChromeなどでサポートされているモダンな機能はサポートされていません。 今後のクラウドワークスのサービス拡充において、IE対応による制限がユーザーへの不利益・不便となることを避けたいという思いからです。

IE特有の対応について

実装面

IEはブラウザ標準の機能に追従していないため、特有の開発対応が必要となります。例えば、利用可能なJavaScriptCSSの機能が限られるため、同等の機能を自分で提供するPolyfill(ポリフィル)が必要になるケースがあります。

以下の記事が参考になります。

また、SlackがIEOperaサポートを終了した時に出した表現がとても良いので引用させていただきます。

Slack の品質向上に集中するため、対応 OS やブラウザをできる限り限定するようにしています。古いバージョンの OS やブラウザも含めて幅広い対象をサポートすることにより、新機能の開発など、Slack の品質向上のための作業にかけられる時間がその分少なくなってしまいます。ですがこれは、私たちにとっても、ユーザーの皆さんの利便性を考えると、とても難しい決断でした。一部のユーザーの方にはご迷惑をおかけすることになり大変申し訳ありませんが、どうぞご理解いただけますよう、よろしくお願いします。

推奨環境として存在する以上、動作確認は必要となります。しかし、現実には確認漏れにより、動作が不完全な状態でリリースされたこともありました。 そのような低品質なリリースではなく、対象を限定して高品質なリリースを継続していきたいです。

一部のブラウザ専用の手法を試したり、コードの自動変換を用いれば、対応はできます。 しかし、それらの手間を考慮するより、より使いやすい機能とはなにかなどのUXに対して時間を割きたいと考えています。

コードの自動変換(Polyfill)

サポートするブラウザを減らすことで、Polyfill の量が減り、パフォーマンス改善とコードサイズの削減が期待できます。 しかし、現在は ES5 を対象としていますが、全体のコードベースから考えると ES2015 に変更するほどの効果はありません。積極的に動かなくするほどではありません。

クラウドワークスのフロントエンドの実装はまだ改善の途上であり、Polyfill の設定変更は効果をみながら行っていきます。 現在のところ、動作保証はしませんが、積極的に動かないようにもしません。

スタイルシートの適用

IEのサポートに際し、スタイルシートの適用が一番の困りごとではないかと思います。IEは他の最新のブラウザと比べて未対応要素独自の拡張仕様が多いためです。OSSで公開されているCSSフレームワークの中身を見てみると、IEのためのHackやFallbackのコメントをよく見かけ、また、IECSSで検索をするとflexboxの不具合を始めとした多くの不具合と、その回避策の記事を見つけることができます。 Microsoft自身もIEを使い続けることは技術負債を抱え続けることになり、"もううんざりだ!"と述べています。 The perils of using Internet Explorer as your default browser

このような問題と向き合い、なるべく多くのブラウザでの動作保証も大事です。しかし、Microsoftの動向を鑑みると、表現の制約を減らし新しいことへの挑戦や、UIの効果的な表現の実現に時間を使いたいと考えます。

動作確認の難しさ

クラウドワークスのエンジニア・デザイナが開発する環境はMacOSとなっており、Windowsでの開発環境がほぼ整備されていません。また、Windows(IE)のE2Eテスト環境も整っていないので、これまでは手動で動作確認していました。

エンジニアが開発中でも手軽に動作確認できる環境ではないので、そこが非常に辛い部分でした。

IEの今

クラウドワークスでのブラウザ利用率

クラウドワークスでのIEの利用率はブラウザ全体の2%程度となっており、直近5ヶ月で見たときのグラフは以下の通りでした。

  • ブラウザ種別

Chrome勢が半数を超えており、次点のSafari勢とで2強の状態です。

f:id:tatsuhiro-oishi:20210216172924p:plain

  • OS別ブラウザ種別

OSがWindowsのユーザーが30%、その中でもChromeが人気となっています。

f:id:tatsuhiro-oishi:20210216173004p:plain

スマートフォンのブラウザからのアクセスが増加傾向にあることから、IEのシェアはこれからも下がっていくと予想しています。

Microsoftの動向とIEのリスク

MicrosoftIE から Edge への移行を強く推奨しています。

弊社としましては、Internet Explorer との後方互換性が必要な業務 Web システムには Internet Explorer を利用いただき、Internet Explorer でなければならない場合以外は Microsoft Edgeをご利用いただくことを提案してきました

加えて、IEでWebブラウジングをし続けることについて、以下のような一般的なセキュリティ上のリスクも指摘されています。

IEを推奨外とした後のクラウドワークスのご利用について

IEクラウドワークスにアクセスするユーザー向けに、Microsoftの転送設定でフォローする予定です。

2020年11月にMicrosoftInternet Explorerで互換性のないウェブサイトにアクセスした場合にはURLの読み込みを拒否し、Edgeに自動的にリダイレクトする」 機能を公開しました。

この「互換性のないウェブサイト」は、非互換リストとして公開されており、ここにクラウドワークスのURLも登録する予定です。

この機能はバージョン87以降のEdgeがインストールされていることが条件となり、IEからEdgeへのリダイレクトは自動的(強制的)に行われます。社内ウェブツールなどでIEを利用したい場合は、利用者側の設定で無効にすることもできます。

Microsoftへ申請すれば個人所有のドメインでも、この非互換リストに追加してもらえます。この申請も難しい審査がある訳ではなく、メールで申し込むだけのようです。

おわりに

繰り返しとなりますが、クラウドワークスではユーザーのみなさまに快適で安全なサービスを提供できるよう日々取り組んでいます。今回のIEの非推奨化はこの取り組みの一部となります。

これまでIEクラウドワークスをご利用いただいたユーザーのみなさまには、一時的にご不便をおかけすることになりますが、ご理解とご協力をお願いいたします。

We're hiring!

クラウドワークスでは、働き方の変革に挑戦するエンジニアを募集しています!

www.wantedly.com

© 2016 CrowdWorks, Inc., All rights reserved.