Live data from Hacker News

Expo – Open-source platform for making universal apps for Android, iOS, and web

github.com

41–50 of 172 posts

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#41
post #36

I've been using Expo for past 2 years and I enjoyed the experience overall. But make no mistakes that Expo is a SaaS with the ability to inspect some part of the codebase. (I stand corrected here) ~Everything important for building and distribution process is moving to EAS, cloud-based service that is not open-source and cannot be self-hosted. So if want to build your app using your own VPS, you are out of luck (at l…

You can use the `--local` flag to build on your own computer/CI/VPS. `eas build --local -p ios --profile production` can locally build you an iOS bundle. Don't expect it to work out of the box, though. Your machine should have all the XCode tooling correctly installed and configured. Works for Android as well.

Thanks. I wasn't aware that eas build works locally as well (since they deprecated expo build).

Is the build job also open source somehow?

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#42
post #9

That just sounds like React Native with extra steps.

It's RN with less (or I guess different) steps, actually; you can skip the bit where you have to manage and build the native parts of your apps, even though with RN that's already minimal, manageable and works out of the box. generally.

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#43
post #30
post #15

Tbh, I liked expo, but since you cannot build locally nowdays (you can eject and build, but that won't work 99% of the time, literally didn't work for me on the hello world example), I kinda just threw it in the "cool, but won't use" bucket for time beeing :/, could change in the future, but I don't know how I feel about 3d party service (EAS) building my app and holding my signing certificates (yet)

Based on our experience with, well, everything, even if local build is currently possible, we KNOW it's going to be removed later on.

Would be nice if an expo dev could assure us that this won't happen and also remove the dependencies for them while building

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#44
post #15

Tbh, I liked expo, but since you cannot build locally nowdays (you can eject and build, but that won't work 99% of the time, literally didn't work for me on the hello world example), I kinda just threw it in the "cool, but won't use" bucket for time beeing :/, could change in the future, but I don't know how I feel about 3d party service (EAS) building my app and holding my signing certificates (yet)

FYI I've made a patchset that pretty much allows me to actually use the EAS --local builds offline and without an EAS account, so it's in fact possible, even though they, for obvious reasons (e.g. https://github.com/expo/eas-cli/issues/1606), don't encourage it.

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#45
post #18

Earlier quoted context omitted.

You can build locally without ejecting; just throw the --local flag on the end of your eas build command This does what EAS would do, just on your local machine. If you remove the --local flag, it will send it up to EAS to do the build. eas build --profile develop --platform ios --local

yes, you are right, however, AFAIK you still need to be logged + have it linked to eas project (because it uses eas credentials) + this method is planned to be deprecated soon [?] (I'm 100% sure I read stuff like this when researching it like half a year ago, but cannot find it for the love-of-god atm :D, but I would like to be proved otherwise, because the build step is the only thing I disliked about expo long-term…

I think your commands are kind of muddled. By `npm run export`, I assume you are referring to `expo export`? That is responsible for bundling your app for OTA updates. `expo build` is the deprecated method for building your Expo app with the old ExpoKit native shell app. Only `eas build --local` is the actual command for locally building your app.

Perhaps the issue you're thinking about was what I linked to in my other comment?

By my own thinking, I believe it's quite unlikely that Expo will ever manage to actually totally remove support for local builds, even though they probably will never encourage it; as otherwise, its really quite impossible to debug native builds, and indeed local builds are Expo's recommendation for debugging such issues. With regular React Native native dependencies now possible in Expo, a dizzying new array of hard to diagnose bugs can now be triggered, and its unlikely Expo is ever going to go back on their support for arbitrary native dependencies.

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#48
post #18

Earlier quoted context omitted.

yes, you are right, however, AFAIK you still need to be logged + have it linked to eas project (because it uses eas credentials) + this method is planned to be deprecated soon [?] (I'm 100% sure I read stuff like this when researching it like half a year ago, but cannot find it for the love-of-god atm :D, but I would like to be proved otherwise, because the build step is the only thing I disliked about expo long-term…

I think your commands are kind of muddled. By `npm run export`, I assume you are referring to `expo export`? That is responsible for bundling your app for OTA updates. `expo build` is the deprecated method for building your Expo app with the old ExpoKit native shell app. Only `eas build --local` is the actual command for locally building your app. Perhaps the issue you're thinking about was what I linked to in my oth…

Yeah, afaik, in the old template version `npm run export` activated the `expo export` and THAT got deprecated (recently), however at the time (about half a year ago) I thought that the `--local` flag was getting deprecated. Sorry, that was a huge misunderstanding on my end!

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#49
Expo has an impressive team and investor backing

However, making your apps depend on a framework has the following dangers:

- the framework might stop being maintained

- the vc-backed framework might need to become monetized beyond your means

At the end of the day, all these frameworks offer are convenience APIs to easily integrate with native things like push notifications or social sign-ins

However, even when these work, they will force you to do things their way, and you won't be able to fully customize your app

Learning how to do these things natively in iOS and Android requires extra effort but pays off in the long term. Using frameworks, the time saved in the beginning of your app development journey will be greatly offset by the extra time required to do things like editing framework output in each build towards the end of your journey

Re: Expo – Open-source platform for making universal apps for Android, iOS, and web

#50
post #34

I've used Expo going on 3 years now, their development team is incredible. There are very few reasons to use base react-native over Expo anymore; They make upgrades to new RN versions easier, can support any custom native libraries, have an awesome build service (EAS), support OTA updates, their docs are great... I could go on and on. If you're a RN dev and haven't tried out Expo in the past year I highly recommend g…

I haven't used react native in years. Expo at the time felt like a shitty add-on trying to capture some part of the app development process but I didn't feel it added anything. Sounds like I s gotten a lot better and found an actual usecase. I'll have to check them out again.

I love these real takes. I had the exact same experience trying to get into React Native and Expo, eventually just decided to write native apps if I ever get into app dev.
Post reply on HN