News for hackers. Stuff that matters.
Re:React Native 0.69 by mhoad on Thursday June 23, 2022 @09:04AM (#31848486)
Along what metrics is the question.

As far as I know it’s:

- less popular (https://gist.github.com/tkrotoff/93f5278a4e8df7e5f6928eff986...)

- worse performance

- much more frustrating developer experience (inherently subjective but not a particularly controversial opinion)

- less supported / actively developed (some very core parts of the RN ecosystem got punted to “community supported” where they basically died in place) but also worth comparing GitHub activity for Flutter https://github.com/flutter/flutter/pulse/monthly and RN https://github.com/facebook/react-native/pulse/monthly

I think Flutter is a much better long term bet despite the fact that it’s a much newer project.

Re:React Native 0.69 by jurmous on Thursday June 23, 2022 @09:37AM (#31848945)
React Native did a lot of work with the performance issues. They have now their own JS interpreter called Hermes. It also allows your javascript code to be compiled to byte code for better performance. Furthermore their new architecture allows for better integration with native and faster performance. https://reactnative.dev/docs/new-architecture-intro

I think a lot of people have their opinions based on an image of React Native in the past. It evolved a lot to be better performant and easier to work with. And for many people the React ecosystem is way more familiar than Dart.

Re:React Native 0.69 by zigzag312 on Thursday June 23, 2022 @11:04AM (#31850105)
Dart is compiled to machine code, not just byte code.

There's also new rendering engine being worked on for Flutter called Impeller. It's not just React Native that's improving.

Re:React Native 0.69 by mrbombastic on Thursday June 23, 2022 @12:35PM (#31851555)
I think the core problem any cross platform solution is going to face is that maintaining a compatibility layer between 2+ proprietary OS’s* is a recipe for a bad time. It is why these projects need to be supported by a massive tech company. My only point being even if Flutter is at an advantage today over react native on this point, long term they will face the same problems as react native with stagnating cross platform support.

edit: silly mistake Android is open source, not sure how much it helps when compatibility layer is not a priority for the OS developers

Re:React Native 0.69 by zigzag312 on Thursday June 23, 2022 @03:46PM (#31854262)
> I think the core problem any cross platform solution is going to face is that maintaining a compatibility layer between 2+ proprietary OS’s* is a recipe for a bad time.

Flutter has big advantage in this area as it doesn't wrap OS's controls, but has build it's own controls on top of lower level OS's APIs.

Avalonia (which also renders it's own controls) has posted an article, describing how it's easier supporting new platforms this way: https://dev.to/avalonia/avalonia-platform-support-why-its-si...

Avalonia GUI apps can run on Linux without a desktop environment installed because of this.

Re:React Native 0.69 by mrbombastic on Saturday June 25, 2022 @01:55PM (#31877270)
Aha that is interesting I wasn’t aware of this difference. Pushing the layer down to lower level controls does seem like it would help with this but perhaps at the cost of ui consistency on the platforms?

Either way thanks for the link, I’ll check it out.

Re:React Native 0.69 by zigzag312 on Sunday June 26, 2022 @09:38AM (#31883826)
Yeah, since all controls are created from scratch there is no inherited consistency with the controls of the underlying platform.

However, framework developers often develop controls that emulate platform controls. Not all are 100% match. Depends on the quality of the implementation.

The quality of Flutter controls is not yet on par with iOS's controls, but if they continue to improve at the same rate as they currently do, in 1-3 years they could match or even surpass them.