← Back to context

Comment by dexwiz

5 years ago

How is RN? I have seen several teams try to consolidate their App Devs into RN devs, only to split back into iOS/Android devs. From what I’m told, if your app could be a webpage, RN is great. But if you need to really leverage the specific platforms, it’s hard to do that.

> But if you need to really leverage the specific platforms, it’s hard to do that.

Not my experience. I have a production app for web, ios, and android, with desktop platforms coming.

You can swap out anything per platform and write any extension for any native functionality you don't have, but the std and community extensions are plentiful.

RN sucks for "web pages", great for apps. In fact sometimes I embed web pages inside my RN apps. (surveys, etc.)

I haven't heard a single good argument of why it doesn't work. If you were going to write a native app you can write a native extension and share the common parts in JS.

RN is not Cordova, it's not a black box, it's very flexible and extensible.

-- @Jcampuzano2 because of post limit --

Earlier yes there's some fickleness with the toolchain, I don't really have issues now, it's fine unless you're on bleeding edge versions or old versions. Performance issues usually relate to the JS bridge, JSI will alleviate that, most devs won't experience an issue. I don't know why others struggle with RN, it works well for me. Flutter is a no go because it emulates native, it's not true native. You can feel the difference on iOS and the web part sucks so hard.

  • Weird because this is the exact opposite of everything I hear from most developers I know.

    I personally also worked with React Native for a while, and sure, you can write native extensions for everything, but the biggest complaint is how fickle it is when it comes to upgrading, package management, mind boggling errors related to the metro bundler, etc.

    I.E. It's great when it works and you have something simple, but things broke so often compared to native development when you had to do anything complex. And the performance characteristics weren't very great on top of this.

    I haven't done React Native in a bit more than a year but from people I talk to not much has changed, and most people I talk to who were all in on React Native mention to use Flutter instead nowadays if you really want cross platform UI.

    • react native can definitely ship production ready applications that large teams work on. bundler problems arent even react native related.. theyre webpack/babel etc. Package management? how is that related to RN?

      3 replies →

  • My experience with the tool chain was abysmal. It's been almost 3 years away now for me, so I don't know the current state of things. I hope it has improved.

    But every update was a large effort in bringing the app back into compliance with the new changes. The debugging platform used a different interpreter than in app resulting in things that worked in the debugger but not in production. Odd bugs at boundary layers nobody could (easily) decipher. The inability to even catch or do anything with some crashes.

    It was the worst experience I ever had with a development tool chain in my entire career.

    • > The debugging platform used a different interpreter than in app

      What discrepancies did you notice? It depends on the target platform which JS engine is used. Sometimes the debugging platform shares the same engine.

      > Odd bugs at boundary layers nobody could (easily) decipher.

      I'm not sure I understand, could you provide an example?

      > The inability to even catch or do anything with some crashes.

      Strange, you're able to catch and debug both JS and native crashes currently. I'm not aware of a past limitation but I could be wrong.

      1 reply →

It's probably because they had a team of experienced iOS/Android engineers, who are significantly more productive in their respective platforms.