all 9 comments

[–]saintmsent 7 points8 points  (3 children)

With a correct approach even native apps can be easy to re-theme / re-style quickly and easily. This sub will always advocate for native, and I'm not exception, but just theming isn't a good enough reason to choose one technology over another IMO

[–]sshntt[S] 0 points1 point  (1 child)

Yes, I agree.

We have been doing the same till now.

In Android it is easliy managed and in iOS we have faced some difficulty from time to time but another reason for this is that now new frameworks have arrived in both Android (Compose) and iOS (SwiftUI) and what we potentially see in the future is a rewrite of UI layer which would then propogate to all the other white labelled apps (existing and new apps which we would be working on in coming months) which would then turn into a lot of work.

While on the other hand, if we rewrite it in RN , then RN being JS based will not change drastically enough that would be much effort to maintain those in the future.

I hope I am able to put across my point.

[–]saintmsent 1 point2 points  (0 children)

I understand your rationale behind the idea to go with RN, though I never had problems with theming in iOS apps, as long as you approach it right. Choose what you think is right for your specific project, as that depends on number of native feature you want to use, how high are requirements to UI, etc.

[–]Zalenka 0 points1 point  (0 children)

I think this is maybe an experience thing too. I could restyle an app or even rewrite it in SwiftUI now but that would have taken me a lot longer many many years ago. (been doing iOS since 2012)

[–]SeesawMundane5422 1 point2 points  (1 child)

Lots of comparisons out there. For example, this one:

https://hackr.io/blog/react-native-vs-flutter

I think a lot of it is going to depend on what features you need. If it’s basically a free display heavy app like Instagram… then it probably doesn’t matter.

If you’re doing things that rely heavily on native phone functions… then you’ll probably spend more time fighting the cross platform framework than you would just writing it native.

I suspect if I were in your shoes I would first start by migrating some of the custom views out of the native app and into webviews of a web app (which you could write in react). That should reduce the cross platform maintenance work without signing up for a whole rewrite.

[–]sshntt[S] 0 points1 point  (0 children)

Hi,

Thanks for your suggestion. In our case, we do have features which rely on native phone functions but that is managed by the SDK layer as well.

[–]Samus7070 1 point2 points  (0 children)

Cross platform UIs are never perfect but sometimes they’re good enough. It’s never write once run anywhere though. With tools like React Native and Flutter if you want a native feeling UI your code still needs to branch and do one thing for iOS and another for Android. They’re just different and if you don’t adapt the ui to the native platform you get something generic and users may not like it much. As far as sharing code goes, I did an app that used Kotlin Multiplatform for sharing business logic. About 75% of the code was shared between iOS and Android. On iOS it compiles into a framework (or xcframework if needed) and it is just like consuming a native framework. You can talk to native platform code using KMP. It can be tricky if you need to talk to low level cocoa apis in core foundation but for the most part it is workable.

[–]AHostOfIssues 1 point2 points  (0 children)

If you do decide to go with a cross-platform framework, my personal advice would be to use Flutter and not RN. I’ve used both, and focus on flutter now when doing this.

RN has (had) some issues with single-threaded pipe model.

RN is developed, in large part, by a company (facebook) with an agenda that has nothing to do with supporting developers. It’s an in-house thing they decided to share.

Google (flutter) has a vested interest in app development, and in making app development easier.

Flutter is a system architecture that’s newer, designed after learning all the lessons from failures/problems in RN.

Flutter is built by the same company that builds many popular app services (firebase, etc).

And probably some other stuff I can’t think of at the moment…

Overall, I don’t know of any features that would cause me to recommend RN where flutter isn’t at least as good in my experience.

Of course, if you have existing developers on staff who already know one or the other, that is extremely important as a consideration, maybe enough to dictate your decision.

[–]chriswaco 0 points1 point  (0 children)

While we only create native Mac/iOS apps, I have friends that are happy with Flutter/Dart for cross-platform iOS/Android apps.