私たちが望んでいたこと

公開: 2022-03-10
簡単な要約↬古い決まり文句は、「あなたが望むすべてを手に入れてもらえますか」と言うと、特に陰湿な呪いになります。 Edgeが間もなくChromeのレンダリングエンジンに切り替えたことで、良くも悪くも、苦い願いが叶います。

はっきりとは言えませんが、トラブルに向かっていると思います。 トラブル—私が知っているトラブル。 しかし、それへのランプ。 私はそれについて聞いただけです。 私はこれを10年しかやっていない。 前回はすべてのリードアップを逃しました。 私が確かに言えることは、私が経験から知っていることですが、怒りの願いが後悔することなく実現したことは一度もないということです。

10年(言っても構わない)はかなり長い時間です。 私が最初にウェブデザインのインターンシップに真剣に取り組んだとき、古き良きInternetExplorerはすでに笑いものでした。

「コンテンツの一部が表示されたり消えたりし、ページのセクションが半分しか描画されないことに気付いた場合、これらは要素にレイアウトが必要であることを示す良い兆候です。 [...] hasLayoutの修正には、通常はデフォルトでレイアウトがない場合に、要素にレイアウトを取得させるCSSプロパティを宣言するだけです。」

— InternetExplorerのhasLayoutプロパティ

IEが大嫌いでした。 私は今それに対処できるような気がします。 私はそうしないようにした。 私は本当に、誠実にやりました。 信じられれば、応援するのは楽しかったと思います。

他のすべてのブラウザがますます扱いやすくなったので、私は、少なくともまだ風変わりな古いIEへの挑戦があることを自分自身に納得させようとしました。 それは誇りのポイントにさえなりました。私は、あいまいなIEの問題を修正するのがとても上手だったので、日常の開発の過程でそれらをかわす方法を学びました。 IEでそれを実行し、何が壊れたかを確認します。

ジャンプした後もっと! 以下を読み続けてください↓

ある意味、楽しいです。 楽しい。 それは私が自分自身に言った嘘でした。

 /* Fixes #2588: When Windows Phone 7.5 (Mango) tries to calculate a numeric opacity for a select (including “inherit”) without explicitly specifying an opacity on the parent to give it context, a bug appears where clicking elsewhere on the page after opening the select will open the select again. */

—jQueryモバイルソース

嫌いだった。 私は、その化身のすべてにおいて、IEを完全に嫌い、会議での冗談を言っています。 他のみんなと同じように、私はそれを少しでも嫌いでした。

「InternetExplorer6には、複数の浮動要素を含む不可解なバグがあります。 フロートされた要素の最後のテキスト文字が、最後のフロートの下に複製されることがあります。 ...直接的な原因は、 <!-- end left column -->などの通常のHTMLコメントにすぎず、順番に来るフロートの間に挟まれています。」

—エクスプローラー6の重複文字のバグ

私のひどい時間の無駄はそれが何であったかです。 リロード、待機、ナンセンスバグでナンセンス修正をスロー、リロード、クラッシュ、IEを再度開く、待機、キャッシングが要因ではないことを再確認、リロード、待機、繰り返します。 私は自分の時間でもっと多くのことをすることができたでしょう—私はもっと多くを学ぶことができたでしょう。

それは私の仕事を妨げるだけでなく、Webを妨げるだけでなく、開発者としてのを妨げることになると確信していました。 その2番目の点で、私は完全に間違っていたわけではないと思います。私が蓄積したIE 6-7ブラウザーのバグに関するあいまいな知識はすべて、今では役に立たないのです。 私がそれを示さなければならないのは、「フィルター」という言葉に対する不本意なひるみ、 marginよりもpaddingに対する不可解な好み、そして根深いがほとんど根拠のないz-indexへの恐れです。。

「…実際のクラス名が他のクラス名のサブストリング(またはスーパーストリング)である場合、余分な空白が原因で間違ったスタイルが選択されます。」

— IE5 / Mac空白の解析のバグ

私はそれがなくなることを望みました。 法律で禁止されている巧妙で広範囲にわたるウイルスによってアンインストールされたMicrosoftは、ついに彼らの粗雑レンダリングエンジンの損失を削減し、FirefoxのレンダリングエンジンであるGeckoに切り替えることを決定しまし。 しかし…いや。 ウェブは進化し続け、私たちの開発者たちは、現在に逆らい、過去に絶え間なく戻ってきました。

Chromeが登場し、Firefoxは改善され続け、新機能は展開され続け、レスポンシブWebデザインの出現によってもたらされたエキサイティングで無限の可能性が私たちの前に広がりました。また、(さておき)数日しかないことを忘れないでください古いIEで多かれ少なかれ機能するようにするために、あまり夢中にならないでください。。

「IE8を使用していて、上記のCSS順序付きリスト番号付けアプローチを使用している場合、およびカウンターcounter-resetcounter-increment CSS属性を使用するクラスを持つHTMLは、ページの読み込み時に非表示になり、非表示になると非表示になります。 HTMLが表示され、すべての自動番号はゼロになりますが、CSS :hover hover PSEUDO-CLASSがそのページで使用されている場合に限ります!」

— IE8の「ホバー」バグ:これまでで最も素晴らしいIEバグ?

少なくとも私たち比較的年配の人にとって、今日そのような欲求不満を経験することを想像するのは難しいです。 最近では、クロスブラウザーの調整にそれほど多くの作業が必要ないことは言うまでもありません。私は、そのような作業があることをよく知っています。 しかし、1つのブラウザーでCSSグリッドがどのように機能するかについて少し違いがあると聞いたときに、「昔はフロートだけだったのでIEのダブルマージンのバグについて教えてください」というときどきの苦痛を感じないようにするのは難しいです。別に。

私は間違っていた; その点を明確にしたいと思います。 欲求不満であることは間違いではありません。 誰もがこれらの古いブラウザのバグに不満を持っていると非難されるべきではないと思います。同じように、現在Web開発のあらゆる側面に不満を持っていると誰もが非難されるべきではないと思います。 いいえ、私は怒りが私をもたらしたという結論に間違っていました:トライデントがかつて塩漬けにされていた地面と地球に燃えているのを見たいという願望。

その塩漬けの大地から劇的に皮肉なものが1つだけ成長しているのではないかと思います。それは、新世代のWeb開発者にとって新たに生まれた同じ欲求不満です。 私がキャリアを始めたとき、ブラウザ戦争から数年後、それらの種はすでに根付いていました。 なぜなら、しばらくの間、私自身の前の時間、私たちWeb開発者は同じようにNetscapeを呪ったからです。 より弱く、バグが多く、間違いなくより悪いブラウザ。 しかし、Internet Explorer —開発者はそのブラウザを気に入っていました。 そして彼らは、他のブラウザ、つまり悪いブラウザがなくなることを望んでいまし。法律で禁止されている巧妙で広範囲にわたるウイルスによってアンインストールされ、Netscapeはついに、見苦しいレンダリングエンジンの損失を減らし、IEのレンダリングエンジンであるTridentに切り替えることを決定しました。それをなくします。 これらの不可解なInternetExplorerのバグは、偶然または過失によって発生したものではありません。 彼らはInternetExplorerが勝ったために生まれました、そして私たちは勝つためにそれを愛していました。

ほら、私たちの欲求不満と怒りは、いつものように私たちに嘘をついた。 彼らは、これらの他のより悪いブラウザをサポートすることは、私たちの仕事を妨げるだけでなく、Webを妨げるだけでなく、開発者として私たちを妨げると私たちに言いました。 私たちのひどい時間の無駄はそれが何であったかです。 それで、私たちはそれが私たち自身の利益のためだけでなく、ウェブ全体の利益のためでもあると自分自身に言い聞かせました。

IEの重さをもう少し重くしました。 私達は私達の決定においてもう少しそれを言いました。 それで、非常に多くのチップを持って、マイクロソフトはそれに応じて彼らのカードをプレイしました—誰がそれらを非難することができましたか? 誰もが最初に彼らのためにウェブサイトを構築し、次に他の人たちのためにウェブサイトを構築しました。 彼らの言葉は法律ではありませんでしたが、それは確かに提案以上のものでした。 確かに、それらはあちこちでWeb標準から逸脱していましたが(ほんの少し)、結局のところ、The Biggest Browserによって実装されたものは、とにかくデファクトスタンダードのようなものではありませんでしたか? その上、より良く、より速く、より簡単なブラウザをサポートすることは、ウェブ自体をサービスとして行っていました! マイクロソフトと一緒に、私たちはウェブを前進させていました! 誰もが勝ちます。

今日のMicrosoftのEdgeブラウザを強化するレンダリングエンジンであるEdgeHTMLは、非常に古いTridentのフォークです。 確かに、それはトライデントの簡素化された大幅に改善されたフォークですが、それ自体のメリットで普遍的に判断されているわけではありません。 EdgeHTMLチームは、常にいくつかの欠点に取り組んできました。1つ目は、Safari、Firefox、Chromeなどに追いつくのに多大な時間と労力を要したという点で技術的なものでした。 2番目は感情的でした。 何年にもわたるInternetExplorerにうんざりして、冷淡な軽蔑で陽気な青い小文字の「e」を見つめたのは、私たち—あなたと私—でした。

数週間前、Edgeチームは、Chromeを強化するレンダリングエンジンであるBlinkを優先して、EdgeHTMLを間もなく廃止することを発表しました。 この変更により、トライデントの残りの残りの数個が永久に消されます。 私が多くの人と共有した願いがついに叶うでしょう。 皮肉なことに、EdgeHTMLはかなり堅実なレンダリングエンジンになりつつありました。

Blinkは、Googleが主導および管理するオープンソースプロジェクトです。 ChromeとOperaの両方に電力を供給します。後者は、数年前に自社製のレンダリングエンジンを同様に放棄しました。

圧倒的な差で、Blinkは世界中でWebを体験する方法です(そして今後ますますそうなるでしょう)。 Blinkは高速で安定しており、最新の機能が満載されており、進化を続けるEdgeHTMLの開発と比較すると、痛みはありません。

これらの古いIEのバグから私たちを救うには遅すぎたかもしれませんが、サポートするレンダリングエンジンが1つ少なくなったので、私たちの作業より簡単になります。 あなたと私は、私たちの集合的な「しかし、それはクロスブラウザで機能しますか」という負担をもう少し失うでしょう。 私たちのプロジェクトはよりスムーズに進み、ウェブはかつてそれを妨げていたものを少しだけ失うでしょう。

ウェブの大部分を動かすエンジンのスチュワードとして、まあ、グーグルの言葉は法律ではありませんが、確かに提案以上のものです。 そして、おそらく今後数年の間に、それらは(意図的であろうと偶然であろうと)あちこちでWeb標準からわずかな方法で逸脱するでしょう。 しかし、結局のところ、最大のブラウザによって実装されたものは、一種の事実上の標準そのものではありませんか? その上、あなたはどのように議論することができますか? 結局のところ、より優れた、より高速で、より強力なブラウザを支持することは、Web自体をサービスにすることです。 グーグルと一緒に、私たちはウェブを前進させます。 誰もが勝ちます。

つまり、標準の偏差が少なく、小さな、しつこいバグが時間の経過とともに大きくならない限り、エントロピーと自己満足の2つの力のおかげです。 私たちがウェブのために行った決定(悪名高いプライバシーに敵対する広告会社と手を携えて)が少し暗く感じ始め、新しいボギーマンが私たちの心の中で形になり始めない限り、私たちが見つけない限り私たちの古い恐怖と欲求不満が再び高まったこと(スクロールすると、本来あるべき場所から数百ピクセル離れて、奇妙な方法でちらつくフェニックスのように)。

今後数年間で、より新しく、よりエキサイティングなレンダリングエンジンが登場するのを見るのは、それほど想像力を必要としません。 サポートが不足しているために失敗するのを見るのは想像力がほとんどありません。私たちは「誰もが使用するブラウザ」を好みます。最初は選択し、後で「収益」のサービスを恨みます。

繰り返しになりますが、わかりません。 私自身、レンダリングエンジンでこれが起こるのを見たことがありません。 私は全体の話を聞いたばかりで、それがどのように終わるかを直接知っているだけです。 私は古い精神的な傷の痛みからの終わりを知っています。 コードのいくつかのビットでの不本意なひるみ、および他のビットを避けるように私を強いる筋肉の記憶から。 いつも少し疲れを感じていた会議のジョークからそれを知っていますが、それでも私が認めることを許さない方法で同じように共鳴し、それでも私が心の奥底に抱いていた秘密の願いを話しました。 苦い、憎むべき願い。

しかしねえ、聞いてください。 もう違います。 さて、私は意味します—私は決してしません。 私は今、良いレンダリングエンジンのバグが大好きです。 私がやります。

perspective()を使用したCSS3D変換は裏返しにレンダリングされます。」

— bugs.chromium.org

つまり、それは実際には一種の楽しいバグですよね? のように、ある意味で楽しい。 知ってる?

楽しいです。

楽しいでしょう