Why We Moved to Vite – and Why You Should Too

In the fast-paced world of frontend development, build tooling can make or break both the developer experience and application performance.

At Galil Software, we are always on the lookout for tools that help us deliver faster, leaner, and more maintainable applications. After years of relying on Create React App (CRA) as our primary React scaffolding tool, we made the decision to migrate our projects to Vite. The results have been nothing short of transformative — for both our development team and our clients.

The CRA Bottleneck

Create React App served the React ecosystem well for years before being declared deprecated. However, as projects scaled, we often ran into significant issues:

  • Slow development server startup times: As dependencies increased, starting the development server could take 30+ seconds.
  • Sluggish hot module replacement: Changes to components often took 3–4 seconds to reflect in the browser.
  • Lengthy production builds: Our CI/CD pipelines were bottlenecked by build times of 3–6 minutes.
  • Limited configuration options: Customizing Webpack without ejecting was challenging, leading to workarounds with packages like react-app-rewired.

Enter Vite: The Next Generation of Frontend Tooling

Vite flips the traditional bundler model on its head. Instead of bundling everything upfront with Webpack, Vite serves source files over native ES modules and bundles only for production, using esbuild and Rollup, which are highly optimized for code splitting and tree shaking.

The results:

  • Instant dev server startup (even on large projects)
  • Lightning-fast hot module replacement (HMR), regardless of app size
  • Simpler, more modern configuration
  • Massively faster CI/CD builds

Case Study: Transforming Client Performance

For one of our recent clients, for whom we are developing a customer-facing front-end dashboard, a signup website, and a large-scale internal dashboard with dozens of modules and dependencies, CRA’s issues became significant blockers. Development changes and hot module replacements began taking 3–4 seconds to complete, and CI/CD builds stretched up to 10 minutes.

We took the initiative to migrate the entire codebase to Vite, explaining to our client the substantial benefits it would provide — and it proved to be a massive success:

  • Development server startup dropped from over 1 minute to just 300–500ms.
  • Hot module replacement time dropped from 3–4 seconds to approximately 100ms — almost instant.
  • Production build times decreased from 10 minutes to around 1 minute, including installation and deployment.
  • Bundle size was reduced by approximately 20%.

Migration Was Easier Than Expected

One concern we had early on was the effort required to migrate from CRA to Vite. However, thanks to a mature ecosystem and official React/Vite templates, the migration was mostly straightforward. We handled aliases, environment variables, and static assets with minimal refactoring.

We found Vite’s configuration, using the vite.config.js file, to be far more intuitive than Webpack’s. Additionally, since Vite offers built-in TypeScript support, no additional loaders or configurations were needed to set it up.

Let’s Sum It Up

The transition from Create React App to Vite has been a game-changer for both our internal development workflow and our client deliverables. It resulted in dramatically improved build times, faster development iteration, and a more streamlined configuration process.

At Galil Software, we are now standardizing on Vite for all new React projects and gradually migrating existing ones.

If you are still using Create React App — especially on a medium or large project — it is time to consider making the switch. Vite is not just faster; it is designed for the way modern web applications are built today.

Want help moving your React project to Vite? Contact us – we’d love to help you speed things up!

The article was written by Joe Karkaby, VP Web & Mobile GM at Galil Software

Skip to content