Newbie Question About Converting Existing Projects


#1

I’m in the process of finalizing my decision about the tools and technologies I’ll be using for building mobile apps.

I really want to go with React Native because I already know React/Redux - and I love them - so the big question is the tools to use - btw, I’m on Windows 10.

I noticed under FAQ that expo “converts” existing React Native projects to Expo. What exactly are we converting? I really like staying as pure and clean as possible without too many abstraction layers in the middle which can obscure my ability to understand what’s really happening for things to work in the app.

I’d appreciate a bit more clarification about what’s really happening in the conversion process and what Expo is adding to the existing project.

Thanks,
Sam


#2

Hi, sorry for the delay in responding here.

Expo apps are React Native apps which include the Expo SDK. Here’s some info from our docs about what that means.

So when we convert, we’re just making the changes needed to integrate with that SDK. Most of your code would stay the same. References to unsupported native modules will break. A couple semantic changes happen, like the switch from AppRegistry.registerComponent to Expo.registerRootComponent.

Practically speaking, everything you know from React and Redux should carry over just like in a normal React Native app. The main difference is that a big set of APIs are available which you wouldn’t normally have access to. There are a few other differences for specific topics, like the way we handle assets, push notifications, and code push.

Probably the best thing for you to do would be to check out some of the code in our new project template and see if it strikes your fancy, since that is highly representative of what Expo projects look like.


#3

Hi @ben I have a question on the similar line. I have an app which is live on both play store and App store. Now, I am considering using expo xde to create a new app and then later integrate that with my native code.
My question is, is it feasible to do so? I went through the official documentation of react native and they do specify that it is possible to integrate existing app with react native. If i use expo and then detach my app, how do i make sure that my existing app is in sync with the play store/ app store versions?
I know it sounds a little dumb, but i want to make use of expo sdk so that i can use your amazing facebook authentication and Mapview functionality etc.


#4

@rahls7 With Expo if you really need to you can “detach” and use ExpoKit, which is a native library that you can use in a regular Xcode or Android project.

There are docs about detaching here: https://docs.expo.io/versions/latest/guides/detach.html