If starting today, use expo. You can access native code with expo’s latest version, development clients and config plugins. Answer from ctrlshiftba on reddit.com
🌐
Reddit
reddit.com › r/reactnative › need honest opinion on react native cli
r/reactnative on Reddit: Need honest Opinion on React Native CLI
June 9, 2025 -

Hi everyone,

I'm currently focused on React and recently started learning React Native. I'm using the React Native CLI, not Expo, because I want more control and flexibility — especially for things like native modules, which are often needed in apps with stricter requirements (like banking apps or apps needing deep system access).

However, I'm finding it difficult to get solid, production-level resources or guidance on how things are done in the real world with the CLI. Most tutorials are either Expo-based or too surface-level.

I'm especially confused about:

  • How production teams manage native modules with CLI

  • Best practices for integrating native code (e.g., root detection, biometric auth, security layers)

  • Folder structure, tooling, and setup used in professional teams

It would mean a lot if someone with real-world experience in React Native (using CLI) could share:

  • How you approach app architecture in production

  • Any recommended tools/libraries

  • Tips or gotchas for working with native modules

  • Resources that helped you learn beyond the basics

🌐
Reddit
reddit.com › r/reactnative › what do companies use? (expo or cli)
r/reactnative on Reddit: What do companies use? (Expo or CLI)
November 2, 2023 -

I am trying to develop an app and am not sure which to use. I know Expo is easier and quicker but you can't access native elements. But there should js lib to do most things. Or should I just start using CLI and if I use CLI would I still be able to write on code base and get an app that works for both ios and android?

Top answer
1 of 17
56
To answer your question to the best of my knowledge: large companies use CLI simply because their apps are far more hybridized than hobbyist apps. Many of them, for efficiency reasons or compatibility reasons, have lots of custom native code in their projects. As for this sub, I honestly don’t know where to guide you to but this sub has become a giant expo ad. You will receive extremely biased opinions all favoured towards expo. I’ve been developing RN apps for a few years. I’ve used both, but I prefer CLI simply because I am closer to the native side and I have learned native development and how RN itself works. I understand the build errors and release processes etc. if you’re a beginner keep in mind that you may be hindering yourself of that same knowledge if you stick with expo. Now Expo is great, but keep in mind that it doesn’t change how RN works. Despite what many say, there are obviously limits to what you can do. If you cannot trust yourself to debug native code which may arise when using the CLI, think carefully if you can fix issues which may occur when ejecting a working project. Also think about your project requirements. If it doesn’t have third party support from expo, Ide go with CLI. If you want to learn RN, go with CLI. If you want to develop a quick simple app, Ide go with Expo. Sorry about this long rant. I’m just a bit fedup about this expo cult thing that’s been going on recently.
2 of 17
31
If starting today, use expo. You can access native code with expo’s latest version, development clients and config plugins.
🌐
Reddit
reddit.com › r/reactnative › expo vs react native cli for production grade project in my office – need advice
r/reactnative on Reddit: Expo vs React Native CLI for Production Grade Project in my Office – Need Advice
September 5, 2025 -

Hi everyone,

I'm currently the only mid-level React Native developer in my office. So far, most of my professional work has been with React Native CLI, although I've recently explored Expo through some hobby projects.

Now, as we plan to start a new project, there's an internal discussion about whether we should go with Expo or stick with the React Native CLI. Since I'm leading the decision from the development side, I’d love to hear your insights.

So What would you recommend and why?
I’m looking for well-rounded arguments – performance, ease of development, scalability, build process, maintenance, third-party packages, or anything you want to add.

Would appreciate input from anyone who has made this decision recently or has worked with both in production.

Thanks in advance!

🌐
Reddit
reddit.com › r/reactnative › react native cli or expo
r/reactnative on Reddit: React Native CLI or Expo
June 1, 2024 -

I'm new to React Native and unsure where to begin. While React Native CLI has a good number of installations, Expo seems more straightforward, with a simple installation process. However, as I delved into Expo's documentation, I noticed a significant number of issues reported on GitHub, which has left me uncertain about whether to choose Expo or React Native CLI.

🌐
Reddit
reddit.com › r/reactnative › should i start building on react native cli or expo?
r/reactnative on Reddit: Should i start building on React Native CLI or Expo?
May 26, 2025 -

I don't have any experience with React Native, but I volunteered for the role of a mobile application developer at a startup. The startup is a platform designed to help event-based communities coordinate online. It allows users to publish events, classes, and gatherings once and display them across various online communities. I need to build an application for both iOS and Android for this platform.

I’m unsure whether I should use the CLI or Expo for the project. The approach I'm considering is starting with Expo and then later ejecting to the CLI if needed.

I need to implement features such as:

  • Mapbox with Marker Clustering

  • Background Location Tracking

  • Geofencing / Proximity Notifications

  • Check-in Functionality (with real-time location updates)

  • Friend Location Sharing

  • Advanced Push Notifications (interactive, deep linking)

  • Offline Map Tiles

  • Advanced Crash Reporting (Sentry/Firebase Crashlytics)

  • Image Optimization API (dynamic resizing, compression)

What do you suggest as the best workflow for this project?

🌐
Reddit
reddit.com › r/reactnative › thoughts on rn and expo cli
r/reactnative on Reddit: Thoughts on RN and Expo CLI
July 6, 2024 -

Hi!

I’ve been a React Native developer for only 3 and a half years, so relatively new, and I’d like to share my opinion based on my experience regarding the choice of using React Native CLI over Expo CLI, mainly to understand what people think about it.

I know this topic has already been discussed countless times, but the fact remains that a lot of new developers face this crossroad at the beginning.

Until a few years ago, due to some limitations of Expo, it was actually very reasonable to debate the actual convenience of using React Native CLI over Expo CLI (which is also the reason why I started with React Native CLI), but now everything that can be done with React Native CLI can perfectly be done with Expo CLI as well. I recently had to work on a React Native project using Expo and I was quite surprised by its simplicity. I realized how using Expo makes the developer's life easier from every point of view. At the same time, however, I believe that having an idea of how a native Android and iOS project works and is actually structured is quite important for a mobile developer, and Expo completely abstracts away that part.

So, on one hand, I am attracted to the convenience that Expo brings to the development experience, but on the other, I am a bit hesitant about completely losing touch with what is at a lower level. As a mobile application developer, speaking from a professional standpoint, I do not rule out the possibility of developing mobile applications natively with Kotlin or Swift in the future, or even switching frameworks altogether.

For this reason, I remain more inclined to use React Native CLI rather than Expo. Maybe my concerns are just unfounded... I would still like to know what you think about it

Cheers :)

Top answer
1 of 5
20
I've used RN cli professionally for 7 years and just started a hobby project with Expo to see what the fuss is about. A lot of things work out of the box fine. Some things do feel cumbersome because my existing toolkit is not compatible and I have to figure out how it works with Expo. I like that it is less steps to install Expo modules. I dislike that they try to push you towards their paid build service to do releases. I'm used to managing my own pipelines and want full control over that. I'll continue evaluating Expo, but I'm not fully convinced yet.
2 of 5
9
Well, RN itself is an abstraction over Android and iOS development. It’s not like you can say you’re an iOS/Android dev if you only know RN. And it’s not like working with expo you won’t ever need to touch the native side of your project. For example I had to write a native module in one of my expo projects, simply because existing solutions didn’t quite work well or were outdated for my specific use case. And I also had to write a few custom plugins, because I needed to add some stuff my Podfile/build.gradle. Doing stuff like this, will make you learn about the underlying Android/iOS abstraction. In the end the philosophy of both expo and RN is to write code once and not worry about all of the complicated stuff which is tied to native iOS/Android development. But if you’re curious, want to broaden your knowledge and know how stuff works inside and outside of Android/iOS or both, then go ahead. That’s also a totally valid thing to do
🌐
Reddit
reddit.com › r/reactnative › expo vs react native cli
r/reactnative on Reddit: Expo vs React Native CLI
April 10, 2020 -

I was asked to setup a react native project for my company, which will be probably mantained for long and thus i have to do it properly. My question is: should i go for Expo or Cli? My answer would be CLI from what i understand now, since expo could lead to some limitations at some point and i don't want that to happen. On the other hand, Expo seems much simpler and many tutorials i see use it instead of CLI. What's your take?

Find elsewhere
🌐
Reddit
reddit.com › r/reactnative › expo or react native cli for building my app in 2024
r/reactnative on Reddit: Expo or React Native CLI for Building My App in 2024
September 10, 2023 -

Hey everyone,

I'm diving into app development and I'm torn between using Expo and React Native CLI. I'm aiming for a smooth process that lets me build for both iOS and Android without too many headaches. I also want the flexibility to add custom native modules down the line if needed.

Here’s what I’m looking for:

  • Fast and easy development

  • Access to common mobile features like camera, contacts, etc.

  • Flexibility to integrate native modules

  • Seamless build and deployment process

Any advice on which path I should take? I'd love to hear your experiences and recommendations!

Thanks a ton!

🌐
Reddit
reddit.com › r/reactnative › expo or react native cli
r/reactnative on Reddit: Expo or React native cli
June 19, 2022 -

I have recently started app development on react native. I already have experience developing apps in flutter and web development in react js. I am currently going through various tutorials and found some tutorials suggesting react native cli over expo go... Although I have been following on this subreddit since a long time and I have observed many devs preferring expo. Please tell me what is more preferable as I'm supposed to build a payment application with additional support for crypto for a client.

🌐
Reddit
reddit.com › r/reactnative › lets end rn cli vs expo !!
r/reactnative on Reddit: Lets end RN cli vs Expo !!
June 24, 2023 -

I don't understand why people are always talking about RN cli vs Expo.

To be clear, I haven't ever used expo and in this post I wanna know why compare at all ?

So here is what I know of Expo and RN cli.

  • While using RN cli you would use 3rd party packages or write your own and bridge it natively. But then why bother when you're getting a nice written logic with good quality open source package.

  • Expo on the other hand, provides its own most used packages and If I'm not wrong, it lets you use 3rd party packages as well.

  • Wait, RN cli also supports Expo packages.

So, now I am confused, if both are compatible with 3rd party packages and expo packages.

  • Then why compare at all ?

Providing packages out of the box can't be the primary and convincing reason use Expo.

  • So why use Expo anyway ?

Top answer
1 of 5
21
i suggest that you go and search more on the topic I'm just like you a RN CLI since a long time , but recently Expo has been doing really good firstly with expo , the process of updating libraries is taken by expo , on the other side updating RN can take really too much time and can be a hell of a problem expo will manage the android and ios folders and the build so it's more fast , and you don't have mostly and packages problem or build problem especially with plugin config where you can even change the native code with expo lastly many of the big names in the community are working with expo now that's giving me all the motivation to at least try it and maybe migrating to expo
2 of 5
7
For me I like the flexibility expo provided. If you don’t need any extra native modules then you can get away with never truly worrying about the native layer. If you need basic react native modules then they will just work with prebuild and you use continuous native generation. If there is an expo config plugin you can still use continuous generation. The only time prebuild falls down is if there isn’t an expo config plugin. But even then if you’re okay with manually putting your native code in every upgrade then prebuild is still on the menu. At my company we don’t use prebuild but we inherited a RN project that was originally CLI and we are moving to expo. Now all that is just my perspective. I have mostly only used expo when I first joined we was CLI only but I didn’t do much outside of react code back then. I did get the opportunity to chat with Jamon from Infinite Red. They are a react native consulting firm and help clients like Expensify migrate to RN. I asked him if given a greenfield would he choose expo or CLI. With zero hesitation he said hands down expo not even a question. So I’m not sure my opinion means a whole lot but Jamon is a respected industry expert whom I truly value his opinion.
🌐
Reddit
reddit.com › r/reactnative › "react expo" or "react native cli" ?
r/reactnative on Reddit: "REACT EXPO" or "REACT NATIVE CLI" ?
June 27, 2019 -

Hi, I really like to ask this question to you guys, please guide me here thanks. This is my question what setup do you guys recommend for react native development. Using "React native EXPO" or "React Native CLI"? Thanks, guys :)

🌐
Reddit
reddit.com › r/reactnative › do you recommend me to use expo or react native cli (with some needs)?
r/reactnative on Reddit: Do you recommend me to use expo or react native cli (with some needs)?
April 7, 2022 -

Hello everyone, I would like to ask for a recommendation on whether to use expo or react native cli. I have these needs:

- I must with Firebase to use FCM

- I must connect with graphql

- I must be able to use firebase or auth0 authentication

- I should receive push notifications

🌐
Reddit
reddit.com › r/reactnative › need help in installing react native cli app setup
r/reactnative on Reddit: Need help in installing react native cli app setup
July 14, 2024 - 1 how to install specific version 2 a general doubt is MainApplication.java has been replaced by maiApplication.kt (kotlin files) in latest version of react native? 3 are most of npm package which involves changes in mainapp java files are having steps to do same in malli application kotlin files also? I am not using expo this is for cli.
🌐
Reddit
reddit.com › r/reactnative › tried expo for the first time after 8 months on react native cli... wow!
r/reactnative on Reddit: Tried Expo for the First Time After 8 Months on React Native CLI... Wow!
November 21, 2024 -

I was helping out a facebook friend with his project and ended up trying Expo for the first time. Man, Expo is ridiculously easy to work with! After spending the past eight months on React Native CLI, constantly dealing with configurations, dependency handling errors, and all that headache, switching to Expo felt like a game-changer. No more stressing over linking dependencies or breaking builds—it just works! With EAS (Expo Application Services), I realized I can even use third-party libraries that don’t have built-in Expo support by making a custom build using EAS Development Clients.

At first, I thought Expo had major limitations, like not supporting certain libraries or having strict build restrictions. But I found out that if a third-party library doesn’t work with Expo Go, I can still use it by creating a custom development client with EAS. I can test and debug locally using expo run:android or expo run:ios, and when it’s ready, I can build it with EAS Hosting. The free EAS tier does have some build limits, but I can still build locally when needed.Did I get this right? Are there any downsides to using Expo long-term compared to React Native CLI?

🌐
Reddit
reddit.com › r/reactnative › expo 42 or react native cli
r/reactnative on Reddit: Expo 42 or React Native CLI
May 25, 2019 -

Hi all,

I am a newbie in React Native world and need advices regarding to creating react native app template.

My background, I am a experienced ReactJS developer.

On the React Native website https://reactnative.dev/docs/environment-setup it shows two possibility how to create apps, namely EXPO CLI or React Native CLI.

I find that EXPO CLI is more beginner friendly and React Native CLI is more advanced. EXPO is not always support the newest version of React Native, for exmaple EXPO 42 supports React Native 0.63. With EXPO, you always depends on EXPO team about releases and that is kind of drawback for me.

My question is, should I go with EXPO CLI or React Native CLI?

Thanks