5 - ブラウザでコンテンツを表示する
ブラウザでコンテンツを表示する
異なるメソッドやデータを持つさまざまなHTTPリクエストを管理できるWebアプリケーションを構築できる段階まで来ています。これは、特にマイクロサービス用のサーバーを構築している場合に便利です。しかし、ノンプログラマーが私たちのアプリケーションと対話し、それを使用することも望んでいます。ノンプログラマーがアプリケーションを使えるようにするには、グラフィカル・ユーザー・インターフェースを作成する必要があります。ただし、この章ではRustがあまり出てこないことに注意が必要です。なぜなら、グラフィカル・ユーザー・インタフェースをレンダリングするための言語は他にも存在するからです。ここでは、主にHTML、JavaScript、CSSを使用します。これらのツールは成熟しており、フロントエンドのWeb開発に広く使用されています。私自身はRustが大好きですが(そうでなければRustの本を書いていません)、適切な仕事には適切なツールを使う必要があります。この本を書いている時点では、Yewフレームワークを使ってRustでフロントエンドアプリケーションを構築することができます。しかし、より成熟したツールをRustの技術スタックに融合させることができれば、より価値のあるスキルになります。
本章では、以下の項目について説明します。
- Rustを使ったHTML、CSS、JavaScriptのサービス
- Rustサーバーに接続するReactアプリケーションの構築
- Reactアプリケーションをデスクトップアプリケーションに変換し、パソコンにインストールする。
前回(Rust Web Programming:A hands-on guide to develop fast and secure web apps with the Rust programming language)では、単にRustから直接フロントエンドのアセットを提供するだけでした。しかし、フィードバックと修正により、これはうまくスケールせず、多くの繰り返しが発生することになりました。また、Rustで直接提供される生のHTML、CSS、JavaScriptは、このアプローチを使用することで構造化されていないため、エラーが発生しやすくなっていました。そのため、この第2版では、Reactをカバーすると同時に、Rustで直接フロントエンド資産を提供する方法を簡単に紹介します。この章が終わる頃には、基本的なフロントエンドのグラフィカル・インターフェースを依存関係なしに書けるようになり、低依存性のフロントエンド・ソリューションとReactのような完全なフロントエンド・フレームワークの間のトレードオフを理解できるようになります。また、低依存フロントエンドソリューションとReactなどのフルフロントエンドフレームワークのトレードオフを理解し、両者の使い分けを理解するだけでなく、プロジェクトで必要なときに両者のアプローチを実装できるようになります。その結果、適切な仕事に適切なツールを選び、バックエンドではRust、フロントエンドではJavaScriptを使用してエンドツーエンドの製品を構築することができるようになるのです。