I tussled with React Native quite a bit this

December 28, 2021, 2:58 pm
I tussled with React Native quite a bit this
I tussled with React Native quite a bit this year, and if I have one piece of advice it`s this: hire some people who have native experience, esp on iOS, because that`s gonna be where 80% of your problems that make you cuss come from.

100%. If you`re at the right scale, you can also concentrate these skills in a centralised platform team.

And in markets like India, the problems are magnified on the Android side. The phones range from Xiaomi low-end to Realme high-end, all with custom OSes, sideloaded apps on various Android versions (5.1-12). We`ve spent countless hours understanding ANRs and Crashes at scale.

Being a React Native developer means that you will need to have an understanding of both operating systems. Its a steep curve, but I am getting there. If we had a senior iOS developer in our organization, that would have saved me time for sure.

If you use RN for cross platform how much of the code can be shared between android and iOS? And what did you need to write separately between the 2 OS?

Or just don`t use it.

So true! Native architectures like iOS & Android need to be addressed accordingly when frameworks are applied. Sure you can get by w/RN on its own, but you sacrifice so much that might not too apparent until its too late.

Totally agree. Push notifications are the worst in terms of dev experience on React Native for IOS

Are you talking about third party SDKs? Internet is filled with Todo tutorials. Real world examples like deep linking to the end, Bridge etc hardly anyone talks about

Worst mistake I`ve done was to think that I`ll save development time by using either flutter or react native. I`ve been dead wasted for the past 3months and even worse I`ve been shifting goal posts on my clients ETC. I`ll go native anytime over cross platform.

Great advice. Encouraging me to not be scared of React Native, I must say.

Or you could go for people experienced in React Native as it has been around long enough for that. Weirdly, my experience so far has been that Android side of things tend to go bad much more than iOS when working with React Native. Anecdotal evidence and whatnot :)

I remember working on an app with a colleague we had to switch fonts half way into the project and this just kept throwing error on iOS whilst working perfectly well on android. Turned out iOS didnt support the new font.

Tech choices are really hard, made more difficult by enthusiastic promotion countered by lack of real world use. Ionic framework has been great (it has a React variant), each platform still needs a tweak here and there but native hasn`t been necessary for years in many cases.

Honestly not sure any of that needs to be true. If you look at the popular Apps that use React - Office, Discord etc, its rare that their UX is great - its often an uncanny valley between platforms , & the pull of the Apps is not their UX at all, its other factors. 1/2

Seconded! Knowledge of Android tooling is also important because it gives hard time once in a while.

Expo with RN makes building fluid

I personally didnt seem to have many issues with IOS when it came to RN work Ive done this year - but I havent had to do any native bridging stuff yet so perhaps Ive been lucky!

Using Expo eliminated those issues for me

Makes sense :)

As a webdev, what are your thoughts on and Curious if that eases some of the native challenges or if there is still a need for that native knowledge/experience.

can confirm , most of the issues i`ve been running into have been ios related

The business benefit is clear with RN and I get that. As a native dev why do I want to work on 3 platforms, worse tooling and stability for the same pay?

It`s so funny how split the experience with Expo is. I had nothing but issues with it for years and eventually gave up until my last project, but in the last year the ejected flow with Expo is a dream.

Full-time React Native contractor here, I mostly agree all doing it should have some native knowledge, but find Android is more problematic when getting feature complete, and anywhere from 25% to 50% of the post release bug fixes. Maybe it`s because I do iOS first though.

Wonder if something like Flutter would have provided a better experience. It`s currently what I plan on learning in 2022. I`ve heard way too many React Native horror stories.

@SamuelSusla None of which is a direct fault of React Native! But I ended up concluding that for me and my business needs, a PWA was a better tradeoff.

@SamuelSusla platform. For instance, we spoke to a top guy on the Google Nearby library and he more or less told us that for performance reasons we should re-write native as soon as we weren`t a demo.

Hello Joyce, what kind of problems did you encounter on iOS?

That`s fair, thank you for the context.

Easier to hire, potentially faster to ship features?

Have you consider a native re-write, with high focus in getting it out in the App Store?

@peres There must be some n ative devs who want to use their hard-won knowledge to make lots of $$ and be highly valued by their team at an RN shop...

There`s definitely people out there willing to work with RN + native experience. From my experience it`s tough tho, because iOS developers are quite particular about how they like to work and the tools they use.

@peres So I figure there are devs with native experience -- maybe they haven`t worked on a commercial app even, but they`ve tinkered on the side and know the community -- who like to work for money-making businesses that care about growth :)

Tussling right now with React Native & an authentication workflow for it. Lol

The challenge is that the majority of native engineers dont want to touch RN.

Id advocate for this with any hybrid approach, but especially RN for sure.

The amount of time going into making React Native work on iOS is far more than just doing it natively. I wish it was not imposed on so many teams. We get so much for free with iOS, such as new OS/framework releases. A new RN release is a lot of work.

Doesn`t help that the entire React Native ecosystem seems to break itself every six months.

be my guest lol

I`ve seen the same with flutter. It seems to be useful for writing for both platforms. But it really needs native os knowledge to get into the deep of your interactions.

I have equal cussing for iOS and Android. I 100% agree with the sentiment of having people familiar with native development involved though. So many times questions or bugs have come up that are so insanely outside of the web dev domain.

Unless you go expo, never had platform issues with it. Been using both with and without, and I agree with your sentiments, if I didnt have native iOS experience bare RN comes with a threshold.

Yep. When I`ve worked alongside someone doing a version of our app in React my team was constantly peppered with native questions. There`s only so much you can abstract away.

I am a career-long webdev and I love webdev, but React Native is NOT webdev and don`t fool yourself that it is. A team of all React devs is not gonna make you happy when you go to React Native.

 
Sponsored links