Back to Blog

One v1 Release Candidate

The React framework for cross-platform apps (with a single Vite plugin).

Nate Wienert·December 28, 2025·4 min read

One is a unified cross-platform React web and React Native framework that lives entirely in a Vite plugin. One v1 is almost here - we've just released 1.0.0-rc.1, marking it ready for production use. With over 1,800 commits since the announcement of the alpha about a year ago, we're incredibly proud of the simple, robust framework it's become.

One makes building apps for both web and native a delight, bringing simplicity and sanity to what typically is an incredibly messy affair. Where before you'd need two frameworks, two bundlers, and a ton of glue code, with One it's now as simple as can be - Vite, a single plugin, and some file-system routes. Thanks to a lot of work spent on render modes, Vite setup, and profile-guided optimizations, One makes it possible for the first time to get 100 on your web Lighthouse performance score, even while sharing nearly all your code with native.

One is a great framework even if you are only targeting web. In a world haunted by the complexity of RSC, One has always taken a simple-is-better stance, while still giving you best-in-class features:

  • Typed file system routes with .platform file-level forking.
  • Fully typed links, params, and more with auto-generation.
  • Global and per-page render modes - SSR, SSG, SPA - for flexibility and performance.
  • Typed loaders for easy and simple data loading.
  • Lock-in-free: build to a dist folder, built-in Hono production server.
  • new Metro-mode: use Metro for native, for maximum compatibility.
  • new Middleware for request interception and shared context.
  • new Sitemaps with per-route overrides.
  • new Deploy to Vercel or Cloudflare workers with a single config option.
  • new useLoaderState, setServerData and getServerData for advanced data loading.
  • new setResponseHeaders for ISR/caching via CDN cache headers, cookies, and custom response headers.
  • new Automatic NativeWind and Reanimated detection and support.
  • new Advanced loading strategies that significantly improve Lighthouse scores.
  • new Loader HMR with watchFile for instant content updates during development.
  • new Image data imports with ?imagedata suffix for automatic dimensions and blur placeholders.
  • new Dev Tools - SEO preview, route debugging, loader timing, error tracking, and source inspector all in one unified panel (Alt+Space).
  • new useBlocker - Block navigation for unsaved forms with customizable confirmation prompts.
  • new Route Validation - Validate route params before navigation with Zod schemas or async functions.
  • new CSS Collection Improvements - In dev mode, route modules are pre-warmed to collect CSS upfront, avoiding flash of unstyled content during navigation.
  • new Route Masks - Display a different URL in the browser while navigating to complex routes, perfect for modals and side panels.
  • new Scroll Position Groups - Preserve scroll position when navigating between child routes in nested layouts.

For the full changelog, see the release notes.

Getting Started

The quickest way to start:

npx one

Pick a starter and you're up and running. From there, check out the introduction, routing guide, or deployment docs.

Thanks

One started as a fork of Expo Router, built on top of vxrn. Thank you to the Expo team for their incredible work.

A huge thank you to Pokai Chang, who did the vast majority of the work bringing One to v1. From countless bug fixes to major features, Pokai has been instrumental in making One what it is today.

Thanks also to Quan Nguyen for helping out along the way. And to those who helped get One off the ground: Fatih Aygün, Hiroshi Ogawa, Matias Capeletto, and Dan Maier (for the one package name).

One builds on excellent open source work:

Community

We'd love to have you involved:

  • Join our Discord to chat, ask questions, or share what you're building
  • Open an issue if you hit a bug (repros help a lot!)
  • Contributions welcome — docs, examples, bug fixes, or just helping others in Discord

Copyright 2024 Tamagui, LLC