オルタナティブ・ブログ > Mostly Harmless >

IT技術についてのトレンドや、ベンダーの戦略についての考察などを書いていきます。

Webブラウザーは今度こそ互換性を確保できるのか?

»

MicrosoftとGoogleが共同でWebブラウザーの互換性向上に取り組むとの発表がありました。

マイクロソフトとグーグル、ブラウザーの互換性向上で協力

Webブラウザーの互換性は、非常に古くからのテーマです。そもそも最初にWebブラウザーの互換性問題を引き起こしたのはMicrosoftですし、その状況を変えようとしてGoogleなどが推進してきたのがHTML5です。今、時代は完全にHTML5に移行していますが、なぜ未だに互換性問題が存在しているのでしょうか?

記事には、「ブラウザー間で共通する体験を生み出そうとする際に、ウェブ開発者が苦労する5つの領域」に重点的に取り組むとし、それは「CSSフレックスボックス、CSSグリッド、CSSのpositionプロパティ:粘着位置指定、CSSのaspect-ratioプロパティ、CSSのtransformsプロパティ」だということです。別の記事によると、問題はこれらの機能の実装におけるバグだそうです。

以前の互換性問題はMicrosoftが独自に行った機能拡張が主な原因となっていましたが、今は同じ仕様でも実装方法によって違いが出てしまったり、ブラウザの仕組みが複雑化して修正が難しいためそれが放置されていたりと、問題は複雑化しているようです。

internet_kanki_woman2.pngMicrosoftとGoogleが同じソースを使うことで問題は収束するかに見えたが。。

このブログでも何回か書いてきましたが、HTML4の時代にはIEやFireFoxなどの間には完全な互換性が無く、Webサイトにアクセスしたときにブラウザーによってレイアウトが崩れたり、コンテンツが正しく表示されないといった問題がありました。そのため、Webサイトの開発者は、サイトを公開する際に様々なブラウザーでの表示をテストし、不具合を修正しなければならない、という余計な手間をかけなければならなかったのです。そしてそれは、多くの場合Microsoftが自社のブラウザーであるIEに「勝手な」拡張を施したためと言われてきました。

未だに残るレガシー IEの功罪

Windowsのシェアが90%を超え、皆がIEを使っていた頃は、とりあえずIEでだけテストしてサイトを公開する、ということでも良かったのですが(当時「このサイトはIEでご覧下さい」といった表示があるサイトがあったのは、そのためです)、いろいろなデバイスでいろいろなブラウザーが使われるようになると、互換性の問題は深刻化します。HTML5の原型を作ったWHATWGが結成されたのは2004年ですが、その目的は時代遅れになりつつあったHTML4の機能拡張と、ブラウザ間の互換性を改善することでした。

HTML5ではWebブラウザの互換性が確実に向上する、なぜなら...

その後、2007年にiPhone、翌年にAndroidが発売されると、IEではないブラウザからのアクセスが急増し、互換性の確保は急務になりました。

Microsoftは当初HTML5への移行には消極的だったため、当時HTML5推進の急先鋒だったGoogleが2008年にWindows用のChromeをリリース。2009年には、IEのレンダリングエンジンをChromeのものに置き換えるというIEの「プラグイン」をリリースするなどしました。Microsoftもこれらのプレッシャーを受け、2009年にIE7以前のIEの特有の機能を無くして標準のHTMLに近づけたIE8をリリースします。しかし、このIE8は、機能を標準に近づけたが故にそれまでのIEとは互換性が無くなってしまい、それを補うために「互換モード」(古いIE向けに作られたサイトを表示できる)を用意したのですが、この出来があまり良くなく、Microsoft自身が互換性問題に悩まされる結果となりました。

【互換モード】IE8はIE6の悪夢の再来か!?【IE8だけ崩れる】

他社との互換性と自社内の互換性という問題を抱えながらも、IEは11まで開発されましたが、古い技術の修正だけでは完全な解決は望めませんでした。そこでまったく新規に開発されたのがEdgeです。しかし、時代の変化は速く、MicrosoftはEdgeのリリースからたった4年で、ブラウザーの自社開発を断念します。なんと、エンジンとしてGoogleのChromeを採用することになったのです。

ChromiumベースのEdge ~自前主義からの脱却を進めるMicrosoft

これは、ブラウザー間の互換性を無くすという意味では大きな一歩でした。デスクトップではまだまだ独占的なシェアを維持しているMicrosoftと、モバイルでシェアトップのAndroidが同じエンジンを使うことになれば、世の中のブラウザーの大半をカバーできるからです。しかし、ことはそう簡単ではありません。モバイルの世界には、Appleという無視できない存在があるのです。

今度はAppleが互換性問題の障害に?

冒頭の記事には互換性の目安として「Compat 2021 Dashboard」のスコアに言及しています。この指標は、「Chrome」「Edge」「Firefox」「Safari」の実験版および安定版ビルドを比較して、各ブラウザーを100点満点で評価するものです。

それによると、実験版であるChromeとEdgeのDevチャネルは86点、「Firefox Nightly」は83点、「Safari Technology Preview」は64点だということです。ChromeとEdgeが同じなのは当たり前です(今、EdgeはChromeのエンジンを使っています)が、Safariの低さが際立っていますね。そうすると、今回の発表はMicrosoftとGoogleが協力してAppleに働きかける、という話のようにも見えます。

Appleが開発しているSafariはOSSのWebkitをベースとしていますが、かつてはGoogleのChromeもWebKitベースでした。Googleはその後WebKitのソースをフォーク(分離)してBlinkという独自のエンジンを開発しています。今のChrome(そしてEdgeも)はBlinkがベースになっています。大元は一緒なのですから、もう少し互換性があっても良さそうなものですが、今回の記事でこのスコアを見てびっくりしました。今後はAppleが互換性確保への障害になりかねない状況です。

技術的な問題ではない

ここでいったん技術的な側面から離れて、各社のビジネスモデルやプライバシー問題への取り組みを考えてみると、その違いがブラウザーの互換性にも影響しているように思えます。

Googleの収益の中心は検索からの広告収入であって、Webサイトへの広告表示やユーザー情報の収集を制限することには慎重にならざるを得ません。一方でAppleは、ハードウェアとサービスが収益源です。アプリによるユーザーデータの収集を禁止したり、ブラウザーにいち早くWeb広告のブロッカーを搭載するなど、プライバシーへの配慮を最優先させています。Microsoftも、ChromeベースのEdgeではデフォルトでトラッキングをブロックするなど、同じソースコードを使いながらも、Googleの姿勢とは微妙に異なっています。こういった違いはブラウザの挙動を変え、互換性にも大きな影響を与えると考えられます。

問題が純粋に技術的なことであれば、解決策はあるでしょう。しかし、コトがビジネスモデルや企業文化、プライバシーポリシーに及ぶのだとすると、完全な解決はなかなか難しいのかも知れません。ブラウザーの互換性問題は、技術的な観点からのみ語るわけにはいかない問題になってしまったようです。

 

「DXはなぜわかりにくいのか?」 ITの最新トレンドをわかりやすく解説するセミナー・講演を承ります

figure_question.png経済産業省のレポートで触れられた「2025年の崖」が話題になっています。多くの企業がこれに取り組み、乗り越えようとしていますが、デジタルトランスフォーメーション(DX)の全体像が掴めず、有効な策を打ち出せずにいる企業も多いのではないでしょうか。バズワードに惑わされず、本質を見極め、自社にとっての最適な道筋を見つけるためには、DXの成り立ちや未来へのトレンドについてを理解しなければなりません。

アプライド・マーケティングでは、ITの技術トレンドを技術間の関係性と歴史の視点から俯瞰し、技術の本質を理解し、これからのトレンドを予測するためのセミナーや講演、研修を行っています。ブログでは少し難しい話も取り上げていますが、初心者様向けにかみ砕いた解説も可能です。もちろんオンラインにも対応できます。詳しくはこちらをご覧下さい。

BCN CONFERENCEでの基調講演が記事化されました

Comment(0)