Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


> Your machine should have all the XCode tooling correctly installed and configured. Works for Android as well.

I mean that's the case for the 'regular' React Native workflow as well, and most mobile / crossplatform development. That said, yeah getting RN running is a bit more effort compared to Expo, but it allows for a bit more flexibility.

We decided against using Expo because we had a number of 3rd party dependencies (trackers, analytics, chat, sigh) that had native components; it can work with Expo, but the dependency has to implement support for it, and that was a bit all over the place.


AFAIK using -—local still requires an eas account though.


It does. It's possible to make a patchset that lifts this restriction, though. If you're interested, I'd be willing to make it available.


The Expo setup that I use never calls into Expo servers at build time. For OTA updates, I've managed to get my self-hosted Expo update server working too, although I'm not using it at the moment, as its incompatible with the React Native New Architecture (it's the last expo package to lack this support - hopefully they'll add it soon).


Do you have the self hosted OTA open-sourced? I tried implementating it, but it didn't work for some reason.


Unfortunately my update server contains a bit more stuff which I'm not planning to clean up at the moment, but the logic of the update server really is taken right from their https://github.com/expo/custom-expo-updates-server repo. Perhaps you were blocked by this https://github.com/expo/custom-expo-updates-server/issues/12 ? If so, its been fixed in the meantime, perhaps it works for you now?


Just to make sure: if the company goes bankrupt, will I be able to continue releasing updates etc.?


The Expo Updates protocol is an open standard specified here https://docs.expo.dev/technical-specs/expo-updates-1/

The hosted services offered by the Expo team called EAS has an implementation of an updates server that conforms to that protocol. If EAS went away or you wanted not to use EAS, you could write and operate your own server that conforms to the protocol instead.


please do so, I would like to build it totally local and when I realize that outsourcing the build to the EAS cloud saves more time and money I will switch later, that sounds like a nice way to get more people use Expo.


I've put a link to it on my other comment. Hope it helps.


I believe it still uses EAS for certificates by default. You can use "prebuild" to get the ios / android directories. Alternatively start a React Native app and install their modules separately. These options still work well but require a lot more setup.


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?



Thank you very much and I'm glad you were able to get it working without the cloud stuff.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: