I'm building a single codebase native and web app. It works great for web for me. I haven't found anything lacking for my specific use case. The key however is to test routinely on all 3 platforms (ios, android and web), however most times you can be okay with routine testing on one of the native platforms and web Answer from devMario01 on reddit.com
🌐
Reddit
reddit.com › r › expo
Expo
September 9, 2021 - r/expo: Expo: write universal native Android, iOS, and web apps with the development workflow of the web and native user experiences. https://expo.dev
🌐
Reddit
reddit.com › r/expo › how good expo is for web
r/expo on Reddit: How good Expo is for Web
November 16, 2025 -

My mobile and web app has identical functionalities and UI. There is obvious that some SDK will not be available for desktop.

I got three options

  1. Android and IOS with react native and expo

  2. Next.js or any web framework for web apps or

  3. RN Expo for both web and mobile

#1 and #2 what I always preferred but I have to duplicate or redo same things twice.

How was your experience to build both mobile and web apps with single code base with Expo?
Would you mind sharing your experiences?

🌐
Reddit
reddit.com › r/reactnative › i’m in love with expo web
r/reactnative on Reddit: I’m in love with expo web
December 18, 2019 - Expo: write universal native Android, iOS, and web apps with the development workflow of the web and native user experiences. https://expo.dev ... User Agreement Reddit, Inc.
🌐
Reddit
reddit.com › r/expo › how easy is it to convert a react native expo app to a website? (i fucked up with a client request)
r/expo on Reddit: How easy is it to convert a React Native Expo app to a website? (I fucked up with a client request)
September 8, 2024 -

Long story short, my client and I used both used the word "app" very differently. He thought I was building a web app, I thought he wanted me to make a mobile app. Now I have a fully built React Native Expo app and he wants a website. Around how much time will it take to convert this to a fully-functional website? From what I could find on the Internet, most of the logic can remain the same and only my visual designs (which are fairly simplistic) have to change. If that's true, how do I go about it? Any help is extremely appreciated as I'm 16 and potentially in some deep shit.

🌐
Reddit
reddit.com › r/reactnative › how easy is it to convert a react native expo application into a website? (i fucked up with a client)
r/reactnative on Reddit: How easy is it to convert a React Native Expo application into a website? (I fucked up with a client)
September 8, 2024 -

Long story short, my client and I used both used the word "app" very differently. He thought I was building a web app, I thought he wanted me to make a mobile app. Now I have a fully built React Native Expo app and he wants a website. Around how much time will it take to convert this to a fully-functional website? From what I could find on the Internet, most of the logic can remain the same and only my visual designs (which are fairly simplistic) have to change. If that's true, how do I go about it? Any help is extremely appreciated as I'm 16 and potentially in some deep shit.

🌐
Reddit
reddit.com › r/reactnative › unpopular opinion: expo should provide (better) support for building desktop apps instead of focusing on the web
r/reactnative on Reddit: Unpopular opinion: Expo should provide (better) support for building desktop apps instead of focusing on the web
November 14, 2024 -

Are React Native Developers really asking for expo dom components & ssr on the mobile platform?

Personally, I prefer keeping the native platforms' code as far as possible from the web's.

Top answer
1 of 5
59
Hi - I work on Expo. Our team isn't that big so we can only do so many things at once and I decided we should focus on web rather than desktop. We want to do desktop at some point but it won't be until after we are really satisfied with our web offering being as good as anything else out there. There are a couple reasons we made this choice. - There are a ton more web developers than anything else. Looking at stats, there are something like 9x-12x as many React web developers as React Native developers - Very few people ask us for desktop support. This post is obviously an exception but it's pretty rare that I hear that this a priority from people. - Most desktop apps these days are just Electron apps. Even from companies that are obsessed with being native like Linear, when they make desktop apps, they just use Electron (or Tauri or similar). People for the most part are happy with, or even prefer, to have their desktop based experiences delivered through web technologies. If you build an Expo app now, you can take the web version of it and stick it in Electron and you have a pretty good desktop app in most cases. - The landscape of native desktop is changing as Apple moves iOS and macOS closer together, etc. and as Microsoft does work on RN Windows. All that said, yeah, it would be great to be able to target the desktop platforms really well and it's part of our goal. We'll do it when we can do it well. That said, the Expo framework is open source. Jamie Birch is doing some interesting work to make Expo work on desktop. Check out his bsky/twitter to follow along with his progress. Or feel free to push this forward yourself.
2 of 5
45
No one cares what react developers want and don’t want. Facebook wants server driven UIs so the react ecosystem is delivering as it was designed to do. Also the dom solutions that you’re complaining about are specifically about ensuring that the html you send to your mobile app can be executed as though it weren’t html. Additionally desktop apps are a dead market when you realize that 70% of all internet traffic is for mobile devices. There are plenty of ways to create desktop apps, react native has virtually nothing to gain from supporting it.
🌐
Reddit
reddit.com › r/expo › life note: what i learned building my first app with react native + expo
r/expo on Reddit: Life Note: What I Learned Building My First App with React Native + Expo
April 16, 2025 -

I’ve been building a journaling tool where people can write with history’s greatest thinkers to become wiser and calmer every day. After a bunch of users asked for a mobile version, I chose React Native + Expo.

No regrets — but it wasn’t all roses. Here’s what went well, and what to watch out for:

✅ What worked well

  • Expo + Windsurf + Monorepo = cheat code Sharing a codebase between web and mobile is so powerful. With AI code editors now, I can ask it to align endpoints or sync logic across platforms in seconds.

  • Over-the-air (OTA) updates feel like web dev This is a game changer. Push updates without going through the app store — totally worth using Expo just for this.

⚠️ What to watch out for

  • OAuth (Apple + Google login) is nuanced. Expect some setup pain. With Expo, there are lots of config variables (builds, environment, physical devices). It takes trial and error to get it stable.

  • Build confusion is real Understanding app.json, eas.json, dev builds vs simulator builds, and how they impact your workflow takes some learning. As a beginner, I spent ~$96 for the first few builds before figuring out how to stay within the free tier.

  • App review times can vary a lot Apple took ~2 weeks. Google took almost a month! If you're on a timeline, definitely account for that.

  • iOS vs Android still behave differently Layout, spacing, interactions — they don’t always match. Always double check both platforms before you ship.

At last, give Life Note a try! I've built this for myself and as an entrepreneur I've been journaling with Steve Jobs and it helps a lot with my journey. Love to hear your feedback!

Web: https://www.mylifenote.ai/

Apple: https://apps.apple.com/tw/app/life-note-journal-with-greats/id6740916037?l=en-GB

Android: https://play.google.com/store/apps/details?id=com.lifenote.app

Find elsewhere
🌐
Reddit
reddit.com › r/expo › i’ve launched my first expo app! 🚀 sharing my experience building it
r/expo on Reddit: I’ve launched my first Expo app! 🚀 Sharing my experience building it
March 3, 2025 - App mock-up for Trend To Grow

I had some React (web) experience, and jumped directly into building the app with Expo React Native with Cursor. In two months, I managed to build in my free time an app with authentication (Supabase), notifications (Expo Notifications), subscriptions (RevenueCat), and connection to APIs (built with NodeJS on my server).

It is called Trend To Grow, and it focuses on giving content ideas to influencers, marketing teams, and content creators.

If you already know how to code, building React Native apps with Cursor is super straightforward. However, I feel you still need coding knowledge to be able to create a production-ready app. The biggest pain for me was handling the RevenueCat integration, and testing the local notifications.

Other parts like building the UI and Sign In With Apple were way easier to build than I anticipated.

Let me know if you have any questions! 😊

You can check it out here: https://apps.apple.com/es/app/trend-to-grow-ai-post-ideas/id6741577892?l=en-GB

🌐
Reddit
reddit.com › r/reactnative › what is the optimal workflow for a mobile + web app. (expo and next.js)
r/reactnative on Reddit: What is the optimal Workflow for a Mobile + Web app. (Expo and Next.js)
August 13, 2024 -

I’ve never used React Native before but I’ve made some projects using Next.js and I want to get into mobile development without webview. Expo seems like something I wanted to get started on but I’m confused on alot of things regarding workflow. Let’s say I’m going to start working on a Mobile + Web app.

• What are the advantages of using solely Expo for the web part apart from SEO and Server-side rendering? Is it worth using it solely over the hassle of managing two separate codebases for web and mobile?

• If I were to use two separate codebases what’s the best way to do so, so that I avoid repeating myself?

• If I make a feature in one codebase do I next focus on implementing the same feature in other? I want to know best practices regarding this.

• Where do I start developing first as my primary codebase Expo or Next.js?

I realize that some of these questions are probably stupid but would appreciate any clarity on best practices for doing something like this. Thanks for taking the time to go through this :)

Top answer
1 of 3
4
Evan Bacon (from Expo) gave a great talk about moving from web to mobile using Expo at the React Universe Conf - you can find it on the Livestream, day 2, starts at 37 minutes of the video: https://www.youtube.com/live/pfeTPSai6vc?si=Jr5lgDO8IXl4VHQl
2 of 3
2
Most of the features you have with next.js can be replicated with expo web, SEO and SSR included. It’s exactly the advantage: a single codesource for everything. There are drawbacks tho: not all next features are implemented as is in expo. I don’t know the exact boundaries of this implication, you will have to explore for your own project. you will have to make next features work the expo way (two different APIs, conflicting documentation, next-like expo projects is totally a niche so you won’t find a lot of help and both are "fresh", "bleeding edge" technologies…) react native/expo/mobile dev is headache inducing. It’s not easy to have a working android app. It’s not easy to have a working iOS app. It’s definitely hardcore to have a project compatible with iOS, android, web and SSR/SEO. Hardcore as in, you need to be a great dev with a lot of discipline. Long story short: Start with an expo project with all the compatibilities and features you desire. Each time you add a new library, you need to make sure that it works perfectly well on the three platforms. Use some kind of CI/CD so that the three versions are automatically deployed when you push something on master. It’s important because "but it works on my machine" is frequent because of the multiple layers of cache involved. You will have to be really precise when picking libs. The first rule is: don’t add a library when you can avoid it. It’s pretty frequent to see devs add libs because they seemed to solve conveniently a problem they had, but it’s not how things work in mobile apps. Half the JavaScript/react libs don’t work on mobile as is. Half of the react native libs don’t work on web. 90% of the remaining libs will definitely pose grave problems with conflicting dependencies. The second rule is: if you have to add a lib, pick one that’s directly quoted in the expo documentation. Not only the libs found in expo have qualities that might be missing out in non-expo libs, but on top of that, since expo became the de facto react native framework, maintainers focus on "official" expo libs instead of external (which die out of lack of maintenance or have a better competition built from expo side) The third rule is: If you can spend a day implementing a custom solution instead of relying on a non-expo lib, spend that day. Expo libs already bring their hastle (when updating dependencies and what not), but the core philosophy of expo is that they try and make it as painless as possible. Non-expo libs are a pain. Anyway, doing is way easier than undoing. You can easily start with an expo only project and then decide to split codebases. It’s way harder to start off with two different codebases. If you go the two codebases way, then consider tools such as nx.dev. Use nx (or other similar tools) to put as much code as possible in common. I mean, I wrote that with the assumption that your app is slightly more complex than a beginner-level project. There is no clear mark where "good practices" beat "quick and dirty", but when dealing with react native app, doing things the right way is only worth it when you are experimented, have the patience and that the project is worth it. If you wanna make a simple POC and that a few bugs/hard to refactor places are okay, go do two different code bases and copy-paste the code. Have fun.
🌐
Reddit
reddit.com › r/reactnative › creating a cross platform application. react native web vs expo?
r/reactnative on Reddit: Creating a cross platform application. React native web vs Expo?
October 5, 2023 -

Hi guys,

I am creating a fairly complex application that will have majority of its functionality on web and a separate set of functionality for mobile (bar a few features). For example most of the web features will not be available on mobile, except for the likes of in-app messaging which should be available on both. Mobile app will have a smaller subset of features that are not available (but may be in the future) on web.

I have been thinking of using react native for the mobile side and rn-web for the web app. But I am new to react native and still learning. I have just come across Expo and am thinking of using that instead but have seen some gripes about how the user experience of an Expo built app vs a RN app is worse.

What do you guys think? What are the pros and cons? I see the developer experience is easier with Expo but is the tradeoff of a worse user experience worth it? The app is complex but not extremely complex. I essentially want a fairly easy development experience with a good user experience. Not sure if the tradeoff is worth it for my customers.

Top answer
1 of 2
4
The way I see it, you've got 2 options: Have a single codebase under Expo Have 2 separate codebases, one as a traditional React project, the other exclusively as RN (expo or non-expo) In the first one, you've got the benefits of consistency in your data layers. You can share typescript interfaces across web and mobile. The downside is that you're going to end up having a lot of platform-specific code. Even if both projects are related, you said that both projects have different feature sets. That alone makes managing everything in a single project more complex, but the time savings from not having to worry about syncing interfaces and common code might negate that. You can opt for a monorepo where both projects live in the same space, but are independent projects within it. That's added complexity, but does offer a nice tradeoff when it comes to sharing code. In the second one, you have the upside of simplicity in management. You have the option to go down a non-monorepo approach (typically easier to manage in this context), and it even helps with some of the non-code tasks (i.e. ensuring developers are focused only on one project at a time). The downside is that you don't have any ability to share any code between them unless you create libraries - not a bad approach, but more clunky than the first option. In your scenario, the first option would still be preferable. I'd probably set it up as a monorepo for the sake of not having to sync up on shared code. One web project under Expo, the other native project also under Expo. If the feature set was going to be identical on both platforms, I'd not have a monorepo for it, and would instead use platform-specific logic to determine what to render and what functions to invoke. As for native side specifically, unless you have some specific native integration requirements that aren't supported by Expo, just go with Expo. You can support any native code or library you need in both Expo and non-Expo RN, but it typically requires more work in Expo unless the library is already configured to support it. With that said, most major libs which have been updated at least semi-recently tend to have Expo support.
2 of 2
2
Having just done this for a large, complex commercial app i'd STRONGLY recommend you set up a monorepo with two "apps" (one react, one rn) and write shared responsive packages for each screen/page, then have your react-navigation screens and react-router routes render these packaged components. You can use react-native Views etc for all the shared "Screens/pages" and it works beautifully, but for the actuall application scaffolding it's a total mess. Expo as a universall app platform is still way too fucking janky and expo router is a buggy piece of shit. Perhaps in a year or two expo w/ router will be worth using, but until then seriously don't bother, it took me two fucking weeks to get it working (transitioning from two separate apps w/ shared packages) and it's worse than before, I wish i'd never done it, and i'm seriously tempted to just call those two weeks a hard lesson learned and revert back to the two app setup rather than the universal app. The previuos architecture w/ the monorepo (we used turborepo, but whatever should be fine) was basically like this: ``` /apps -- /web (vite w/ react-router) --/mobile (expo w/ react-navigation) /packages --/screen-one --/screen-two ``` Each app had different ways of doing certain things, but 90% of the codebase was still shared. It was good enough and i was stupid to try to close that last 10% gap.
🌐
Reddit
reddit.com › r/reactnative › are you using expo? and why or why not?
r/reactnative on Reddit: Are you using Expo? And why or why Not?
September 13, 2022 - Expo with expo dev client and expo config plugin allows you to create your own expo go client and can focus on just the javascript side after you nail down the native dependencies. I have devs that never need to make a native build. I wouldn’t start another project without Expo. Also, expo web ...
🌐
Reddit
reddit.com › r/expo › deploying expo web app to production
r/expo on Reddit: deploying expo web app to production
October 29, 2025 -

i want to deploy my web app on a cloud provider (likely to digital ocean). i have configured app.json as

"web": {
      "output": "server",
      "bundler": "metro",
      "favicon": "./assets/images/favicon.png"
    }

i have generated the web build but what is the best way to host it?

the documentation mentions "Creates client and server directories. Client files are output as separate HTML files. API routes as separate JavaScript files for hosting with a custom Node.js server." but how to do that exactly?

🌐
Reddit
reddit.com › r/reactnative › what caused you to stop using expo?
What caused you to stop using Expo? : r/reactnative
March 4, 2024 - Yeah, funny to use RN for web, just use Nextjs. ... Thats what I said. More replies More replies ... Expo works great… until I quit and restart. Then iOS build ALWAYS FAILS. I’ve opted out of using it for this reason. I have a bit of longer setup but once it’s running it doesn’t fail.
🌐
Reddit
reddit.com › r/reactnative › is expo now recommended for creating new projects?
r/reactnative on Reddit: Is expo now recommended for creating new projects?
June 21, 2024 -

Hi, I'm reading the official docs to rebuild the app on React Native after a few months.

It used to be recommended to use expo only when building relatively lightweight projects, but in the official documentation for version 0.74, the setting for CLI builds is gone and only expo is listed.

Even if I searched, I couldn't find anything about clearly, why do you officially recommend expo, so I'm asking this question.

Certainly, is there a trend to recommend building with expo over CLI now?

My new app will require users to verify their identity (by sending a text message). Also, the app will not be lightweight by any means. Do you still recommend starting with expo?

I'm curious to hear your thoughts.

🌐
Reddit
reddit.com › r/expo › i made a youtube client web app with expo!
r/expo on Reddit: I made a YouTube client web app with expo!
June 28, 2024 -

Tubiee is my first full-stack web app.

The landing page is built with Next.js, while the app itself is developed using Expo, leveraging React Native Web support.

I separated the sign-up website and app into two codebases mainly to utilize the React Native code for mobile development later.

I am more comfortable with mobile development than web development, which is why I chose to build a web app with Expo. (Because my web dev skill is subpar.)

This approach allows me to apply my mobile development mindset to the web, which I find it easier.

The stack is Expo, NextJS, ExpressJS, Supabase, Stripe.

Learnt a lot.

Please let me know your thoughts, I appreciate it very much!

🌐
Reddit
reddit.com › r/reactnative › anyone here who successfully built production version of their app using expo?
r/reactnative on Reddit: Anyone here who successfully built production version of their app using Expo?
June 9, 2025 - Unless you are doing brownfield you should use expo, and even then you can still use expo libraries but you won’t be able to use CNG. ... Built an app for one of the biggest construction companies in Germany, it’s being used by a lot of site managers and construction clients but the most prominent one is using it in construction of an International Airport Terminal in Germany :) ... Yes i have an app in production for web and android: Web: www.quran.us.kg Goolge Play Store: https://play.google.com/store/apps/details?id=com.adelpro.openmushafnative