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
Viteの魅力とビルドプロセスに迫る / 20250423 Takuto Nishikiori
Search
SHIFT EVOLVE
PRO
July 23, 2025
Technology
1
290
Viteの魅力とビルドプロセスに迫る / 20250423 Takuto Nishikiori
2025/4/23 第6回テクシェア
https://recruit.shiftinc.jp/career/library/id1430/
株式会社クロノス
錦織 拓人
SHIFT EVOLVE
PRO
July 23, 2025
Tweet
Share
More Decks by SHIFT EVOLVE
See All by SHIFT EVOLVE
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
130
十歩先のQAのあり方を実現するマネジメントの勘所 / 20251024 Suguru Ishii
shift_evolve
PRO
1
33
現場から始めるアジャイルの文化醸成 〜製造部門での挑戦〜 ~静かな職場にアジャイルの芽を育てた3つのアクション~ / 20251023 Yuma Murase
shift_evolve
PRO
1
26
組織改革から開発効率向上まで! - 成功事例から見えたAI活用のポイント - / 20251016 Tetsuharu Kokaki
shift_evolve
PRO
2
260
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
250
AIを活用した自治体向けコールセンターソリューションのご紹介 / 20251008 Hironobu Otaki
shift_evolve
PRO
3
39
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
5
650
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
680
トラウマ・コンプレックスを乗り越え、成長への道筋を見出す / 20250925 Ryo Tashiro
shift_evolve
PRO
2
200
Other Decks in Technology
See All in Technology
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
180
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
140
어떤 개발자가 되고 싶은가?
arawn
1
290
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
170
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
290
初海外がre:Inventだった人間の感じたこと
tommy0124
1
120
20251102 WordCamp Kansai 2025
chiilog
0
180
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
550
知覚とデザイン
rinchoku
1
660
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
260
serverless team topology
_kensh
3
250
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
230
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Making Projects Easy
brettharned
120
6.4k
Code Review Best Practice
trishagee
72
19k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Bash Introduction
62gerente
615
210k
Producing Creativity
orderedlist
PRO
348
40k
For a Future-Friendly Web
brad_frost
180
10k
Mobile First: as difficult as doing things right
swwweet
225
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Viteの魅力と ビルドプロセスに迫る 株式会社クロノス 錦織拓人
1 出身 兵庫県神戸市 所属企業 株式会社クロノス nishikiori takuto ひとこと Vue.jsを愛する 28歳エンジニア
新卒入社で現在6年目
2 私自身、特別な技術力は 持っていないです
2 ですが、私は“Vue.js” 好きです
前回、11月に行われたテクシェアにて Viteについての紹介とVue.jsについて 「愛」を伝えました。 前回の発表
2 3分じゃ足りなかった想い
Vue.jsに出会ってからの軌跡 1年目 電子契約書のアプリケーション開発にてVue.js初体験 シンプルで分かりやすい書き味 意欲的に勉強したい 2年目 Webサイトのリニューアル開発 Nuxt.jsを使った中規模開発 3年目 スマートフォン用Webサイトの改修
Vue.js v2 Composition API CompositionAPIを使ってるので、書き味がさらにバージョンアップ
Vue.jsに出会ってからの軌跡 4年目 健康保険管理システム Vue.js v2 自分で考え、コンポーネントの設計、ストア管理の設計をやるチャンス! 自分がやってきたこと、考え、経験をいかんなく発揮できた!! 5年目 EDIシステム開発 Vue.js
v2 → Vue.js v3 マイグレーション
Vue.jsに出会ってからの軌跡 4年目 健康保険管理システム Vue.js v2 自分で考え、コンポーネントの設計、ストア管理の設計をやるチャンス! 自分がやってきたこと、考え、経験をいかんなく発揮できた!! 5年目 EDIシステム開発 Vue.js
v2 → Vue.js v3 マイグレーション Vue.jsの2系の小規模システムを 3系へ移行するマイグレーション対応 作業はほぼ一人で行った。 この時の苦労と楽しさが発表の起点です。
2 Viteと出会った原点
Viteとの原点 Vue2 から Vue3へのマイグレーション対応 実装は経験を積んでいた。 でも、設定まで考えるのは初めて。 苦しんだのが2つ • Vue2に依存しすぎたライブラリの置き換え •
webpack.config.js、tsconfig.json、babel.config.jsなど ひしめき合う設定ファイルの調査と取り込み 加えて 起動に時間がかかる 修正の反映までがとても遅い
Viteとの原点 そんな時に思い出したのが 参加したVueカンファレンス VueFesJapan 2023 マイグレーションをより簡単にするために すぐプロジェクトの責任者に相談し、Viteを使えるように! 初めの目的は、複雑な設定への対処でしたが そのほかのオプションが素晴らしく、Vue.jsでの開発をより効率的に、 より素晴らしいものにしてくれたのがViteでした!
2 Viteの設計思想 ビルドプロセス
フロントエンド開発のビルドプロセスを超高速化することで 快適な開発体験を提供することです。 Viteについて Viteの生まれた背景・目的 シンプルな設定 すぐに開発できる 素早い初回起動 開発中 動作確認が効率的 全てが「技術者ファースト」で設計されています!
WebpackはViteに比べて柔軟性や拡張性に優れたツールです。 Vite以外のツール、Webpack 設定ファイルが複雑 初回起動 時間がかかる HMRが遅い 上記の弱点を抱えています。 しかし、
ViteとWebpackで比較 Vue.jsの2系から3系へマイグレーションの実体験から WebpackとViteの差を3つの観点から見ていきます。 1 2 3
2 Webpackの設定ファイル 多くない?
シンプルな設定ファイル webpack.config.js Webpackの設定ファイル 設定ファイル複雑すぎません? webpack.config.js(右図)にはたくさん記述が必要。 加えて、vue.config.jsやbabel.config.jsなどの 複数の設定ファイルも必要。 そもそも設定の把握に時間を取られます。 修正時に何を参照すればいいのか。 コーディングではない部分で、とても苦労する状態。
シンプルな設定ファイル vite.config.js Viteの設定ファイル すぐに開発始められる webpack.config.jsで設定されている内容とほぼ同じですが 記述量がなんと「1 /6 以下」に!! vite.config.js(右図)は本当にこれだけです! さらに、vue.config.jsやbabel.config.jsなども不要!
シンプルな設定ファイル vite.config.js Viteの設定ファイル すぐに開発始められる webpack.config.jsで設定されている内容とほぼ同じですが 記述量がなんと「1 /6 以下」に!! vite.config.js(右図)は本当にこれだけです! さらに、vue.config.jsやbabel.config.jsなども不要!
設定周りがノンストレス!
2 Webpackでの起動時間 長くない?
素早い初回起動 Viteって起動めちゃくちゃ早い! 置き換えて初めて気づいたんですが 逆にWebpackなんでそんな遅いん?
素早い初回起動 Viteって起動めちゃくちゃ早い! 置き換えて初めて気づいたんですが 逆にWebpackなんでそんな遅いん? Viteめっちゃすごいのが Webpackにはなかった発想で高速化を実現! キーワードは 依存関係の“事前バンドル”
素早い初回起動 前回起動した際の情報をキャッシュしておきます。 ViteはESBuildを活用し node_modules/.Vite/deps/vue.jsに 前回起動時にアプリ全体のコードを 一つのファイルにバンドルしておきます。 これを起動時に読み込むことで 爆速起動を実現しています。
Vite VS. Webpack さらにバンドルファイルも少ない! Viteでは 必要なmodulのみをバンドルする Webpackでは 全てのmodulをバンドルしてしまう
Vite VS. Webpack 具体的にどれくらい違うか。 デモ環境を用意して、ViteとWebpackの起動時間の差を比べてみました。
Vite VS. Webpack 具体的にどれくらい違うか デモ環境を用意して、ViteとWebpackの起動時間の差を比べてみました Vite Webpack 264ms ≒ 0.26秒
5160ms ≒ 5.16秒 なんと、起動時間が20分の1!!
2 ソース変更してから 反映おそくない?
Webpackでのファイル変更時あるある 過去には保存 → 待機 → 動作確認に5〜10分も費やすプロジェクトもあ り これが超絶ストレス。 ちょっとしたスタイル変更やコンポーネントの文言修正に対して 2〜3分のバンドル待ちが発生していました。
Vue.js唯一の嫌いなところでした。
Viteでの変更は即! HMRとは VIteではHMR(Hot Module Replacement)と呼ばれる技術により ファイルの変更を画面に反映する速度がとても早いんです! ファイルの変更時にページ全体をリロードせず、 変更されたモジュールだけを差し替えます。 アプリケーションの「状態(state)」を維持したまま、 変更を即反映してくれます。
保存 → 即反映されるので、“ノンストレスな開発体験”を実現してくれる。
Vite VS. Webpack Round2 具体的にどれくらい違うか。 デモ環境を用意して、ViteとWebpackのHMRの時間も比べてみました。 まずはWebpackから
※発表時は動画でしたが、スライドでデモをお見せします!
※発表時は動画でしたが、スライドでデモをお見せします!
※発表時は動画でしたが、スライドでデモをお見せします!
※発表時は動画でしたが、スライドでデモをお見せします!
Vite VS. Webpack Round2 続いてVite Webpackは12秒かかりました。
※発表時は動画でしたが、スライドでデモをお見せします!
※発表時は動画でしたが、スライドでデモをお見せします!
Vite VS. Webpack Round2 0.2秒!!!???
Vite VS. Webpack Round2 ViteとWebpackではまさかの60倍の差 それだけ、開発にかけることのできる時間が増える! より効率的に、より素晴らしい 開発体験を提供してくれます!
ViteとWebpackで比較 Vue.jsの開発体験を向上させてくれるVite これらのポイントが、Viteに惹かれた部分です! 1 2 3
2 好きな技術に対して
好きな技術に対して 特別な技術は持ってないですが 好きな技術を伝えるために、さらに深く学ぶ 発表準備でさらにのめり込む機会となりました。 そして何より・・・ 「どうすれば、このViteの素晴らしさが伝わるか?」を真剣に考える時間でした。 「伝える」を意識し、さらに深く技術を知ろうとするプロセスによって 改めて自分の知識も深まったように思います。 技術をみんなで クロノスのバリューに「みんなが、バージョンアップ」があります。
自分が学び、誰かに伝える。誰かの学びを、聞かせてもらう。 その連鎖で今日の発表だけでなく、これからも続けていきたいとより強く感じまし た。
None