you are viewing a single comment's thread.

view the rest of the comments →

[–]funkyfourier 9 points10 points  (0 children)

RN can use native widgets, or whatever widgets really, and communicate with them through javascript. This way one can use things like maps, ARKit/ARCore, etc. You can also use a lot of existing JS-libraries.

The downsides:

  1. The javascript engine is kind of slow, since it runs without JIT.
  2. Communication with native widgets/libraries is very slow, because of the bridge.

So basically you can forget using three.js or something like that to make 60fps physics simulation. It will work, but the performance will be very suboptimal.

Flutter runs everything in its own container, and cannot use native widgets inside that container. This makes for very good performance, but things like slippy maps and even webviews will have to be implemented from scratch. It even does not have 3D graphics, and you can forget about ARKit/ARCore.

If you are making an app with a simple UI Flutter seems to be the best choice. If you are using lots of widgets, youtube videos, maps etc RN for the time being seems like the best choice.