Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リクルートライフスタイルにおけるNuxt.jsの導入事例 / NuxtMeetup#4
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yuji Yamaguchi
August 06, 2018
Programming
3.7k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
リクルートライフスタイルにおけるNuxt.jsの導入事例 / NuxtMeetup#4
Yuji Yamaguchi
August 06, 2018
More Decks by Yuji Yamaguchi
See All by Yuji Yamaguchi
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
2
1.5k
バラバラだった staleTime を、データの性質で4プリセットに集約する
yug1224
1
48
Oxcを導入して開発体験が向上した話
yug1224
5
390
EMからICへのキャリアチェンジの壁とその越え方
yug1224
5
320
Cursor Subagentsはいいぞ
yug1224
2
200
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
2k
Oxlintはいいぞ
yug1224
5
3.6k
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
14
6.5k
メンバーの成長速度にバフをかける1on1ミーティング / 2024-12-06
yug1224
25
13k
Other Decks in Programming
See All in Programming
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
210
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
200
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
850
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
230
5分で問診!Composer セキュリティ健康診断
codmoninc
0
270
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.3k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
150
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
270
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
500
共通化で考えるべきは、実装より公開する型だった
codeegg
0
240
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
930
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
510
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
460
Done Done
chrislema
186
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Odyssey Design
rkendrick25
PRO
2
730
HDC tutorial
michielstock
2
750
From π to Pie charts
rasagy
0
240
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Transcript
リクルートライフスタイルにおける Nuxt.jsの導入事例 2018/08/06 NuxtMeetup#4
自己紹介 ▸ 名前 ▸ ヤマグチ ユウジ(30) ▸ 職種 ▸ フロントエンドエンジニア(7)
▸ 経歴 ▸ 2011年04月 通信系企業 ▸ IoTやWebコンテンツサービスの開発運用 ▸ 2016年01月 ネット広告系企業 ▸ 広告配信管理システムの開発運用 ▸ 2016年10月 株式会社リクルートライフスタイル ▸ 飲食店向け予約台帳システムの開発 ▸ 宿予約後レコメンドページの開発 ▸ 組織横断フロントエンド改善活動 2
今日話すこと ▸ Nuxt.js 導入の背景 ▸ Nuxt.js の役割 ▸ 採用して良かったこと /
ハマったこと ▸ まとめ 3
4 なぜ Nuxt.js を導入したのか
5 無視することができない 大規模既存システムの存在
6 じゃらんの新規特集ページの 案件が発生! (既存システムとの連携あり)
7 既存の技術的負債の上に さらに拡張したくない...
8 既存システムの負債は API Aggregation で 吸収すればいいのでは?
アーキテクチャ構成概要 9 Client SPA Server SSR API Aggregation Server API
HTML/CSS/JS JSON JSON JSON Server API JSON Nuxt.js Express
Nuxt.js の役割 ▸ Nuxt.js は SPA と SSR を担当 ▸
Vuex で状態管理をし、画面描画を行う ▸ Nuxt.js は Express の Middleware として利用 ▸ Express は マイクロサービスの API Aggregation を担当 ▸ SPA / SSR どちらからも呼ばれる API を提供 ▸ 関連API をまとめて View に必要な形で返却 10
11 Nuxt.js を採用して 良かったこと / ハマったこと
Nuxt.js を採用して良かったこと ▸ 大規模既存システムの負債を簡単に吸収してくれた ▸ vue-cli と API Aggregation層に感謝 ▸
PWA など今後必要となりそうなものも対応できる ▸ 基本的なものはすでにモジュールで用意されている ▸ 規約が平和的に定まる ▸ スキルレベル差や宗派に違いがあってもスムーズに開発に入れる 12
Nuxt.js を採用してハマったこと ▸ デバッグ時には Nuxt.js の細部まで理解する必要がある ▸ vue-router / vue-server-renderer
/ etc. ▸ easyであるが故にイレギュラー時のコストが高かったかも ▸ SPA × SSR × API Aggregation の構成が肥大化しそう ▸ Webpack の設定が Express と2つ必要 ▸ serverMiddleware を利用した方がスマート 13
14 まとめ
まとめ Nuxt.js と Express を利用することで、 SPA × SSR × API
Aggregation を 簡単に実現することができた! Nuxt 2/3 も来るし、PWA対応などもあるので、 まだまだ改善の余地あり! 15
16 EOF