>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
JavaScript

Brainwaveの解剖:ReactとTailwindで複雑なインターフェースを構築する方法を学ぶ

現代のAIサービスのスタイルでデザイナーがモックアップを持ってくるたびに、開発者はわずかな違和感を覚えます。ネオングラデーション、複雑な背景グリッド、セクション境界の装飾的な十字、ベントーレイアウト、パララックス。これらを整理整頓して、何百もの散らばったTailwindクラスの混乱に陥ることなく組み合わせるのは難しい場合があります。

Brainwave Banner

brainwaveリポジトリでは、JavaScript Masteryチャンネルの著者Adrian Hajdinが、架空のAI製品の完全なランディングページのソースコードを公開しています。このプロジェクトはReact、Vite、Tailwind CSSで構築されています。これは、デザインが標準的なカードやボタンを超える場合に、スタイルとコンポーネントのアーキテクチャを整理する方法を示す優れた例です。

プロジェクトの中身

このリポジトリは、完成したフロントエンドのシングルページサイトです。商用网站的典型的なすべてのブロックが含まれています:行動喚起を含むヒーローセクション、機能カード、インタラクティブなロードマップ連携セクション、統合セクション、料金プラン。

Tutorial Preview

プロジェクトの主な価値はデザイン自体ではなく、複雑なビジュアル要素を実装するためのアプローチにあります。重いコンポーネントライブラリの依存関係を追加するのではなく、バニラTailwind CSSと純粋なReactの最大限の活用方法を示しています。

興味深い技術的ソリューション

コードベースをレビューし、実際の開発で役立つ4つのテクニックを特定しました。

1. Tailwindプラグインによるタイポグラフィアーキテクチャ

大規模なTailwindプロジェクトでは、一般的な問題が浮上します:開発者はtext-4xl md:text-5xl lg:text-6xl font-boldのような長いクラスチェーンをある見出しから別の見出しにコピーします。これによりマークアップが乱雑になり、リファクタリングが複雑になります。

Brainwaveでは、これは設定ファイルtailwind.config.jsで処理されていました。組み込みの関数addComponentsを使用して、作成者はすべてのタイポグラフィレベルに対してカスタムコンポーネントクラスを作成しました:

これでJSXでは<h1 className="h1">と書くだけで済み、レスポンシブブレークポイントとともにスタイルが自動的に適用されます。

2. ガイドライン付き универсальная обёртка секции

プロジェクトのデザインでは、ページの側面に細いディバイダーラインを使用し、ブロックの交差点に装飾的な十字を使用しています。各コンポーネント内でこのマークアップを手動で構築するのは不便です。

プロジェクトには、すべての装飾的なジオメトリを処理する専用のSectionコンポーネントが含まれています:

このコンポーネントは、サイドガイド(sideLines)と、交差点にSVGアイコンを含む水平ディバイダーをレンダリングするロジックを分離しています。他のブロックは単に<Section>でラップするだけで、構造をクリーンに保ちます。

3. ロードマップのベンドーレイアウト

ロードマップセクションは、非対称グリッドとして構築されています。偶数番号のカードは、中規模および大規模なスクリーンでlg:-top-20クラスを使用して垂直方向にシフトします。

グラデーション境界にはダブルラッパーテクニックが使用されています:外側のコンテナには最小限のパディング(p-0.5)を持つグラデーション背景(bg-gradient-to-r from-[#B16CEA] to-[#E8D5B7])が適用され、内側のブロックはメインドarkテーマカラー(bg-[#0E0E10])で満たされます。これにより、重いCSSフィルターなしで、数ピクセルの薄いクリーンなグロー境界線が作成されます。

4. 定数へのコンテンツの抽出

すべてのテキスト、ナビゲーション構造、料金、機能リストはconstants/index.jsファイルに抽出されています。コンポーネント自体にはハードコードされた文字列が含まれておらず、データマッピングのみを処理します。プロジェクトを実際のサービスに適応させるには、JSXマークアップに触れることなく、1つのJSオブジェクトを変更するだけです。

プロジェクトをローカルで実行する方法

これを実行するには、Node.jsとGitがインストールされている必要があります。リポジトリをクローンして依存関係をインストールします:

Viteローカルサーバーはhttp://localhost:5173で起動します。

このリポジトリ誰が役立つか

プロジェクトにはバックエンド、データベース統合、複雑な状態管理はありません。これは具体的にフロントエンド開発のテンプレートと学習リソースです。

このリポジトリは2つのシナリオで探索する価値があります:

  1. Tailwind CSSのスキルを向上させ、標準的でないデザインモックアップに対してテーマを適切にカスタマイズする方法を理解したい場合。
  2. 印象的なビジュアルプレゼンテーションが重要視される、サイドプロジェクトまたはポートフォリオ用のランディングページの готовый фреймворкが必要な場合。

コードはクリーンで明確なモジュールに分割されており、分解して個別の再利用可能なコンポーネントにするのが容易です。ソースコードリンク:github.com/adrianhajdin/brainwave

関連プロジェクト