wwwwwwwwwwwwwwwwwww

Introduction

One is a React framework that aims to make full stack development as simple as possible - whether you're making a website, an app, or sharing code between the two.

One lets you target both React Native and web with a single codebase, replacing both Metro and a separate web framework with a single framework, with shared file-system routing.

One runs on Vite, which brings to React Native broad file-type support, modern TS and ESM support, powerful tree shaking and code-splitting, faster compilation, and best-in-class docs, types, plugins, and community.

Highlights

  • Target native and web at once with typed file system routes.
  • Loaders ala Remix that tree-shake away on the client.
  • Routing modes on a per-page basis (SSG, SSR, SPA, and API).
  • Preloads all JS for initial load and when hovering links, without need for a route map.
  • Includes a production server out of the box.

Use Cases

One works well as:

  • A uniquely good way to ship cross-platform apps with shared code.
  • A light, fast and opinionated framework for web-only or native-only.

Keep in mind, One is in early development and needs time to stabilize.

For a few more answers to common questions, see our FAQ.

Our Full-Stack Philosophy

One lets you customize your stack as you please but recommends Zero as the first-class solution to data. We think the client-side "sync engine" model it uses is a clear win-win for simpler code and better UX.

Today, we have a starter with npx one that sets up an early alpha of Zero, while we work on a more official solution that neatly integrates One and Zero out of the box.

Acknowledgements

One started as an experiment in porting Expo Router to our vxrn library. We since changed much of the internals and added render modes and a variety of features. We owe the Expo team a huge thanks for their pioneering efforts.

One was built thanks to some amazing open source technologies and contributors:

And a special thanks to the following individuals:

  • Matias Capeletto for inviting us to speak at ViteConf, giving the initial spark.
  • Fatih Aygün for freely helping at length, getting us past many hurdles.
  • Hiroshi Ogawa for his expert consulting for which One wouldn't exist without.
  • Dan Maier, for graciously gifting us the one npm package.

Edit this page on GitHub.