可能性のあるエンジン:Chromiumがブラウザ市場の90%をどのように獲得したか



当初は人気のないブラウザで使用されていたあまり知られていない代替手段であったブラウザエンジンから、市場全体を引き継いだチャンピオンまで。



おそらく、テキストのブラウザの多様性の概念に出くわすことがあります。..。これは、世界中に多くのブラウザ実装があり、それらの間の革新と競争を刺激するのに十分なWebプラットフォーム上の均衡を指します。代替手段は、1つのブラウザーまたはブラウザーの実装が市場全体を制御し、したがってWebの開発を推進するブラウザーの単一文化です。誰かがブラウザの多様性を促進するとき、W3Cによって維持される独立したWeb標準を作成するプロセスのためにそうすることがよくあります。これは、Webプラットフォームに含まれる機能をブラウザが指示できない場合にのみ機能します。



Webコミュニティには、ブラウザの多様性の欠如を恐れる十分な理由があります。 Internet Explorerが2000年代初頭にブラウザ市場の90%を獲得した後、開発者が新しいブラウザをリリースするのに5年ほどかかりました。この間、ウェブの開発は止まり、セキュリティ上の問題が発生し始めました。これはウェブを悪化させたので、私たちはしばしばブラウザがウェブを独占するのではなく競争することを望んでいます。



しかし、この問題には欠点もあります。複数のブラウザメーカーが存在するため、Web開発者はすべてのプラットフォームに互換性があることを確認する必要があります。ブラウザ間にわずかな不一致があり、Webの開発が複雑になる可能性があります。



この心配しているWebクリエーターのTimBerners-Lee。ウェブが非常に若い90年代初頭でさえ、ソフトウェア開発者が実験するにつれて、世界中に数十のブラウザが登場し始めました。 Berners-Leeは、ブラウザが多すぎると、サイトのテストが難しくなり、HTMLを解析してユーザーに配信する方法について合意に達することが難しくなるのではないかと心配していました。



1992年、 TimBerners-Leeはハイパーテキストメーリングリストで懸念を表明しました。



8 12 , . (, , ! , , (, ), . , ; , , , .


Berners-Leeは、複数の実装がWeb開発者の側で多大な労力を要する可能性があることを認識しました。そのため、開発者はこの問題を完全に回避し、最も人気のあるブラウザでのみテストしたくなるかもしれません(彼は、同様の問題がWebで頻繁に発生することを知りませんでした)。 -開発)。つまり、独占がなくても、あまりにも多くのブラウザが市場に溢れ、他のすべてを考慮せずに標準が作成される実際の勝者を作成する可能性があります。すべてのブラウザ実装の一貫性を確保することが、W3Cを作成し、Webテクノロジの一連の共通標準を推進する理由でした。



Berners-Leeの懸念は十分に根拠がありました。ブラウザが独自の方法を採用し、Webデザイナーがページをいじって、どこでも同じように見えるようにすることを余儀なくされたことがあります。近年、確立された標準化プロセスは、Webに新しい機能を追加するための明確なプロセスを作成し、意思決定プロセスのバランスを確保することにより、ブラウザー間の不整合の問題を大幅に解決しました。



ブラウザーの多様なグループを作成するための基本的な基礎は、完全に異なるブラウザーエンジンの開発です。ブラウザエンジンは、ブラウザ内のコードであり、記述したコードを取得してページにレンダリングします。より技術的なレベルでは、HTML、CSS、JavaScriptを解析して、Webページの構造とレンダリングを処理します。..。エンジンには通常、対話性を処理するJavaScriptエンジンが含まれています。ほとんどの場合、ブラウザエンジンについて話し合うとき、関連するJavaScriptエンジンについて話しますが、常にそうであるとは限りません。



ブラウザメーカーがWeb標準の使用を開始する前、「ブラウザ戦争」の間、MicrosoftのInternetExplorerブラウザに対して10年の支配がありました。 Internet Explorerは、Tridentと呼ばれる独自のMicrosoftブラウザエンジンを使用しました。 Internet Explorerは無料で配布され、すべてのWindowsコンピューターにデフォルトでインストールされていました。配布速度が速いため、トライデントは長年にわたって最も広く使用されているブラウザエンジンになっています。



しかし、いくつかの小さなオープンソースブラウザがすぐに人気を博し始めました。これらの中で最も人気があったのは、Geckoと呼ばれるエンジンを使用したMozilla Firefox(Netscapeベース)でした。 Operaは、Prestoブラウザエンジンでわずかに遅れをとっていました。小さなコミュニティが、ブラウザ市場でわずかなシェアを持っていたKonquerorのKHTMLブラウザに恋をしました。



Prestoを除くこれらすべてのブラウザエンジンのソースコードはオープンソースでした。つまり、誰でも利用でき、どのプロジェクトでも使用できました。これにより、これらの新しいブラウザ間のコラボレーションと健全な競争が促進され、W3C主導のWeb標準プロセスが支持されました。そして、オープンソースのおかげで、同じブラウザエンジンに基づいて構築された、多数の小さなニッチなブラウザが市場に登場しました。



このリストにAppleが含まれていないことは注目に値します。 2003年、同社はWebプラットフォームを完全に見落としていたようです。彼女はCyber​​dogと呼ばれる独自のブラウザを作成しようとして失敗しました。 OSにネイティブなブラウザがないため、AppleコンピュータにはInternet Explorerが付属しており、最も深刻な競合相手の1つであるMicrosoftと結びついていました。



しかし、その後、Appleが新しいブラウザに取り組んでいるという噂が広まり始めました。 Mozillaから数人のベテランが入社し、Appleに代わってオープンソースのMacバージョンのFirefoxに貢献しました。そして、失敗した最初の実験の後、ツールと実装ははるかに優れています。すでに多くの成熟したオープンソースソリューションがありました。



当初、AppleはブラウザエンジンとしてMozillaGeckoを選択すると想定されていました。彼女にはすでに適切な人材と経験があり、このエンジンは、Apple以外の独立したチームによって開発されたCaminoと呼ばれるMacブラウザを含む大多数のブラウザプロジェクトで使用されていました。 Appleはある種のライセンス契約を通じてPrestoを選択できると考える人もいました。



Steve Jobsは、待望の発表でMacworld2003での基調講演を締めくくりました。AppleはSafariと呼ばれる独自のブラウザを作成しています。そして、誰もが驚いたことに、それはKonquerorのエンジンを使用します。 Geckoではなく、Prestoでもありません。 KHTML。ニュースは大きく、次の20年間で、ウェブの軌道が変わりました。





KDEデスクトップで実行される



KonquerorブラウザーKonquerorブラウザーは、Linuxコンピューター用のKDEデスクトップの一部である多くのアプリケーションの1つです。厳密に言えば、これはオペレーティングシステムではなく、OSのように見えて動作するソフトウェアパッケージです。頭字語は元々KoolDesktop Environmentの略でしたが、その後は単にKDEに短縮されました。 Konquerorは、KDE内のプログラムの1つです。そして、KHTMLはKonquerorが実行されるエンジンです。 Linux自体と同様に、KDEはすべて、ブラウザーを含むオープンソースであり、開発者コミュニティは、創業以来、オープンソースの原則を順守してきました。



これが、Appleの発表にこのスライドが含まれていることが重要である理由です。





KHTMLの選択の発表で、Appleはオープンソースのアイデアへのコミットメントを宣言しました。 Safari開発チームは、可能な限りKHTMLプロジェクトに変更を加えることを約束しました。エンジンを適応させるとき、Appleはそれを2つの部分に分割しました。レンダリングと構造を扱うWebCoreと、JavaScriptを扱うJavaScriptCoreです。これらの部分は両方ともオープンソースプロジェクトになりましたが、Safariのバグトラッカーとブラウザーエンジンの要素は閉じたままでした。しかし、このレベルの透明性は、秘密を守ることでよく知られている会社にとっては驚くべきものでした。



Safariの最初の公開バージョンは、2003年1月の発表と同時にリリースされました。その後まもなく、SafariはすべてのMacのデフォルトブラウザとして出荷を開始しました。 1〜2年間、Safariは一貫してブラウザ市場の2〜3%を占めてきました。支配するのに十分ではありませんでしたが、それはApple開発チームに重みを与えました。



オープンソースコミュニティへの約束にもかかわらず、Safari開発者は当初、変更をKTHMLプロジェクトに移植するのが難しいことに気づきました。一部のコードはMacオペレーティングシステムに固有のものでした。他の部分は、既存のコードベースと単に互換性がありませんでした。これにより、AppleチームとKHTMLの共著者の間でわずかな不一致が生じ、数年続きました。



時間が経つにつれて、すべての人に適した妥協点が見つかりました。 2005年6月、AppleはJavaScriptCore、Webcore、およびその他のブラウザエンジンを統合し、パブリックバグトラッカーと貢献の呼びかけを備えた単一のオープンソースプロジェクトとしてリリースしました。このようにして、同社はKHTMLコミュニティに、コードの独立性を維持しながらコラボレーションする準備ができていることを示しました。



プロジェクトはWebkitと名付けられました。



その瞬間は重要でした。プラットフォームとしてのWebは急速に発展し、Web2.0の段階にありました。全体として、Web 2.0は優れたマーケティング用語であり、Web上にのみ存在する洗練されたアプリケーションの数が増えていることに名前を付ける試みでした。これには、Googleの最初の2つのWebアプリケーションであるGoogleマップとGmailが含まれます。 Googleは1年以内にYouTubeをリストに追加しました。



2000年代半ば、Googleのエンジニアはブラウザを詳しく調べたところ、複雑なアプリケーションを構築する必要性に対応できないことがわかりました。これは、Internet Explorerのような古くて無人のブラウザに特に当てはまりました(ちなみに、YouTubeは、ユーザーにIE6を放棄するように勧める役割果たしました)。しかし、Googleの最優先事項はスピードでした。同社の共同創設者はかつて、「紙の雑誌をめくるのと同じくらい速くウェブを作成したい」という彼らの願望を表明しました。それが同社の目標であり、Googleは、FirefoxやSafariなどの最新のブラウザーでさえ十分に近づいていないと感じていました。



2006年までに、同社は独自のブラウザを構築する計画を立て始めました。彼女は市場で最速のブラウザを望んでいました。さまざまなブラウザエンジンを試した後、Googleの開発者は、オープンソースに移行したWebkitプロジェクトに注目しました。そのコードはコンパクトで読みやすく、GeckoやTridentのような豊富な歴史を持つエンジンと比較してリソース強度は比較的低いままでした(後者はクローズドソースコードのためにとにかく考慮されませんでした)。しかし、最も重要なことは、彼は速かったことです。出発点として、それは他のすべてのエンジンよりも速かった。



現時点でSafariチームがブラウザエンジンのソースを開くことを決定していなかった場合、ストーリーはまったく異なる方向に発展した可能性があります。しかし、開発者がこれを行ったため、Googleはこの可能性を調査し、エンジンを使用することにしました。次の数年で、彼女はWebkitの新しいさらに高速な実装に取り​​組み始めました。



彼女の最初のステップは、JavaScriptCoreを取り除き、強力なピストンエンジンにちなんで名付けられたV8と呼ばれる独自のJavaScriptエンジンに置き換えることでした。名前が示すように、V8は高速でした。リリース時点では、JavaScriptCoreの10倍のパフォーマンスであることが判明しました。彼は、仮想マシンとコードの実行方法が少し異なることでこの速度を達成し、モジュール化して他のブラウザーエンジンから独立させました。ちなみに、数年後、このモジュール性により、ノードプログラミング言語の作成が可能になりました。開発者はV8エンジンを採用し、ブラウザを削除してサーバーに配置しました。



Googleが行った2番目のことは、ブラウザにマルチプロセスアーキテクチャを追加することです。マルチプロセッシングについては多くのことが言われていますが、例としてブラウザのタブを使用して最もよく説明されています。以前は、1つのタブがクラッシュすると、ブラウザ全体がクラッシュしていました。ただし、Googleは各タブのプロセスを強制的に独立して実行することができたため、一度に1つのタブのみがクラッシュしました。ブラウザのリリース後、これが主な魅力的な品質になりました。また、これはWebkitの以前の動作方法からの大きな逸脱であったため、重要な決定であることが判明しました。間もなく、この決定は会社に裏目に出るでしょう。



2008年9月、Googleはブラウザプロジェクトを公式に発表しました。同社はこの広告をScottMcCloudのNerdウェブコミックと組み合わせました、プロジェクトのすべての技術的な詳細を詳しく説明しました。ブラウザは市場で最速のWebサイトを処理でき、そのマルチプロセッシングアーキテクチャのおかげで、別のサイトがフリーズした場合でもページをアクティブに保つことができました。これは、ブラウザがまだツールバーやアドオン、そしてメールを含む大企業からのパッケージで過負荷になっていた時代にさかのぼります。 Googleがこのプロジェクトに付けた名前も、このコンセプトに沿ったものでした。ブラウザの世界では、「クロム」(クロム)という用語は、アドレスバー、ツールバー、ファイルメニューなど、Webページを囲むすべての追加機能を意味します。 Googleはこのジャンクのほとんどを取り除きました。そのため、シンプルさとパフォーマンスへの注力が報われることを期待して、ブラウザをGoogleChromeと呼びました。





すべてを開始したWebコミックフラグメント



クローズド検索アルゴリズムとは別に、Googleはオープンソースプロジェクトに貢献し、長年にわたって新しいプロジェクトを作成してきました。 Appleの教訓を理解した後、同社はChromeの開発をさらに進めました。 Google Chromeが発表された同じ日に、同社はエンジン全体をChromiumと呼ばれるオープンソースプロジェクトとして利用できるようにしました。これらは、いくつかのWebkit拡張機能だけではありません。単なるレンダリングエンジンではありません。 Webkit、V8 JavaScriptエンジン、およびブラウザー自体のすべてのコード:すべてがオープンになりました。少しの努力で、どんな開発者もChromiumを補完し、独自のブラウザをリリースすることができます。そのリリース後、それは多くのブラウザで起こりました



2008年はウェブにとって大きな年でした。 Chromeがリリースされたのと同じ月に、Googleはいくつかのオープンソースプロジェクトから組み立てられたAndroidモバイルオペレーティングプラットフォームのプロトタイプを示しました。また、モバイル版のGoogleChromeも含まれています。これは、Safariの修正バージョンが付属したiPhoneの公式リリースから1年余り後に発生しました。 Steve JobsがFlashを取り返しのつかないほど殺し始め、ネイティブWebプラットフォームを最優先事項にしたときまでに、これらのデバイスはすでにどこにでもありました。



つまり、SafariまたはChromeがすべてのモバイルスマートデバイスで機能するようになりました。Safari自体は、完全にiPhoneの購入のおかげで、わずか数年で市場シェアを2倍にしました。Chromeの人気はさらに急速に高まりました。Chromiumを使用することで、独立したブラウザとブラウザプロジェクトの増え続けるリストにアクセスできます。さらに、ChromiumはNodeプログラミング言語とElectronデスクトップアプリケーションフレームワークのバックボーンになりました。



そして、これらすべてのプロジェクトはWebkitのおかげで機能しました。何年にもわたって、彼はブラウザ市場の小さなシェアを獲得することからそれを支配することへと移行しました。



この休息の状態は短命でした。2013年4月、Googleは予期せず、WebkitプロジェクトをBlinkと呼ばれる新しいエンジンにフォークすることを発表しました。Google ChromeとChromiumプロジェクトは、この新しいエンジンに移行します。



この移行にはいくつかの理由がありましたが、最も重要な理由は、マルチプロセッシングの問題に戻ります。数年間、GoogleはWebkitを拡張してブラウザにマルチプロセッシングを追加してきました。これは重要な機能であり、Chromiumブラウザのパフォーマンス向上の基盤となっています。 2013年に、Webkitプロジェクトはエンジンの新しいバージョンをリリースすることになっており、これによりマルチプロセッシングも改善されました。問題は、その実装が完全に異なり、Chromeの実装と互換性がなくなることでした。すでに別のJavaScriptエンジンを使用しており、この新しい変更により、Chromiumは元のプロジェクトから離れすぎていました。 Blinkのコアは、Webkitでなければならず、今も残っています。しかし、彼は別の道を歩み、自分のために新しいプロジェクトを作成します。



この時点で、Webは誰もが想像したよりも複雑になっています。 Berners-Leeが最初に提起した問題(独自のブラウザエンジンを構築する独立した開発者が多すぎる)は、もはや問題ではありませんでした。現在、大規模なチームがブラウザエンジンを構築および保守する必要がありました。 Webプラットフォームの拡張とその標準の強化に伴い、Webサイトをページにレンダリングする複雑さが飛躍的に高まっています。ブラウザは、他のすべてのブラウザとほぼ一致するように無数の方法でコーディングされた無数のサイトを実行する必要がありました。



その後、ブラウザエンジンは消え始めました。



Blinkのリリースの2か月前に、Operaは独自のPrestoエンジンを廃止し、ブラウザをChromiumに移行すると発表しました。グーグルがフォークを発表したとき、オペラはそれに加わった。 2013年5月、彼女は最初のBlinkベースのブラウザをリリースしました。



その間、Microsoftは何年にもわたって独自のクローズドソースエンジンを使い続けてきました。 Tridentは、2015年に最初にリリースされたMicrosoftEdgeブラウザ用に構築されたEdgeHTMLと呼ばれるエンジンに変換されました。しかし、独立したエンジンの開発に投資することは、すでに混雑しているブラウザ市場では難しすぎることが証明されています。 2019年、同社はBlinkにも移行すると発表しました。それ以来、このブラウザもリリースされました。



KHTMLの子孫、つまりBlink / Webkitファミリーのエンジンを搭載したブラウザーは、90%以上のユーザーによって使用されています。事実上の忘却から15年間で90%の市場シェアまで、それは驚くべき成果です。そしてそれは結果をもたらしました。



BlinkとWebkitは2つの異なるエンジンであり、それらのソースコードにはかなりの違いがあります。ただし、Webページのレンダリングには同じアプローチを使用しており、プロジェクト内のほとんどのコードは同じままです。つまり、現段階では、実際には、Blink / WebkitファミリーとFirefoxブラウザーGeckoの2つのブラウザーエンジングループが残っています。 BlinkとWebkitを分離しても、残りは3つだけです。



そして、それは私たちをブラウザの多様性の問題に戻します。ブラウザテクノロジーの革新は消えていません。幸いなことに、すべての本格的なブラウザはWeb標準化プロセスに取り組んでいます。ただし、BlinkおよびWebkitコミュニティが、Webを特定の方向に移動することを決定した場合、彼らはそうするために必要なすべての力を持っています。これは、Geckoがまだ保持しているという事実にもかかわらず、今日でも当てはまります。



ジェフリー・ゼルドマンは、マイクロソフトがブリンクに移行することを決定した瞬間にそれをうまくまとめました



ある企業が、サポートする価値のあるアイデアとそうでないアイデア、重要なアクセスの問題とそうでないアイデアを決定すると、イノベーションが抑制され、競争が崩壊し、人々がデジタル情報を扱うことを排除する機会が開かれます。


歴史的な観点から、Webkitの開発の軌跡は奇跡です。そして、それはコミュニティの開放性とサポートのおかげで実現しました。しかし、ブラウザの多様性と革新性を維持することも同様に重要です。



この投稿では、Webの歴史における5つのマイルストーンについて説明します。



  • 2013年4月3日。WebkitプロジェクトのフォークとしてBlinkを作成します。Blinkレンダリングエンジンは、GoogleChromeなどのChromiumベースのブラウザで使用されます。コードベースの基盤はWebkitによって築かれましたが、マルチプロセッシングタスクを処理し、V8JavaScriptエンジンが含まれています。
  • 2 2008 . Google Chrome, . , Google . , .
  • 7 2005 . Webkit — Apple , : WebCore JavaScript- JavaScriptCore. Apple, Google Webkit .
  • 7 2003 . Safari — Apple , . Mac Internet Explorer Microsoft. KHTML, Webkit.
  • 23 2000 . Konqueror — KDE Konqueror 2. KDE , Konqueror . , , Apple Safari Google Chrome.









広告



当社は、無料のDDoS保護を備えた安全なサーバーを提供していますライセンスされたWindowsサーバーを2GB以上のRAMを備えたプランで使用する機能は、サーバーのバックアップを自動的にまたはワンクリックで作成します。



私たちはIntelの非常に高速なサーバードライブを使用しており、ハードウェアを節約していません。ブランドの機器と、ロシアとEUで最高のデータセンターのいくつかだけです。急いで確認してください。






All Articles