Live data from Hacker News

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

github.com

91–100 of 172 posts

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

#91

As a designer specialising in mobile apps, I have to say nothing still comes close to native codebase experience. Expo & RN is fantastic for MVP (and I've been a super early adopter of RN back in ~2014). But once you start building anything serious, you will very quickly start hitting the walls. As an example, some time ago, it was impossible to implement those iOS large headers that shrink to small once you start sc…

It’s possible to do all this stuff in RN - you just need good native bindings to the features

Stuff like the iOS 13 page sheet modals being broken is still an issue - but there’s a set of present/dismiss callbacks in the modal manager you can override in your code to fix it

Not sure if you meant page sheet controllers for iOS 15 (the ones that let you pin it half way up). There have been implementations of this, but they all suffered from a kind of crappy animation when you overstretched the page past its allowed limits. iOS would normally force a layout, then animate between the last layout and the new layout. But since RN’s layout is asynchronous, iOS couldn’t perform the animation and it looked sloppy

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

#92

I used to maintain Detox for iOS when I was at Wix, from 2017 to 2021. We ended up dropping support for Expo for plenty of reasons, some technical, some "political". The people reporting "issues" (more like asking questions) for their Expo apps, usually had very little technical understanding of any of the increasingly thick environment stack (the Expo layer, RN layer, UI framework layer, OS layer). They were basical…

Expo was really lackluster when I last worked with react native around 2018/2019. I hear it has gotten much, much better now but I haven't tried lately

It has. I built an app using Expo several years ago and recently had to update it. Upgrading expo was a pain (as it always is) but the changes and additions in the latest version made so many things easier. And with custom clients, you can do a lot more now than you could before without ejecting.

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

#94
post #7

Earlier quoted context omitted.

Not true anymore. You can use their build service (EAS) to create app and dev client for custom libraries without ejecting

What if you need to do configuration in Xcode?

I believe you could do it by writing a config plugin[1] that will apply the desired config changes to the native project files. Expo will apply the config from plugins when they are building the native app for you.

(Disclaimer: I use Expo at work for cross-platform app including web but never wrote my own plugins)

[1]: https://docs.expo.dev/config-plugins/plugins-and-mods/

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

#95

I used to maintain Detox for iOS when I was at Wix, from 2017 to 2021. We ended up dropping support for Expo for plenty of reasons, some technical, some "political". The people reporting "issues" (more like asking questions) for their Expo apps, usually had very little technical understanding of any of the increasingly thick environment stack (the Expo layer, RN layer, UI framework layer, OS layer). They were basical…

I learned a while ago that is not worth using an abstraction layer over the official tooling (whatever Apple and Google provides you), even for small apps I was building one for each platform (as one dev).

Tried at the time Xamarin and PhoneGap, and bit later RN, each one has his quirks and things that works in one platform but not in other so in the end you end up building one app for each platform more or less, but with more bugs than the official ones.

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

#96
post #72

I just want to write Svelte and get native apps out the other end. I know we have SvelteNative but that's not great and is a big abstraction. React here is a bit of a bummer i'm not going to lie.

This sounds like the inevitable slow death of RN to me. Web developers simply moving on to new tech that's better/more common on the web while RN languishes as the massive set of open source libraries required are abandoned

Don't confuse HN bleeding edge hipser tech with the real world. The world of react-alternatives is fragmented and lib-incomplete, React still gets more installed than its most popular rivals combined[1].

I have worked across these frameworks and React is the only one where I find the lib ecosystem satisfiyingly large (and still growing most steadily).

[1] https://npmtrends.com/@angular/core-vs-react-vs-solid-js-vs-...

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

#97
post #90

I’m primarily a web developer that’s long been interested in native mobile environments and after trying out many of these cross platform frameworks (all the way back to Appcelerator for those who remember!) my conclusion always ends up that they’re almost always a bad idea. The experience is inferior to native, it’s full of compromises to make cross platform work and you’re at the mercy of a company standing between…

I remember Appcelerator. In fact I'm still using it to this day. The core Titanium is now open source and the Apps are "true" native. Give them another look and you may be surprised: https://titaniumsdk.com

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

#98

Earlier quoted context omitted.

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?

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

#99

As a designer specialising in mobile apps, I have to say nothing still comes close to native codebase experience. Expo & RN is fantastic for MVP (and I've been a super early adopter of RN back in ~2014). But once you start building anything serious, you will very quickly start hitting the walls. As an example, some time ago, it was impossible to implement those iOS large headers that shrink to small once you start sc…

It’s possible to do all this stuff in RN - you just need good native bindings to the features Stuff like the iOS 13 page sheet modals being broken is still an issue - but there’s a set of present/dismiss callbacks in the modal manager you can override in your code to fix it Not sure if you meant page sheet controllers for iOS 15 (the ones that let you pin it half way up). There have been implementations of this, but…

If asynchronous layout were the culprit, presumably that's the precise type of issue that react-native-reanimated solves? It seems to me that the experiences created via react-native-reanimated run quite smoothly indeed. Of course, the developer still has to reimplement interactions otherwise provided by iOS etc, but React Native should not be a reason for things like sloppy interactions.

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

#100

Earlier quoted context omitted.

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?

https://github.com/expo/eas-build

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