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
400
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
240
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
300
信頼性の目標を誰も求めてない
shubox
0
510
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
660
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.1k
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
130
AIエージェント時代のコードレビューを設計する
nogu66
6
2.7k
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
110
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
150
Heart of Swift Concurrency
koher
0
360
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
270
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
Scaling GitHub
holman
464
140k
Bash Introduction
62gerente
615
220k
エンジニアに許された特別な時間の終わり
watany
108
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
350
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
How to make the Groovebox
asonas
2
2.4k
The browser strikes back
jonoalderson
0
1.7k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
790
Ruling the World: When Life Gets Gamed
codingconduct
0
330
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
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とかモブプロなど アウトプットベースで議論すると道筋がみえてくる! ・導入作業が落ち着いたけど、ここからが本番
技術に溺れずうまく使いこなす つよつよエンジニアになりたい!(なる!) 振り返り(自戒を込めて...)