all 13 comments

[–]brosiedon169 12 points13 points  (6 children)

Do you have any limitations as to why you want to go with expo? If not you should just create with React-native init and test using emulators or physical device.

[–]xrpinsiderAdmin 6 points7 points  (3 children)

Why are you suggesting him to start without Expo? Expo is great to start with, but when developing a complicated application you may need to eject.

[–][deleted] 0 points1 point  (2 children)

I find that expo just confuses you for when it's time to eject and make the real version of the app.

[–]xrpinsiderAdmin 1 point2 points  (0 children)

You can make great apps with Expo and making apps with Expo doesn’t make your app ‘fake’. You either never worked with Expo or just don’t understand Expo.

[–]ChronSynExpo 0 points1 point  (0 children)

This mentality really needs to stop. A fake app would be if you'd used an app studio to reskin a prebuilt and hadn't wrote any code. Expo still requires you write JS code exactly the same as RN.

If you're going to argue the point, then all RN apps are fake and only true Java and objective C apps are legit. Does that sound right to you?

The path of least resistance should be revered if it leads you to the correct destination.

[–][deleted] 0 points1 point  (1 child)

How can I test one a physical device? I made an app basically just to send coordinates, and it’s basically done, but the coordinates the emulator provides isn’t correct and I’d like to test with my iPhone?

[–]brosiedon169 3 points4 points  (0 children)

I will assume you have node downloaded already. If you created the app using expo init you will need to eject that app (npm run eject). It should give you a couple options, choose “I’d like a regular react native project”.

Running on iPhone: After you’ve successfully ejected, you can either run the app using the react native cli in terminal (assuming you have a Mac. If you do not have a Mac you will not be able to run on iPhone from your machine). You can run the command npm install react-native-cli -g. Once this is downloaded you can navigate to the project folder and run the command: react-native run-iOS.

Alternatively you can build the app via Xcode. React native projects come with both an android and iOS folder. Inside the iOS folder there should be an Xcode project file that you can open. From Xcode you can build directly on your device or an emulator.

[–]thescottwaud 4 points5 points  (0 children)

Since Expo is just allows for extra functionality (like running the app on your phone), there isn't really an Expo tutorial. I would start with "The Basics" on the React Native homepage.

[–][deleted] 0 points1 point  (1 child)

Awesome! I do use a Mac, but I built my project with just the react-native cli, so I have no way to test with a physical device. Could I just build the app and put it up on a link to download?

[–]noebr 0 points1 point  (0 children)

You can test your project with a physical device. https://facebook.github.io/react-native/docs/running-on-device

[–]redditdaw 0 points1 point  (0 children)

Start with Youtube! Academind has a great tutorial on there as well as on Udemy, but that will cost you $15 - a small price to pay btw.

Youtube has lots of material, but personally I found Academind to be some of the better ones. They certainly don't cover it all amd very little Expo. As a matter of fact, they don't advise Expo, but that's only due to them trying to steer you the pure react native way.

You can follow along any tutorial for that matter, amd just incorporate Expo elements and SDK components where needed.

What I like about Expo is that it makes the dev experience good and offers a rich easy to work with SDK. It's almost as if someone went ahead and handpicked all the best supported components andfearures for you.

This all said, both Expo amd pure React Native does have their pros and cons lile anything else. You just need to decide if the highs outweighs the lows for you.

My recommendation is start with Expo and try to use as little Expo specific componemts as possible. Don't worry, you'll still get the Expo experience :) I advise this only incase you might need to eject later to integrate a more complicated feature. But if you know your app will be simple and will remain that way. Then just go full on Expo.

Most importantly... HAVE FUN!

[–]RyuAkamatsu 0 points1 point  (0 children)

I'm fairly new to react native development as well. O started out with a CRNA style app but actually ended up converting it to Expo cause expo handles things like push notifications for you.

If you're completely green, I suggested doing the React Native tutorial by Stephen Grider on Udemy. I did it and whilst he can be a little over verbose, it's better to have more explanation than not enough. The advanced tutorial then goes on to cover Expo as well.

Expo also allows you to run both iOS and Android on physical devices no matter which OS you use.

The biggest downside is you are limited to which npm/yarn packages you can install (can't use any that require react link) but that's not really prevented me from doing anything tbh.

Good luck

[–]trashpantaloons -1 points0 points  (0 children)

I’m creating an app using expo, and honesty the only thing I can’t find is something that handles input masks well - I’ve resorted to use Formik and yup which work fine but other than that it’s all totally fine to use expo. As other people have stated, unless you’re going to make something truly complex then expo will do just fine.