Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
既存RailsプロダクトにVue3導入した話 / vue-introduction
Search
Kazuma Maekawa
June 15, 2022
Programming
410
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
既存RailsプロダクトにVue3導入した話 / vue-introduction
Kazuma Maekawa
June 15, 2022
More Decks by Kazuma Maekawa
See All by Kazuma Maekawa
Nuxt3 × microCMSでポートフォリオサイト構築
kazuma630
0
250
Other Decks in Programming
See All in Programming
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
140
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.7k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
490
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
Workers Cache を知る
syumai
0
370
Next.js: The final boss of Web Performance
guaca
0
260
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
150
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
600
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
430
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
550
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Designing for Performance
lara
612
70k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
エンジニアに許された特別な時間の終わり
watany
109
250k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
YesSQL, Process and Tooling at Scale
rocio
174
15k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Transcript
既存RailsプロジェクトへVue3を導入
自己紹介 ▪ 名前 まえかわ かずま(23歳) ▪ 所在地 → → →
→ → 兵庫 茨城 兵庫 福岡 東京 茨城(現在地) ▪ 業務 株式会社アサインナビに在籍する2年目エンジニア Rails、Javascript(Jquery, Vue.js)を主に触ってます ▪ 近況 週末は海辺でのんびり ゆる言語学/コンピュータ科学ラジオ(youtube)にハマってます @kz2021_enginner
アジェンダ ・Vue導入のきっかけ ・導入にあたっての壁 ・コンポーネント化方針 ・コーディングスタイル方針 ・振り返り(自戒)
・拡張性や可読性の低いコードが乱立 ・既存の同じUIを探すのが大変、統一がとれていない 影響範囲をカプセル化し、再利用しやすいフロント開発環境を 構築すべくVue導入を決定 しかし、Vue3系について社内で詳しいメンバーがいない状態... 勉強会を行い 基礎的な知見をチーム内で固めた上で導入する方針に 背景
・Vueのコーディングルールがなく、 再利用性や保守性にかけるコンポーネントが乱立 ・webpackerに依存しており、パフォーマンスチューニングや マイグレーションコストがネックに Vue3導入に合わせて ・webpackerではなくwebpackを選定 ・コンポーネント設計方針やスタイルガイドを検討 別プロジェクトで発生していた問題への対応
Vueの設計・コンポーネント化方針 ▪ 設計方針 Atomic Designの5階層に基づいて、ディレクトリを分割 i18n, routesはRubygemでエクスポートしたものを配置 ディレクトリ構造 引用元:Atomic Design
Methodology
Atomic Designのつらいところも... ・atomやmoleculesなど、どの階層に配置しようか? の検討コストが思った以上に大きい 他社さんの事例も参考にしつつ ディレクトリ構造の見直しを検討していきたい... ・ユニークビジョン社: components コンポーネントは
以下にフラットに全部置くのが良い ・カカクコム社: Atomic Designをやめてディレクトリ構造を見直した話
コーディングスタイル方針 ESLintとPrettierを採用 eslint-plugin-vueが3系のスタイルガイドをサポートしてくれている! 推奨設定で動かす インデントや折り返し行数など細かいルールのみカスタマイズ デフォルト設定がverUPで変更されることもあるので 明示的にルールを設定
・webpack導入のバージョン差異エラーで時間とってしまった... 公式ドキュメントのマイグレーションガイドはきちんと読もう! ・設計方針とか技術選定は机上の空論になりがちだった... プチLTとかモブプロなど アウトプットベースで議論すると道筋がみえてくる! ・導入作業が落ち着いたけど、ここからが本番
技術に溺れずうまく使いこなす つよつよエンジニアになりたい!(なる!) 振り返り(自戒を込めて...)