Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Comparison: React Native (and Xamarin, for that matter) use platform-native widgets with JavaScript composing the UI dynamically in the case of React Native (and UI's either dynamically composed or statically compiled with Xamarin -- depends how you build the app). Flutter brings it's own widget layer to iOS and Android (and Fuchsia?) so it's more like starting with a blank 2D graphics canvas and creating your own controls. Advantages: since this rendering layer and widgets are compiled from C++ the performance is excellent. Disadvantage: if you want a widget that isn't in the current set of controls and your C++ skills aren't up to the task, you'll be left wanting to do things you cannot. Not sure what scenarios are affected by this but it's something to keep in mind.


The widgets are written in Dart, not C++. If you need a new widget, you would write it in Dart, which is the same as the application language. This contrasts with React Native, where new widgets/views would be written natively and wrapped in React Native.


I’m going to be a little bit pedantic, but that’s untrue. On React (DOM, Native…) you create your widgets with React, and compose them as components.

If you need to go deeper (for some specific perf issue, usually for animation stuff) then you go native. But it’s a second class approach — well, it has first class support and is not as “second class” as it is for example in Titanium or “completely out of scope” in Cordova.


Parts of React-Native are also written in C++, btw.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: