Slide 1

Slide 1 text

© 2024 FeaSion Corp. All rights reserved. 1 Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに 利用して開発するコーポレートサイト 2024/10/19(Sat) Vue Fes Japan 2024 株式会社FeaSion GANGAN (@gangan_nikki)

Slide 2

Slide 2 text

© 2024 FeaSion Corp. All rights reserved. 2 皆さん

Slide 3

Slide 3 text

© 2024 FeaSion Corp. All rights reserved. 3 皆さん Vue Fes Japan 2024 は 楽しめましたか? Did you enjoy Vue Fes Japan 2024?

Slide 4

Slide 4 text

© 2024 FeaSion Corp. All rights reserved. 4 楽しかったならなによりです I hope you had fun :)

Slide 5

Slide 5 text

© 2024 FeaSion Corp. All rights reserved. 5 あと1セッション、お付き合いください Please join us for last session

Slide 6

Slide 6 text

© 2024 FeaSion Corp. All rights reserved. 6 本セッションで話すこと

Slide 7

Slide 7 text

© 2024 FeaSion Corp. All rights reserved. 7 1. Nuxt および Nuxt エコシステムを利用した弊社の実事例について 2. Nuxt モジュールってどんな種類があるの? 本セッションで話すこと

Slide 8

Slide 8 text

© 2024 FeaSion Corp. All rights reserved. 8 「Nuxtってこんなことが出来るんだ!」を 持って帰ってもらえればOKです

Slide 9

Slide 9 text

© 2024 FeaSion Corp. All rights reserved. 9 About me セクションタイトルの補足

Slide 10

Slide 10 text

© 2024 FeaSion Corp. All rights reserved. 10 • 岩丸慎平 ( いわまる しんぺい ) です • GANGAN / がんがん の名前で登壇や執筆をしています • 株式会社FeaSionのエンジニア です (FeaSion Corporation: Engineer job) • Nuxt core contributor、 Zenn Publication「Vue・Nuxt 情報が集まる広場 / Plaza for Vue・Nuxt」の Owner About me

Slide 11

Slide 11 text

© 2024 FeaSion Corp. All rights reserved. 11 I’m Nuxter

Slide 12

Slide 12 text

© 2024 FeaSion Corp. All rights reserved. 12 Do you know this community?

Slide 13

Slide 13 text

© 2024 FeaSion Corp. All rights reserved. 13 ちょこっとだけ弊社紹介

Slide 14

Slide 14 text

© 2024 FeaSion Corp. All rights reserved. 14 FeaSion‘s Philosophy / FeaSionの理念 ref: https://speakerdeck.com/feasion/feasion-shao-jie-zi-liao?slide=6

Slide 15

Slide 15 text

© 2024 FeaSion Corp. All rights reserved. 15 「いろは」は「い」から、「IT」は「あ」から ref: https://speakerdeck.com/feasion/feasion-shao-jie-zi-liao?slide=9

Slide 16

Slide 16 text

© 2024 FeaSion Corp. All rights reserved. 16 1. Nuxt および Nuxt エコシステムを 利用した弊社の実事例について Introducting Nuxt and Nuxt modules on our website.

Slide 17

Slide 17 text

© 2024 FeaSion Corp. All rights reserved. 17 弊社コーポレートサイト

Slide 18

Slide 18 text

© 2024 FeaSion Corp. All rights reserved. 18 アーキテクチャ構成: 現在の構成

Slide 19

Slide 19 text

© 2024 FeaSion Corp. All rights reserved. 19 アーキテクチャ構成: 今後の構成 • CMSとしてNewt、Zennを利用し、開発者以外もコンテンツ更新できる

Slide 20

Slide 20 text

© 2024 FeaSion Corp. All rights reserved. 20 アーキテクチャ構成: 現在の構成

Slide 21

Slide 21 text

© 2024 FeaSion Corp. All rights reserved. 21 Nuxt UI Pro とは? / What is Nuxt UI Pro?  Nuxt公式が提供するUIライブラリ『Nuxt UI』のPro版  Nuxt UIとの違いは? ◼ UI Proは有償ライセンス。無償利用の場合はNuxt UI ◼ 無償版で利用できる40以上のコンポーネントに加え 50以上のコンポーネントを利用することが可能 ◆ eg.) Header component ◆ Hero Header component ◆ Footer component ◆ Pricing Card ◆ Auth Form ◆ BlogList ref: https://ui.nuxt.com/pro/pricing

Slide 22

Slide 22 text

© 2024 FeaSion Corp. All rights reserved. 22 Nuxt UI Pro とは? / What is Nuxt UI Pro?  Nuxt公式が提供するUIライブラリ『Nuxt UI』のPro版  Nuxt UIとの違いは? ◼ UI Proは有償ライセンス。無償利用の場合はNuxt UI ◼ 無償版で利用できる40以上のコンポーネントに加え 50以上のコンポーネントを利用することが可能 ◆ eg.) Header component ◆ Hero Header component ◆ Footer component ◆ Pricing Card ◆ Auth Form ◆ BlogList ref: https://ui.nuxt.com/pro/pricing

Slide 23

Slide 23 text

© 2024 FeaSion Corp. All rights reserved. 23 Nuxt UI ・Nuxt UI Pro 技術構成 (Nuxt UI: v2)  Nuxt UIを構成する技術スタック ◼ Headless UI ◼ Tailwind CSS + Nuxt Tailwind module ◼ Nuxt ColorMode module : ライトモード / ダークモードの可変など ◼ VueUse ref: https://ui.nuxt.com/getting-started

Slide 24

Slide 24 text

© 2024 FeaSion Corp. All rights reserved. 24 Nuxt UI ・Nuxt UI Pro 技術構成 (Nuxt UI: v2)  Nuxt UIを構成する技術スタック ◼ Headless UI ◼ Tailwind CSS + Nuxt Tailwind module ◼ Nuxt ColorMode module : ライトモード / ダークモードの可変など ◼ VueUse ref: https://ui.nuxt.com/getting-started

Slide 25

Slide 25 text

© 2024 FeaSion Corp. All rights reserved. 25 Nuxt UI v2 → Nuxt UI v3

Slide 26

Slide 26 text

© 2024 FeaSion Corp. All rights reserved. 26 Nuxt UI v3-alpha.6 released (last week) ref: https://ui3.nuxt.dev/getting-started

Slide 27

Slide 27 text

© 2024 FeaSion Corp. All rights reserved. 27 Nuxt UI v3-alpha.6 released  Nuxt UIを構成する技術スタック ◼ Headless UI -> Radix Vue ◼ Tailwind CSS v4 + Nuxt Tailwind module ◼ Nuxt ColorMode module : ライトモード / ダークモードの可変など ◼ VueUse ref: https://ui.nuxt.com/getting-started

Slide 28

Slide 28 text

© 2024 FeaSion Corp. All rights reserved. 28 Radix Vue?

Slide 29

Slide 29 text

© 2024 FeaSion Corp. All rights reserved. 29 What is Radix Vue ?  Vue based component Library の1つ  特徴1: アクセシビリティを意識して開発  特徴2: Nuxt モジュールが公式から提供  特徴3: スタイル未設定 ◼ ユーザー側で任意のスタイルライブラリを利用できる ◼ 類似: Chakra UIが提供する Zag.js、Ark UI ref: https://www.radix-vue.com/

Slide 30

Slide 30 text

© 2024 FeaSion Corp. All rights reserved. 30 What is Radix Vue and shadcn-vue ?  Vue based component Library の1つ  特徴1: アクセシビリティを意識して開発  特徴2: Nuxt モジュールが公式から提供  特徴3: スタイル未設定 ◼ ユーザー側で任意のスタイルライブラリを利用できる ◼ 類似: Chakra UIが提供する Zag.js、Ark UI  スタイルを追加したshadcn-vueも提供 ◼ Tailwind CSSでスタイリングされている ref: https://www.radix-vue.com/

Slide 31

Slide 31 text

© 2024 FeaSion Corp. All rights reserved. 31 Nuxt UI Proをすぐに始めるには どうしたら良い?

Slide 32

Slide 32 text

© 2024 FeaSion Corp. All rights reserved. 32 テンプレートがあるよ  現在4種類のNuxt UI Proテンプレートが公開されています。 ref: https://ui.nuxt.com/pro/templates

Slide 33

Slide 33 text

© 2024 FeaSion Corp. All rights reserved. 33 弊社コーポレートサイト: Landing + SaaS template based

Slide 34

Slide 34 text

© 2024 FeaSion Corp. All rights reserved. 34 Nuxt UI Pro、NuxtHub、Nuxt Scripts、Nuxtエコシステムをふんだんに 利用して開発するコーポレートサイト 2024/10/19(Sat) Vue Fes Japan 2024 株式会社FeaSion GANGAN (@gangan_nikki)

Slide 35

Slide 35 text

© 2024 FeaSion Corp. All rights reserved. 35 What is NuxtHub ?

Slide 36

Slide 36 text

© 2024 FeaSion Corp. All rights reserved. 36 (再掲) アーキテクチャ構成: 今後の構成 • CMSとしてNewt、Zennを利用し、開発者以外もコンテンツ更新できる

Slide 37

Slide 37 text

© 2024 FeaSion Corp. All rights reserved. 37 What is NuxtHub ?  Nuxt公式が提供するCloudflareインフラ連携モジュール  Pages(Hosting)、D1(Database)、R2(Storage) などの Cloudflareインフラが最小コストで利用できる  NuxtHub templatesも多く存在する ref: https://hub.nuxt.com/

Slide 38

Slide 38 text

© 2024 FeaSion Corp. All rights reserved. 38 私はフロントエンドエンジニアなのに クラウド選定も任された。 AWS?Google Cloud?Azure? 何を選べばいいの?

Slide 39

Slide 39 text

© 2024 FeaSion Corp. All rights reserved. 39 NuxtHub + Cloudflare

Slide 40

Slide 40 text

© 2024 FeaSion Corp. All rights reserved. 40 現在採用していない理由  地方をターゲットにする場合、クラウドやITに対する不安感が一定数存在する。 そのため、大半の方が利用するWindowsに寄せてMicrosoft Azureの社内採用を検討 => 社内スタックとプロダクトスタックを 分離して選定する方針とした ref: https://hub.nuxt.com/

Slide 41

Slide 41 text

© 2024 FeaSion Corp. All rights reserved. 41 What is NuxtHub ?  Nuxt 公式ブログに紹介記事があります ref: https://nuxt.com/blog/nuxt-scripts

Slide 42

Slide 42 text

© 2024 FeaSion Corp. All rights reserved. 42 Nuxt UI Pro、NuxtHub、Nuxt Scripts、 Nuxtエコシステムをふんだんに利用して開 発するコーポレートサイト 2024/10/19(Sat) Vue Fes Japan 2024 株式会社FeaSion GANGAN (@gangan_nikki)

Slide 43

Slide 43 text

© 2024 FeaSion Corp. All rights reserved. 43 What is Nuxt Script ?

Slide 44

Slide 44 text

© 2024 FeaSion Corp. All rights reserved. 44 What is Nuxt Scripts ?  Analytics、Tracking、Adsenseなどの3rd Party Scriptsの利用を便利にする公式モジュール  現在のNuxt Scriptsはベータ ステータス  Nuxt v3.12からNuxtにauto-installされている ref: https://scripts.nuxt.com/

Slide 45

Slide 45 text

© 2024 FeaSion Corp. All rights reserved. 45 Nuxt Scripts is どこ?

Slide 46

Slide 46 text

© 2024 FeaSion Corp. All rights reserved. 46 What is Nuxt Scripts ?  Analytics、Tracking、Adsenseなどの3rd Party Scriptsの利用を便利にする公式モジュール  現在のNuxt Scriptsはベータ ステータス  Nuxt v3.12からNuxtにauto-installされている ref: https://scripts.nuxt.com/

Slide 47

Slide 47 text

© 2024 FeaSion Corp. All rights reserved. 47 What is Nuxt Scripts ?  Nuxt 公式ブログに紹介記事があります ref: https://nuxt.com/blog/nuxt-scripts

Slide 48

Slide 48 text

© 2024 FeaSion Corp. All rights reserved. 48 Nuxtのauto imports 一覧を確認してみる  nuxt/packages/nuxt/src/imports/presets.ts  対応イシュー: https://github.com/nuxt/nuxt/pull/27010 ref: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/imports/presets.ts#L114-L143

Slide 49

Slide 49 text

© 2024 FeaSion Corp. All rights reserved. 49 (再掲) アーキテクチャ構成: 今後の構成 • CMSとしてNewt、Zennを利用し、開発者以外もコンテンツ更新できる

Slide 50

Slide 50 text

© 2024 FeaSion Corp. All rights reserved. 50 さて

Slide 51

Slide 51 text

© 2024 FeaSion Corp. All rights reserved. 51 水を飲みます 休憩しながら聞いてくださいね feel free to drink some water ;)

Slide 52

Slide 52 text

© 2024 FeaSion Corp. All rights reserved. 52 2. Nuxt モジュールってどんな種類があるの? What types of Nuxt modules are there?

Slide 53

Slide 53 text

© 2024 FeaSion Corp. All rights reserved. 53 Nuxt Modulesのサイトはご覧になったことありますか? ref: https://nuxt.com/modules

Slide 54

Slide 54 text

© 2024 FeaSion Corp. All rights reserved. 54 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール 2. 公式コミュニティモジュール 3. 3rd パーティーモジュール

Slide 55

Slide 55 text

© 2024 FeaSion Corp. All rights reserved. 55 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール : Nuxt Organization で管理されている 2. 公式コミュニティモジュール 3. 3rd パーティーモジュール

Slide 56

Slide 56 text

© 2024 FeaSion Corp. All rights reserved. 56 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール 2. 公式コミュニティモジュール : Nuxt Modules Organization で管理されている 3. 3rd パーティーモジュール よく利用されているモジュール  Nuxt I18n  Nuxt Tailwind  Nuxt ColorMode  Nuxt OG Image  Nuxt Storybook

Slide 57

Slide 57 text

© 2024 FeaSion Corp. All rights reserved. 57 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール 2. 公式コミュニティモジュール 3. 3rd パーティーモジュール : ユーザーから追加されたモジュール

Slide 58

Slide 58 text

© 2024 FeaSion Corp. All rights reserved. 58 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール 2. 公式コミュニティモジュール 3. 3rd パーティーモジュール : ユーザーから追加されたモジュール → ユーザー側でPRを作成し任意の追加が可能

Slide 59

Slide 59 text

© 2024 FeaSion Corp. All rights reserved. 59 Nuxt modules一覧のモジュールは3タイプ存在しています 1. 公式モジュール 2. 公式コミュニティモジュール 3. 3rd パーティーモジュール : ユーザーから追加されたモジュール → ユーザー側でPRを作成し任意の追加が可能 コミュニティときちんと会話を行い 合意を取った上でPR作成しよう。 コミュニティにはコミュニティの ロードマップが存在するから

Slide 60

Slide 60 text

© 2024 FeaSion Corp. All rights reserved. 60 よく利用されるNuxt Modulesを QA形式で話していきます

Slide 61

Slide 61 text

© 2024 FeaSion Corp. All rights reserved. 61 Q1. Linter 用のモジュールはありますか?

Slide 62

Slide 62 text

© 2024 FeaSion Corp. All rights reserved. 62 A1. Nuxt ESLint が利用可能です ref: https://eslint.nuxt.com/

Slide 63

Slide 63 text

© 2024 FeaSion Corp. All rights reserved. 63 A1. Nuxt ESLint が利用可能です ref: https://eslint.nuxt.com/  Nuxt ESLint は ESLint 用の公式モジュール  @nuxt/eslint、@nuxt/eslint-config、@nuxt/eslint-plugin は以下のような関係 @nuxt/eslint @nuxt/eslint-config: Nuxt で利用される設定集 @nuxt/eslint-plugin: Nuxt 固有のルール

Slide 64

Slide 64 text

© 2024 FeaSion Corp. All rights reserved. 64 A1. Nuxt2 packagesとの比較 ref: https://eslint.nuxt.com/guide/faq

Slide 65

Slide 65 text

© 2024 FeaSion Corp. All rights reserved. 65 Q2. State Managemant 用のモジュールはありますか?

Slide 66

Slide 66 text

© 2024 FeaSion Corp. All rights reserved. 66 A2. State Managemant 用のモジュールはありますか?  @pinia/nuxt  @nuxtjs/harlem Global state managemant として Nuxt3以降はVuexではなく Pinia を利用するユーザーが増えている ref: https://pinia.vuejs.org/ssr/nuxt.html

Slide 67

Slide 67 text

© 2024 FeaSion Corp. All rights reserved. 67 Q3. 国際化対応はどうすればよいか?

Slide 68

Slide 68 text

© 2024 FeaSion Corp. All rights reserved. 68 A3. Nuxt I18nを利用しましょう ref: https://i18n.nuxtjs.org/

Slide 69

Slide 69 text

© 2024 FeaSion Corp. All rights reserved. 69 A3. Nuxt I18nを利用しましょう  Nuxt2時代同様にNuxt I18nが利用可能  Nuxt3利用はv8 or latest  現在 v9 リリースに向けてアルファ版 (2weeks ago: v9.0.0-rc.2 relased) ref: https://i18n.nuxtjs.org/

Slide 70

Slide 70 text

© 2024 FeaSion Corp. All rights reserved. 70 Q4. モジュールではないがNuxtをより理解するにはどうすれば良いか?

Slide 71

Slide 71 text

© 2024 FeaSion Corp. All rights reserved. 71 A4. UnJS のリポジトリを覗いてみよう ref: https://unjs.io/

Slide 72

Slide 72 text

© 2024 FeaSion Corp. All rights reserved. 72 QAで扱ったモジュールは

Slide 73

Slide 73 text

© 2024 FeaSion Corp. All rights reserved. 73 QAで扱ったモジュールは いずれの作者も会場にいます

Slide 74

Slide 74 text

© 2024 FeaSion Corp. All rights reserved. 74 気になることは是非直接聞いてみてください

Slide 75

Slide 75 text

© 2024 FeaSion Corp. All rights reserved. 75 さいごに

Slide 76

Slide 76 text

© 2024 FeaSion Corp. All rights reserved. 76 皆さん Vue Fes Japan 2024 は 楽しめましたか? Did you enjoy Vue Fes Japan 2024?

Slide 77

Slide 77 text

© 2024 FeaSion Corp. All rights reserved. 77 是非アフターパーティーで乾杯しましょう Let's toast!

Slide 78

Slide 78 text

© 2024 FeaSion Corp. All rights reserved. 78