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
Nuxtmeetup#8 Yoshinori Ishii
Search
y.ishii
May 07, 2019
Programming
1
1.2k
Nuxtmeetup#8 Yoshinori Ishii
y.ishii
May 07, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
ワープロって実は計算機で
pepepper
2
1.3k
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
480
[DevinMeetupTokyo2025] コード書かせないDevinの使い方
takumiyoshikawa
2
280
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.8k
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
280
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
600
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
7
2.8k
未来を拓くAI技術〜エージェント開発とAI駆動開発〜
leveragestech
2
150
兎に角、コードレビュー
mitohato14
0
120
実践 Dev Containers × Claude Code
touyu
1
200
decksh - a little language for decks
ajstarks
4
21k
令和最新版手のひらコンピュータ
koba789
13
7.7k
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
20k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
460
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Designing for humans not robots
tammielis
253
25k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
株式会社アズーム ⽯井良典 Nuxt/Vueのベスト・プラクティスを求めて 〜 みんなどうしてる? 〜
株式会社アズーム https://azoom.jp 略歴 • 2009年設⽴ • 2018年東証マザーズ上場 主な事業 • ⽉極駐⾞場マッチングサイトの運営
carparking.jp → 掲載物件数No.1 (2018年時点) • 屋外広告マッチングサイトの運営 adwall.jp
Nuxt を採⽤した経緯 創業から10年⽬を迎えシステムがレガシー化してきていた ⼗数個のプロジェクトがそれぞれ別の技術要素で構成されている 採⽤する際にレガシーな技術だと優秀な⼈が来ない トレンドの技術要素でリプレース & 新規開発
Why Nuxt ? Vue / React / Angularの3択 React ・エコシステム全体がエンジニア好み過ぎ
・デザイナーや新⼈と共に開発するのが難しい Angular ・⼈気無い Vue ・従来の開発スタイル(サーバーサイトフレームワーク時代)の延⻑線上にあり、学習コストがかから ない。 ・単純に私の好み…。
Nuxt/Vue を採⽤した効果 • トレンド技術の習得を求めてハノイ⼯科⼤学の優秀な学⽣をリ ファーラルで何⼈も採⽤することができた。 • 経験1年のエンジニアやデザイナーと、経験豊富なベトナム⼈ エンジニアが、同じプロジェクトでチーム開発できている。 • 静的なサイトもnuxt
generateの機能を使うなど、多くのプロ ジェクトで共通の技術要素で開発が可能になった。
アズームではエンジニアを募集しています! https://recruit.azoom.jp/ 25才で営業職からWebエンジニアに転職 実務1年で Nuxt / Vue / Laravel /
Node.js / Sass を実務レベルで使い、 現在は社内で利⽤するUIフレームワークの実装をし、 営業の窓⼝、新卒のディレクションをしている。 < 教育実績 >
Q1. Vuex の Actions と Mutations を Pages からどちらも呼び出してOKか? <script>
export default { ...mapMutations([ʻsomeMutation1ʼ, ʻsomeMutation2ʼ]), ...mapActions([ʻsomeActionʼ]) } </script> <⾮同期> <同期>
A. Pagesから呼び出すのはActionsのみ <理由> Pagesはその操作が⾮同期か同期かを知る必要はないから。 <例> • ある操作Aはstateを変更するのみなので、mutationとして呼び 出し • 操作Aでcommitされるデータをサーバーに保存する必要がでて
きて、⾮同期操作が必要になり、actionとしての呼び出しに変 更する → Pagesの処理にとって本質的でない
vuex-pathifyでmutationsの⾃動⽣成 import { make } from 'vuex-pathifyʼ export const state
= () => ({ count: 0 }) export const mutations = { ...make.mutations(state) // SET_COUNTが⽣成される }
Q2. VueのUIライブラリってデザインと構造の分離 ができていない気がするけど、気にならない? <v-btn color="error">Error</v-btn> <button style="color: red">Error</button> Vuetifyの例 ↓これとやってることあまりかわらなくない…?
A. custom elements + sass mixin + rscss <template> <div
class="action-area"> <x-btn class=”button">Some Action</x-btn> </div> </template> <style lang="scss"> .action-area { > .button { @include x-btn-color(" error ") @include x-btn-type("flat") } } </style>
RSCSSとは? https://rscss.io/
BEM RSCSS