Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
330
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
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
49
AI (LLM) を活用する上で必須級のMCPをAmazon Q Developerで学ぼう / 20251127 Ikuma Yamashita
shift_evolve
PRO
2
56
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
530
事業ロードマップを意識してアジャイルに向き合ってるSREがメンバーのキャリアマップを考えて1on1をやったら、自ら成長して窮地を切り抜けてくれた話 / 20251126 Naoki Shimada
shift_evolve
PRO
1
18
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
2
1.4k
巨匠たちのすれ違いから学ぶ、AI時代のアジャイルで重要なこと / 20251113 Hiromitsu Akiba
shift_evolve
PRO
2
75
Amazon S3から考えるアーキテクチャ設計の勘所 / 20251113 Masaki Okuda
shift_evolve
PRO
2
75
部署横断チームとしてのCCoE活動のむずかしさ / 20251107 Hironobu Otaki
shift_evolve
PRO
2
81
React未経験の元プログラマーがKiroでWebアプリケーション開発で戦ってみた / 20251102 Mitsutoshi Matsuo
shift_evolve
PRO
2
110
Other Decks in Technology
See All in Technology
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
1
150
Introduction to Bill One Development Engineer
sansan33
PRO
0
320
知っていると得する!Movable Type 9 の新機能を徹底解説
masakah
0
170
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
37k
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
14
9.1k
Databricksによるエージェント構築
taka_aki
1
110
AI駆動開発によるDDDの実践
dip_tech
PRO
0
240
Digitization部 紹介資料
sansan33
PRO
1
6.1k
経営から紐解くデータマネジメント
pacocat
9
1.9k
事業部のプロジェクト進行と開発チームの改善の “時間軸" のすり合わせ
konifar
9
2.7k
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
420
意外と難しいドメイン駆動設計の話
zozotech
PRO
0
1k
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Bash Introduction
62gerente
615
210k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Faster Mobile Websites
deanohume
310
31k
Designing for humans not robots
tammielis
254
26k
Fireside Chat
paigeccino
41
3.7k
Code Review Best Practice
trishagee
73
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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