LESSON 01 · 約16分
Astroの役割と向いている制作物
HTMLを中心に届け、必要な場所だけ動かす考え方をつかみます。
コードを試す前に
事前の実行環境は不要です。HTML・CSS・JavaScriptの基本を使い、TypeScriptは前提にしません。
各コードは独立した学習用の例で、すべてを順に一つのプロジェクトへ上書きする形式ではありません。同じレッスン内の対応ファイルは組み合わせます。依存関係・入力ファイル・実行条件は各noteに記載します。
開発環境の準備を確認する →このレッスンでわかること
- Astro・React・Next.jsの役割を区別できる
- 制作物の内容と操作量から構成を選べる
最初に届けたいのは、読めるページ
Astroは、記事・会社紹介・ドキュメント・商品説明のような、読む内容が中心のWebサイトを作るフレームワークです。ページをHTMLにして届け、操作が必要な部分にだけJavaScriptを追加できます。HTMLが中心でも、検索フォームやお気に入りなどの操作は作れます。
ReactとNext.jsとの関係
ReactはUIをコンポーネントと状態で組み立てるライブラリです。Next.jsはReactを基盤にページやサーバー処理を組み立てるフレームワーク。Astroは別のフレームワークで、Reactを必須にせず、必要ならReactの部品をページへ組み込めます。Astroを始めるためにNext.jsを先に習う必要はありません。
得意さと、選ぶときの注意
ブログに一つの検索UIを置くなら、本文を静的HTML、検索を操作部分に分ける考え方が合いやすいです。画面全体が頻繁に更新され、複数の領域が同じ状態を共有する編集アプリでは、React中心の構成も比較しましょう。これは機能からの選定目安で、Astroでは作れないという制限ではありません。
- 表示速度は画像サイズ・外部スクリプト・通信環境にも左右される
- 認証・DB・課金・常時接続が自動で完成するわけではない
学習中は二つの問いを持つ
この処理はどこで動くのか。そして、いつ動くのか。ページを作るJavaScriptと、クリックに反応するJavaScriptは別です。まず静的サイトを作り、後半でリクエスト時の処理が必要な場面を足すと、境界を見失いにくくなります。
操作のないページはHTMLから始める
---
const siteName = '旅のメモ';
---
<html lang="ja">
<head><meta charset="utf-8" /><title>{siteName}</title></head>
<body>
<main><h1>{siteName}</h1><p>訪れた場所を記録します。</p></main>
</body>
</html>この例にはブラウザーで動くアプリ用JavaScriptを書いていません。01では読んで理解し、02の環境構築後に実行できます。
TRY IT YOURSELF
作りたいサイトを分解する
- 記事一覧・本文・検索・ログインなど、必要な部分を書き出す
- 読む部分と、操作で変わる部分に印をつける
- Astroを選ぶ理由と、他構成も比較したい理由を一つずつ書く
できたらOK:「HTML中心」と「操作できない」を区別して説明できる
QUICK CHECK
理解を確かめよう
公式資料でもう少し詳しく
ここまで読めたら、ひとつ前進。