今週、Webコンポーネントの問題を実行しましょう。私たちはそれをしなければなりません。として スコット・ヴァンデヘイ 言う: HTML Webコンポーネントには時間があります。 Scottは、他の人の執筆のかなり健康的なシチューにリンクしています。そこでは、自分の作品でネイティブWebコンポーネントの有用性を想像できる独自のAH-HAの瞬間があります。

これも私に忍び寄ってきたので、私はそれを感じることができます。これがあなたをそこに連れて行くかもしれない考え方です:

  • HTMLが少しあります
  • あなたはそれにいくつかの機能を適用したいです
  • したがって、Webコンポーネントにラップします

正直なところ、JQueryスタイルの思考と比較できると思います。 「何かを見つけて、何かをする」 – あなたがすでにそれを見つけたことを除いて、あなたはそれをする必要があります。

さて、私が還元主義者のように見える前に、Webコンポーネントはより複雑になる可能性があります。 Shadow DOMアプローチにオプトインすることができます。これにより、スロットやより複雑なテンプレートのロックが解除され、真のカプセル化などがあります。しかし、あなたはしません 持っている そのためには、必要に応じてレベルアップすることができます。まさに 基本 ユースケース(そして、これはWebが得意ではありませんか?!)は、有用で強力で、限られたボイラープレートを必要とし、ライブラリやビルドステップは必要ありません。

この例は、うーん、 かなりシンプルです、しかし、それは私の心が少しひっくり返った方法の例です。サイズを変更できるボックスを作りたかったのですが、それはちょうど9:16のアスペクト比であり、ピクセルの寸法を教えてくれます。 HTML、少しのCSS、およびJavaScriptが少し必要です。私はしません 必要 それをWebコンポーネントとして行うことは、これ以上の作業ではなく、意図を伝えるのに役立つ方法でHTMLとJavaScriptをより厳密に結合するのに役立ちます。

壮大な計画はありませんが、JavaScriptをインポートできるようにし、使用する意図したHTMLを文書化することで、どこにでもこれを簡単に再利用できるようになりました。私もおそらくCSSを束ねるべきですが、それは別の日の話です。


この「Webコンポーネントはかなりシンプルにすることができます」というトレイン全体を少し維持しましょう。実際、私はジム・ニールセンがウェブコンポーネントで最初のドミノを蹴ったのは最近、人々に違った考え方をさせていると思います アイコンギャラリーのWebサイトでWebコンポーネントを使用します

アイコンのグリッドを想像してください。ジムは、aの形でページ上のコントロールを望んでいました サイズを制御するため。 Webコンポーネントを使用することにより、JavaScriptが実行されたときにのみその入力を挿入できます。これは理想的です。その後、その範囲のスライダーで聞くすべてのイベントは、すべてそのWebコンポーネントにバンドルされています。その間、WebコンポーネントのHTMLガットは、JavaScriptがない場合にレンダリングするものですが、アイコンの完全に保守可能なグリッドです。

これは、よりカプセル化されていると感じているため、これは素晴らしいアプローチです(JSファイルに多数の関数をつなぎ合わせることができます)。関連するロジックとDOMの操作はすべて「1つの屋根の下」です。さらに、プログレッシブエンハンスメントとして機能します。JSがロードに失敗した場合(またはユーザーが無効にしている場合)、アイコンのリスト(および コンポーネントは次のように機能します

). And if JS works, the  コンポーネントはaのように機能します

 with interactive super powers layered in.


Dave Rupert’s Web Component version of FitVids is even more straightforward. You probably have videos on your sites that are YouTubeやVimeoのようなもの。ただ包むだけです そしてそれを一日と呼んでください。


  • Be the first to comment