コンポーネント:サーバー側とクライアント側
2021年のウェブサイトの構築には、多くの場合、コンポーネント駆動型のアプローチが含まれます。 ReactやVueのようなフレームワークが支配し、他の人は目立つように努力しています。ただし、このコンポーネントベースの開発は、最近の発明ではありません。
再利用可能なコードスニペットの概念は何年も存在してきました。 JavaScriptで記述され、ブラウザによってレンダリングされたクライアント側のコンポーネント(Webコンポーネント、React、およびVueで使用されるものなど)は、最新の反復です。逆に、サーバー側のコンポーネントは、ブラウザに到達する前にサーバー上のHTMLにコンパイルされます。彼らは、しばしば部分的なものと呼ばれるウェブの初期の頃から、含まれている、またはテンプレートを含んでいます。どちらも関連性があります。
レンダリングメカニズム
コアの違いはレンダリングにあります。サーバーコンポーネントはサーバーによってレンダリングされ、クライアントコンポーネントはブラウザによってレンダリングされます。
サーバー側のレンダリングは、リアルタイム(各クライアントリクエストに応答する)または事前にレンダリング(ビルドプロセスを使用してJamstackアプローチ用の静的HTMLを生成)にすることができます。ブラウザは、メソッドに関係なくHTMLを受信します。
JavaScriptを使用して実装されたクライアントコンポーネントは、ブラウザによってレンダリングされます。サーバーはそれらを認識できますが、その関与はフレームワークに依存します。 Webコンポーネントは、カプセル化にShadow Domを利用しますが、ReactやVueなどのフレームワークはDOMの操作を内部的に管理します。
インタラクティブ性とパフォーマンス
純粋にHTMLであるサーバーコンポーネントは、インタラクティブに個別のJavaScriptを必要とします。この懸念の分離は、コード組織の利点を提供し、ブラウザの負荷を削減する可能性がありますが、複雑さを追加します。
クライアントコンポーネントは通常、マークアップとインタラクティブ性を組み合わせて、開発を簡素化しますが、初期負荷時間に影響を与える可能性があります。ただし、フレームワークは多くの場合、プレレンダリング(Gatsby、Next.js、nuxt.js)などのテクニックを採用してこれを緩和し、その後のページの負荷を速くします。
サーバー側のコンポーネントは一般に、完全なHTML配信により初期パフォーマンスが向上しますが、クライアント側のコンポーネントは、最初は潜在的に遅くなりますが、フレームワーク内でのその後の相互作用のために優れたパフォーマンスを実現できます。
言語とスタイリング
サーバーコンポーネントは、さまざまなサーバー側の言語で記述でき、多くの場合、アプリケーションのロジックと一致します。クライアントコンポーネントは主にJavaScriptを使用しますが、サーバー側のJavaScriptランタイム(node.jsなど)が場合によっては言語の一貫性を可能にします。
サーバー側のコンポーネントのスタイリングには、スタイルシートを接続するために余分な努力が必要ですが、Tailwind CSSのようなツールはこれを簡素化します。クライアント側のコンポーネントライブラリには、組み込みのCSSサポートが含まれることがよくありますが、組織は重要です。
ハイブリッドの未来
どちらのアプローチも普遍的に優れていません。ハイブリッドアプローチが優先される可能性が高く、両方の強みを活用しています。サーバー側のレンダリングはパフォーマンスとSEOを最適化し、クライアント側のフレームワークはインタラクティブ性と開発者エクスペリエンスを向上させます。
3つの重要なトレンドは、このハイブリッドの未来を示しています:
高度なJavaScriptフレームワークフレームワーク: Gatsby、Next.js、nuxt.jsなどのツールは、プレレンダリングを使用して静的HTMLを生成し、初期負荷時間を改善し、その後「水分補給」して対話性を追加します。
Baked-in Client-Side Pre Rendering: Frameworksは、サーバー側のレンダリング機能をますます統合し、プロセスを簡素化し、追加のツールへの依存度を低下させる可能性があります。 Svelteはこの傾向の顕著な例です。
サーバー側のコンポーネントインタラクティブ性: Hotwireなどのフレームワークは、最小限のJavaScriptを使用したサーバー側のコンポーネントインタラクティブを強化することを目的としており、フルスタックのモノリシックフレームワークへの関心を潜在的に復活させる可能性があります。
Web開発の未来には、これらのアプローチのブレンド、パフォーマンスのバランス、開発者の経験、および継続的なフレームワークの進化が含まれる可能性があります。
以上がコンポーネント:サーバー側とクライアント側の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう

私たちは常にWebをよりアクセスしやすくしたいと考えています。色のコントラストは単なる数学なので、SASSはデザイナーが見逃したかもしれないエッジケースをカバーするのに役立ちます。
