top | item 16474697

(no title)

brainyz | 8 years ago

Does it have any advantages over React Native?

discuss

order

lenkite|8 years ago

AOT compiled to native code that uses the native instruction set - no interpreter/vm involved.

Uses custom rendering engine based on Skia.

Can write UX just once for all platforms if you don't mind fixing the widget set.

Custom widgets work on all supported platforms.

Can in theory be ported to Desktops also, assuming someone writes flutter engine bindings for Win/MacOS/Linux. If this occurs, then you will truly have a modern, cross-XP, write-once-run-anywhere, compile-to-pure-binary, reactive UX framework

cwyers|8 years ago

What "theory" keeps React Native from being ported to desktops?

Harimwakairi|8 years ago

There's a few.

- Flutter renders the UI itself rather than using native components, so you get the same experience on both iOS and Android.

- Flutter uses Dart, which can be compiled AOT, rather than relying on an interpreter.

- Flutter is completely open source, tools, engine, all of it. You can go a long way down before hitting iOS platform code, for example, that you don't have source access for.

There others, but those are the biggies for me.

wwwigham|8 years ago

> -Flutter renders the UI itself rather than using native components, so you get the same experience on both iOS and Android.

I thought this was an antipattern in modern mobile device Dev, since you're supposed to make your app "look and feel native" by always using native widgets where possible (and was a major argument for why, eg. Cordova was inferior to react native). Has the collective agreement turned on this, or it is simply contentious?

brentjanderson|8 years ago

They seem similar in intent and application, however Flutter skips the Javascript-to-native bridge and instead appears to compile to native code for the targeted platform directly, making it faster. In practice, React Native still _feels_ native because it is native and most devices are fast enough for most applications, but the Javascript that operates the native components has a performance penalty due to the bridge between javascript and native.

Dart still has a huge hill to climb for mindshare. The staggering amount of community and documentation around react makes it difficult to carve out a competing solution without the same size of community to write documentation, examples, and answer questions on Stack Overflow.

solarkraft|8 years ago

> React Native still _feels_ native because it is native

A lot of React Native isn't "Native", but that term is hard to define. They certainly display plaform-own widgets, but afaik they use their own layout functions and such.

akerro|8 years ago

> Does it have any advantages over React Native?

It's not JavaScript.

s73v3r_|8 years ago

It doesn't use JavaScript or the JS ecosystem.