Live data from Hacker News

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

github.com

71–80 of 172 posts

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

#71
post #34

Earlier quoted context omitted.

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.

Yea, felt the same but haven't used react native for years either. Some concrete examples: - Generally a poorer developer experience (bugs, bad documentation). - Couldn't use some popular/common react native packages. It needed to be compatible with Expo, and there was an expo specific version to use the camera for example. These would have different (and more) bugs. Trying to use any unsupported packages meant eject…

Last time I worked with Expo, the main historical reason for ejecting (custom native modules) was all but eliminated by the config plugin system. We actually ejected at one point, but rolled back that change once we realise the plugin system could do everything we needed.

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

#73
post #51

Slightly off-topic: how practical is it really to build devices (iOS and Android) and web from the same code base? My poor understanding is that React Native, and hence Expo, doesn't use the same CSS frameworks as web development. I'm curious how that works from the same code base, or perhaps that's one of the major difficulties. Also I see Expo as a fancy build framework but it's still fundamentally a RN application…

It has become very practical / doable in the recent year or so. In my experience, if you have lot of frontend web experience, the easiest way to ship a RN app is by using Solito [0]. Also check out Nativewind [1] which allows you to style native apps the same way like you would on web. I was able to ship the first version of our app in about 1.5 weeks with this stack. Also checkout Tamagui [2]. [0] - https://solito.d…

Solito seems to let you share component code, but I assume that it does not share data fetching code? It doesn't do SSR for the native app? And in expo you'd be expected to `fetch` or otherwise get the data yourself (compared to next land where you can just use the next data loading stuff)?

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

#74
post #51

Slightly off-topic: how practical is it really to build devices (iOS and Android) and web from the same code base? My poor understanding is that React Native, and hence Expo, doesn't use the same CSS frameworks as web development. I'm curious how that works from the same code base, or perhaps that's one of the major difficulties. Also I see Expo as a fancy build framework but it's still fundamentally a RN application…

The ‘and web’ bit I’ve never found to work well. There’s too many things that work differently on the web

As for the CSS part - yes, React Native uses order for priority, web CSS uses specificity. None of the attempts to get the RN way working on web were amazing

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

#75
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.

I guess you can use any general "native wrapper over JS/HTML" like https://capacitorjs.com/solution/svelte

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

#76
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.

Why go through that many hoops just to use Svelte over React? They’re so similar, just go with the one with the best bindings to the native platform

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

#77
post #52

Without a doubt, Expo is one of the worst tools I have ever used. 1. I can't get a debug build of the app without using their cloud services. 2. Latest version of Android app to preview Expo apps did not work with latest stable Expo version. 3. Random build errors all the time due to some features being deprecated without being mentioned anywhere. 4. Tries to do too much and breaks quite often

They improve a lot in the last 2 years, give it another try. The experience nowadays is pretty pleasant compare the plain RN project

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

#78
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 basically web developers who were trying to emulate developing for the browser, with zero interest (and often, capacity) in learning any of the complexities of the aforementioned complex environment.

It was our experience the expo layer added a lot of complexity and many bugs, with very little ability of users to actually fix anything without "ejecting" their project away from that ecosystem. That was on top of the RN layer, which in itself was full of bugs. We would send users to report expo bugs to the expo team, and were first met by "just fix it on your end, you are detox!" type of comments from that silly community, and those that did report the issues, saw no reaction from the expo team, despite detox being one of the most popular testing frameworks in the RN world at the time (no idea about now, but back then, even Facebook was using detox to test RN itself).

At the end of the day, we decided the hassle was not worth the low quality user benefit, so we decided to drop support for Expo. It was one of the best bureaucratic decisions we ever made.

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

#79
post #7
post #6

works until you need to use a native library that hasn't been ported for Expo, then you need to eject. I would only consider Expo for POC/MVP

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?

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

#80

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
Post reply on HN