Eject from Expo and come back again to it - react-native

I am working on a mobile application in Expo and after I reached to 30 percent of progress in my project, I realized that I can not use Mapbox libraries with Expo.
So My question is that, if I reject from Expo and write my Mapbox related codes in React Native, after that can I come back again to Expo to develop the rest of the project in that?

You can eject your project with Expo kit. So you can work on native code and expo modules too.

after that can I come back again to Expo to develop the rest of the project in that?
No, you can't go back again to the expo is not reversible

Related

How to measure react native (Expo) app startup time?

I have an Expo hybrid app (Managed workflow), running on Expo SDK v37 (React Native v0.61).
I'm struggling to find the best way to measure the time it takes from the moment when the user starts the app until the splash screen disappears.
How would you approach this?
PS: I would use Firebase Performance Monitoring instead, if it was available for Expo Managed apps. But it isn't yet.
Basically I see two approaches:
For pure react-native projects you can use react-native-startup-time library.
However I'm not sure, whether you can just add this library and start to use it, since it's required linking.
But in any case you can eject your project and add this library.
If you don't want to eject expo project I can suggest you to update your project to SDK 38. It has support for RN 0.62.2 and flipper integration as well. So you can setup flipper-plugin-react-native-performance and check the performance.
I hope I helped a bit.

Expo - Build in local

I have a question and I didn't find a clear answer.
It's possible to build android and iOS app in local ?
We can build the application with expo build:android and expo build:ios but these commands need an account and send the source code in server of expo.
I see it's possible to eject the app and folder android and iOS are created but after that I keep the possibility to develop with expo ? If I modify a javascript code I can recreate again the android and iOS folder ? or I need to develop in native code ?
Thank you for your answers !
As far as I understand your question, If you eject the app, you can't develop with expo. But, you can keep editing in javascript. There is no necessity to develop in native code.

How to transfer EXPO project to React Native project?

I build an app with Expo tool .. but now I what to move to react native without expo .. I tried to just create a new project in react native and then transfer the code that I had written and install components that I had used in my app .
the app with Expo work as expected put with moved to react native without Expo works as unexpected and crashes.
you don't need to transfer the code like that, the expo provides us to detach our code from expo to without expo react-native projects.
please refer to this link expokit eject
if you want to use expo API in your project then you can detach your app using detach-with-expokit.
use expo eject to add ExpoKit (choose the "ExpoKit" option).

differences between create-react-native-app and exp init

I found that create-react-native-app is based on expo. but when using exp-cli, it is also based on Expo.
what are differences between create-react-native-app and exp init ?
Updated answer:
create-react-native-app was replaced by expo-cli.
https://docs.expo.io/workflow/glossary-of-terms/#create-react-native-app
Answer to this question is well documented in expo documentation
Expo & "Create React Native App"
Create React Native App lets you build a React Native app without any
build configuration. This may sound familiar to you because Expo does
this as well -- when you create a project with XDE or exp you don't
have to deal with Xcode or Android Studio configuration files, it just
works. This guide is intended to outline some of the key differences
between Expo and CRNA (create-react-native-app).
CRNA does not require you to have an Expo account
You can run create-react-native-app YourAppName and off you go. So what does not
having an account mean, and what would signing up and using XDE/exp
get you -- why do we require it with Expo? Having an Expo account
allows you to do the following:
Publish your project to a permanent URL, eg:https://expo.io/#community/reactconf2017.See Publishing on Expo for more information.
Build binaries for app / play store distribution. To do this with CRNA without using Expo,
you would need to run eject.
There are advantages and disadvantages to either:
React Native app advantage:
You can add native modules written in Java/Objective-C
React Native app disadvantage:
Needs Android Studio and XCode to run the projects
Expo advantages:
Setting up a project is easy and can be done in minutes
Expo can build .apk and .ipa files
You do not need simulator to run your app.
Expo disadvantages:
You can't add native modules.
Your final app will bigger with expo init than with react native app init.
I suggest you read this:
https://docs.expo.io/versions/latest/introduction/why-not-expo

Expo RN: Detach vs Eject

I currently have an app built in React Native using Expo (create-react-native-app) that needs some native code. As I understand one has two options for dropping down to pure react native, ejecting and detaching. Seeing that I have already have used a fair amount Expo API's up until this point, I must detach to ExpoKit. Is my understanding correct that if I purely eject (as opposed to detaching to ExpoKit) the current Expo tools I have used wont work?
Appreciate any feedback!
Seems that there is no difference between Expo Eject and Expo Detach - eject is just the new name used...
See https://forums.expo.io/t/ejecting-vs-detaching-to-expokit/16295/2