Slide 1

Slide 1 text

Astro 3.0 完全入門

Slide 2

Slide 2 text

私について りゅーそう 埼玉県育ちのエンジニアです。 Saitama.jsの運営しています。 埼玉のおすすめ観光地は権現堂の桜 です。

Slide 3

Slide 3 text

埼玉のおすすめ観光 意外と多いアニメの聖地 ・「クレヨンしんちゃん」春日部市 ・「SAO」川越市 ・「らき☆すた」久喜市 ・「小林さんちのメイドラゴン」越谷市 ・「ちはやふる」戸田市 など

Slide 4

Slide 4 text

厳選しました https://saitama-astro-sample.vercel.app/ 埼玉のおすすめ観光

Slide 5

Slide 5 text

今日はこのサンプルをもとに Astro 3.0 を紹介します

Slide 6

Slide 6 text

コンテンツにフォーカスした高速なWebサイトを構築する ためのオールインワンフレームワーク ・アイランドアーキテクチャ ・デフォルトはゼロJavaScript ・エッジ対応 ・特定のUIに依存しない(React, Vueなどで書ける)など https://docs.astro.build/ja/getting-started/ Astroとは

Slide 7

Slide 7 text

https://astro.build/blog/astro-3/ ・目玉は View Transition API ・Vercelとの連携をもとに、  SSRの強化 など Astro 3.0

Slide 8

Slide 8 text

異なる画面遷移間のアニメーションを簡単に作成すること ができるAPI Chrome111,Edge111以上で対応 khttps://developer.mozilla.org/en- US/docs/Web/API/View_Transitions_API View Transition API

Slide 9

Slide 9 text

View Transition APIは何を解決するのか? ・モバイルアニメーションの体験 同じ要素がそのまま移動するような挙動を提供する ・SPA、SSGではページ遷移の切り替わりがわかりにくい という問題もある。 その解決のためにアニメーションを実装するが、もっさり した体験を与えてしまう...というのはありがち View Transition API

Slide 10

Slide 10 text

Astroでは、View Transition APIを簡単に適用できる 基本はヘッダーに を 設定するだけ View Transition API

Slide 11

Slide 11 text

「transition:animate」でアニメーションを設定できる ・fade ・slide ・noneで無効化 が設定できる。カスタマイズも可能 View Transition API

Slide 12

Slide 12 text

「transition:name」でアニメーションの起点を決める ・クリックするリンクの要素 ・遷移後の要素で一致するものに「transition:name」を 指定する View Transition API

Slide 13

Slide 13 text

View Transition API 例: ・Cardコンポーネント ・ページ詳細ページのh1 に同様のtransition:nameを指定する

Slide 14

Slide 14 text

View Transition API ・指定するnameはページ内で一意でなくてはいけないこと に注意 ・CMSから取得したデータのidなどを指定することでスム ーズなアニメーションにする

Slide 15

Slide 15 text

・next/imageのイメージ ・画像の最適化 ・width,heightの指定 ・lazy=loadingの自動付与など Image Optimization

Slide 16

Slide 16 text

・1.0がリリース ・Astroも動く  https://bun.sh/guides/ecosystem/astro ・パッケージマネージャーとしての利用  とにかく速い。  Node.jsのようなツールを使ってのバージョン管理が不要 Appendix:Bun

Slide 17

Slide 17 text

・Vercelでも動く ・設定は不要 https://vercel.com/changelog/bun-install-is-now- supported-with-zero-configuration Appendix:Bun

Slide 18

Slide 18 text

・コンテンツ管理として利用 ・今回のサンプルリポジトリ https://github.com/YouheiNozaki/saitama-astro- sample ・(採用してます) Appendix:microCMS

Slide 19

Slide 19 text

参考 ・[Astro Docs] https://docs.astro.build/ja/getting-started/ ・[Astro 3.0] https://astro.build/blog/astro-3/ ・[MDN ViewTransition API] khttps://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API ・[Chrome 111 の View Transitions API でリッチなページ間トランジションを実現す る]https://zenn.dev/yhatt/articles/cfa6c78fabc8fa ・[Bun ecosystem Astro] https://bun.sh/guides/ecosystem/astro ・[Bun install is now supported with zero configuration]https://vercel.com/changelog/bun- install-is-now-supported-with-zero-configuration

Slide 20

Slide 20 text

ありがとうございました