Expo – Open-source platform for making universal apps for Android, iOS, and web
121–130 of 172 posts
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#122Earlier quoted context omitted.
The animated package doesn’t come into play here. When the layout needs to be recomputed in RN, it does it asynchronously - regardless of what’s calling it. Part of this can be explained because the JS can hook listen for layout updates via the onLayout prop and make changes to the layout - and could in theory cause infinite loops. But there’s no mechanism - as far as I’m aware - to say you don’t care about that deta…
I believe you're confusing react-native-reanimated ( https://github.com/software-mansion/react-native-reanimated ) with the Animated API from React Native. react-native-reanimated allows JS code to run on a UI thread that is able to synchronously modify layout, providing alternative synchronous ways for you to hook into the layouting. For instance, as opposed to the asynchronous `measure()` method provided by React N…
The measure function you mention isn’t co-ordinated to the layout, so you could read it while a layout is pending and get old data - but that doesn't really matter for most cases
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#123I’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…
After 4 years of doing cross-platform mobile, I loathe React and React Native by now, and I dislike Expo. But… suggesting any other alternative is tricky. True native development is, indeed, much better. But a small team will be hard-pressed for doing good work on both platforms, especially once you start fiddling with more important APIs. Configuration and getting your system to compile things to properly is almost…
Sounded like a preferable approach to dealing with the complexity and limitations of RN and multi-platform. I wonder why more teams haven’t gone with this type of approach…
https://standardnotes.com/blog/react-native-is-not-the-futur...
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#124I 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…
The problem isn’t that middlewares are bad. They are great: Unity and Unreal, your browser, Java…
The problem is mobile apps don’t make money. Games and web services do. The OP is talking about low quality users. They’re broke! They’re not incentivized to fix their own problems either! It’s all just a blub for them. So middlewares improve for the audiences where they’re at least viable, and stagnate when they support something that no one should be bothering to do in the first place.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#125As 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…
In contrast, 2D UI frameworks like Flutter, Silverlight, and Flash replicate the system UI. In my experience it is possible to create a replica that visually looks like a pixel-perfect match but it is very difficult to make the replica behave the same, like the rendering the subtle layer transitions you talked about, invisible boundaries around gestures, and showing the navigation history stack. It is an uphill task and using the native system UI is a tailwind for Expo.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#126Earlier quoted context omitted.
I believe you're confusing react-native-reanimated ( https://github.com/software-mansion/react-native-reanimated ) with the Animated API from React Native. react-native-reanimated allows JS code to run on a UI thread that is able to synchronously modify layout, providing alternative synchronous ways for you to hook into the layouting. For instance, as opposed to the asynchronous `measure()` method provided by React N…
I meant both Animated APIs - neither is able to perform synchronous layouts - because react native is not able to do that. That’s the issue that’s stopping the page sheet controllers being added to react native. I actually was helping getting this added, but we never managed to get the layout issues fixed - https://github.com/facebook/react-native/pull/34834 The measure function you mention isn’t co-ordinated to the…
May I ask, does the New Architecture and Fabric not solve this problem?
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#127Earlier quoted context omitted.
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…
I’ve come to the same conclusion. I began to build a very simple app about a month ago and as a Web Dev figured React Native would be the best tool. Having completed about 60% of the app, I’m going to trash the whole thing and restart with Swift/Kotlin. I’ve encountered too many “quirks” that end up burning a huge amount of time for what should be an inconsequential component.
I find most people making this argument haven't worked full time with one or the other.
If you're a larger company who can afford two teams/groups, or if you are working on something lower level like OpenGL or ML, it makes sense.
Having done both for multiple years, I can't understand when people think it would be faster to build separate apps. It's not even remotely close. You're swapping out doing bug fixes, platform specifics like push notifications, the occasional separate UI implementation, and distribution twice with doing _everything_ twice.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#128Tbh, 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)
The managed services (EAS) are optional for Expo apps. The independence between Expo, the free and open source framework, and EAS, the hosted service offering, is something the Expo team consciously works on.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#129A few years ago our main concern with Expo was about security, man-in-the-middle kind of attacks because you are hardly depending on a third-party, has anything change to robust this? I understand that to general apps Expo could he a dream.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#130Earlier quoted context omitted.
I meant both Animated APIs - neither is able to perform synchronous layouts - because react native is not able to do that. That’s the issue that’s stopping the page sheet controllers being added to react native. I actually was helping getting this added, but we never managed to get the layout issues fixed - https://github.com/facebook/react-native/pull/34834 The measure function you mention isn’t co-ordinated to the…
In that case I would stand corrected. May I ask, does the New Architecture and Fabric not solve this problem?