Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】It’s time to get comfortable with web standards again

2025年09月09日に「Dev.to」が公開したITニュース「It’s time to get comfortable with web standards again」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

かつてjQueryが標準技術に置き換わったように、React等のフレームワーク中心の開発から、ブラウザ標準の「Web Components」へ回帰する動きがある。Web Componentsは特定のライブラリに依存せず、再利用性の高いUI部品をシンプルに作成できる。

ITニュース解説

現在のウェブフロントエンド開発では、Reactのような特定の技術(フレームワークやライブラリ)を使うことが一般的です。しかし、これらの便利なツールに過度に依存することで、ウェブ開発の基本的な仕組みへの理解が薄れてしまう危険性があります。この記事は、特定のフレームワークの考え方に縛られるのではなく、ウェブの「標準技術」に改めて目を向け、その重要性を再認識すべきだという主張を展開しています。この状況は、かつて「jQuery」というライブラリが全盛だった時代と似ています。jQueryは、ブラウザごとに異なるJavaScriptの挙動を吸収し、複雑なDOM操作やデータ通信を簡単な記述で実現できる画期的なツールでした。当時はウェブ開発に必須とされ、多くの開発者がJavaScriptそのものよりも先にjQueryを学んでいました。しかし、時が経つにつれてブラウザ自体の機能が進化しました。かつてjQueryに頼らなければ難しかったDOM要素の選択はquerySelectorで、非同期のデータ取得はFetch APIで、標準のJavaScriptだけで簡単かつ効率的に行えるようになったのです。結果として、かつては「標準」同然だったjQueryは、その役目を終え、多くの場面で不要なものとなっていきました。

そして今、ReactがかつてのjQueryと同じような立場になりつつあります。ReactはUI(ユーザーインターフェース)を「コンポーネント」という部品単位で組み立てる画期的な手法を広め、ウェブ開発の標準的な考え方となりました。その結果、多くの開発者、特にReactから学習を始めた人々は、Reactの作法がウェブ開発の唯一の正解であるかのように捉えがちです。このような、Reactのモデルの外で物事を考えられなくなってしまう状態を、記事では「React Brain」と呼んでいます。しかし、ReactもjQueryと同様、あくまでウェブ標準技術の上で動く一つのツールに過ぎません。この「React Brain」から脱却し、より本質的なウェブ開発に立ち返るための鍵となるのが「Web Components」です。Web Componentsは、ReactやAngularのような特定の企業が作ったライブラリやフレームワークではなく、ブラウザ自体に組み込まれた「標準技術」です。これを使うと、開発者は再利用可能な独自のHTMLタグ(カスタム要素)を作成できます。多くの開発者はWeb Componentsを「Reactの競合製品」のように誤解していますが、それは本質を見誤っています。Web Componentsは、jQueryに対する標準JavaScriptのように、より土台となる技術なのです。

Web Componentsには、Reactのようなフレームワークが抱える複雑さを解消する、数多くの利点があります。例えば、コンポーネント間のデータ連携です。Reactでは、深い階層にある子コンポーネントにデータを渡すために、propsを何層にもわたって手渡す「プロップドリリング」という手間が発生したり、Contextや状態管理ツールといった複雑な仕組みを導入したりする必要がありました。しかし、Web Componentsでは、標準のDOM APIである.closest()などを使えば、必要な親要素を簡単に見つけ出して直接操作できます。特別なライブラリは不要です。スタイリングにおいても同様です。「Shadow DOM」という技術により、Web Componentsのスタイルはそのコンポーネント内部に完全に閉じ込められます。これにより、意図しないスタイルが他の要素に影響を与えたり、逆に外部のスタイルによってコンポーネントの見た目が崩れたりする心配がありません。CSSの命名規則に悩んだり、CSS ModulesやStyled Componentsのような追加のツールを導入したりする必要もなく、シンプルにCSSを記述できます。さらに、<blog-header>のように、意味が分かりやすい独自のHTMLタグを作成できるため、コードの可読性が大幅に向上します。これはHTMLが本来持つ「セマンティクス(意味論)」に立ち返る動きであり、開発者にとってもメンテナンスしやすいコードにつながります。

Web Componentsは特定のフレームワークに依存しないため、一度作成すればReact、Angular、Vueなど、どんなプロジェクトでも再利用できます。WordPressのようなCMS(コンテンツ管理システム)にも、複雑な設定なしで簡単に組み込めます。また、Reactが採用するVirtual DOMという仕組みを介さず、直接DOMを操作するため、多くの場合でより高速に動作するというパフォーマンス上の利点もあります。もちろん、これはReactを完全に捨てるべきだという意味ではありません。React 19からはWeb Componentsのサポートが強化され、Reactプロジェクトの中でWeb Componentsをスムーズに利用できるようになりました。データ駆動型の複雑なアプリケーション管理はReactに任せつつ、再利用性の高いUI部品はWeb Componentsで作成する、といったハイブリッドな開発が可能です。Web Componentsに関する「使いにくい」といった批判の多くは、それをReactコンポーネントと同じものとして捉えてしまう誤解から生じています。Web Componentsは、あくまでブラウザの標準的な振る舞いに基づく、よりシンプルで普遍的なコンポーネントモデルなのです。

結論として、この記事が訴えているのは、特定のフレームワークの流行に流されるだけでなく、その土台であるHTML、CSS、JavaScript、そしてWeb Componentsといったウェブ標準を深く理解することの重要性です。フレームワークは時代と共に移り変わりますが、ウェブ標準はより長く使われ続ける普遍的な知識です。ユーザーが最終的に触れるのはフレームワークではなくブラウザそのものです。ブラウザの標準機能に根ざした開発手法を身につけることは、変化の激しいウェブ業界で長く活躍するための確かな土台となるでしょう。

関連コンテンツ

関連ITニュース