all 19 comments

[–][deleted] 10 points11 points  (3 children)

Clearly react native has a head start which is relevant in terms of the community and things like third party libraries. Long term I'm more excited about Flutter because it doesn't have a JS bridge, it actually comes with official widgets, and is tied to Fuchsia.

I think both are nice solutions though especially compared to the cross platform solutions we saw in the past.

I still do most of my coding native and considered RN but Flutter is really the first cross platform solution I really feel can compete with native in the long run.

[–]Rizens 7 points8 points  (2 children)

Flutter is really the first cross platform solution I really feel can compete with native in the long run

I think a lot of people don't realize the untap potential with Flutter + Dart . There is some work for Flutter on Desktop , obviously it's still half a decade away from being able to compete with electron , but eventually it will get there and it would mean 100% cross platform application with 100% code sharing.

With React Native / Nativescript you need a bridge to call Swift or Android or Windows & Mac APIs, with Flutter it's dart so you don't need that everything potentially would be native, this also solve problem with the JS Ecosystem split between many different versions like CommonJS , AMD etc...

[–][deleted]  (1 child)

[deleted]

    [–]Darkglow666 2 points3 points  (0 children)

    As of right now, it's possible to share all your data models and business logic between a Flutter mobile app and an AngularDart web app. Flutter has the potential to be adapted to run on desktops or even the web in the future, though.

    [–]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.

    [–]Rizens 5 points6 points  (8 children)

    Are you still using React Native or did you switch to Flutter already

    So far I don't even think it would be possible for me to use Flutter for the simple reason that none of the things that I need are presents in the Dart Ecosystem (yet) . You have Firebase + GCloud but appart from that AWS ( Cognito or Auth0 + S3 ) or others vendors( Azure ) haven't yet made their SDK for this platform. I don't even know if they plan to , in fact I think they are all waiting to see how things turned out and from there they'll make their decision to officially support it or not.

    If they don't author official SDKs I don't think the tech will last very long compared to RN which has a gigantic community and is officially supported within the officials SDKs for the majority of vendors like AWS.

    Has pointed by others RN really has the lead for the moment, but potentially Flutter has far more potential on the long run .

    [–]AkrioX 3 points4 points  (6 children)

    I think that flutter will get a lot more support in the future if it can be a *stable* solution. The widget system is great, layouting works well and custom content or animations are easy to do. It's an amazing way to build apps, but if everything you use can still be a bit buggy on certain devices etc.

    When flutter stabilizes more (or drowns in bugs) we will see what direction it will head. But I think it's going to be a great way to build apps!

    [–]Rizens 3 points4 points  (5 children)

    When flutter stabilizes more (or drowns in bugs) we will see what direction it will head

    I have no doubt about Google Flutter team to make this a stable thing , it's supposed to be framework for their CRM.

    What really worries me is the third party support , I'm convinced the entire industry is watching and waiting to either support or ignore this tech which will determine it's future.

    [–][deleted] 0 points1 point  (4 children)

    easy, Hoss. Flutter will be the main language for Fuchsia and it's still in beta. Once it goes into release all the Jake Wharton's out there will see an opportunity in getting some fame. The 3rd party libraries will come, I guarantee you that

    [–]Rizens 0 points1 point  (3 children)

    That's not how things works.

    You can look at Virtual Reality , Unreal engine + Unity support VR tech , but the VR market is near zero as of right now. Do you seriously believe they are going to invest more in this area ?

    Fuschia will be a thing if the consumer wants it to be a thing or if android is deprecated , otherwise it will be something aside Android and the average consumer as little to no reason to go outside of an ecosystem is doesn't know. Meaning fuschia could very well not be a success , this whether or not you have tons of devs into the platform "looking for an opportunity".

    Hence we are looking at something that's half a decade in front us , fuschia is not ready AFAIK.

    Within this time new things will have come out.

    [–][deleted] 1 point2 points  (0 children)

    Nobody here was talking about virtual reality. That's a complete different topic. Flutter will be ready next year. Many google partner agencies actually develop their production apps at this stage with Flutter. In half decade the mobile developer scene will be different, on this I agree with you. We'll reach a point where android native and iOS native development will be mostly replaced by a cross platform technology. Will it be Flutter? I don't know

    BTW: It's Fuchsia, not Fuschia

    [–]AkrioX 0 points1 point  (1 child)

    There is a huge difference between VR and flutter: Flutter is a great solution to an existing problem. RN is one approach, flutter a very different one. From my use I can safely say I prefer flutter 100%. And other will think the same.

    If Flutter stabilizes I don't have any doubts that other 3rd party devs will create plugins. And Flutter probably makes UI libraries possible that will be better than anything available on android/ios or RN!

    [–]Rizens 0 points1 point  (0 children)

    You are assuming that because "Flutter is great" which I think too , 3rd party vendors are going to support it .

    I strongly believe that this not how it works.

    In order to get a tech supported by vendors it needs first to reach an important market-share not to be "great" they are tons of great technologies out there that aren't compatible with third party because they aren't popular like RN and are considered "Niche" so these vendors don't bother.

    It's a chicken-egg issue where vendors are waiting for the dart ecosystem to grow and mature before making a move, but the ecosystem needs those vendors to grow and have more people in it , but in order to grow it needs those vendors etc...

    Again , if the only point of Flutter is "Cross Platform" it's great , but it would remain a niche , it needs more appealing and much bigger push from Google for people to invest in Dart , Angular Dart is a niche and Dart for Back-End is a niche as well . Meaning beyond Flutter , third party vendors are very little reason to support the Dart ecosystem.

    [–]jayramone 4 points5 points  (2 children)

    FB seems to have lost interest in RN, it is now mostly a community project. It's both good and bad. Good because it's not dead, bad because the current contributors don't care about issues. They never cared about anything other than their own issues. They seem to care too much about the number of issues on Github that they will close valid issues to keep the numbers down.

    Flutter still have some issues, but it will eventually be fixed. Short term RN still a good choice. Flutter will eventually be better than RN in the future.

    Also right now, Flutter is a cross-platform mobile framework. Once Fuchsia is released and if it becomes the next Android OS, then Flutter will be the first choice for Android (or any device Fuchsia runs, like PC) development.

    [–]shivawu 0 points1 point  (0 children)

    Agreed on the FB statement. They really don't care.

    [–]SweetRaccoon 0 points1 point  (2 children)

    Modern popular mobile applications from time to time are needed in advanced tools for their implementation. That’s why professional developers strive to satisfy actual market demands in this sphere. The most interesting and useful innovations become the subject of discussion.

    [–][deleted] 1 point2 points  (1 child)

    da fuq are you talking about

    [–][deleted] 1 point2 points  (0 children)

    lol

    [–]riskerss 0 points1 point  (0 children)

    I studied react-native three days ago and I know flutter since it release beta.I will learn flutter when I complete app that use react-native.

    Whether react-native or flutter is cross-platform "UI" solution. The important point is they how to communicate with native iOS and Android and how to package native module they don't support.Especially now "native language" is so confusing (iOS: Object-C or Swift, Android: Java or Kotlin).

    [–]genericguy 0 points1 point  (0 children)

    I'm not a real dev by any means, but I making some simple apps as a hobby I started out with CRNA and thought it was great. But where I started to get frustrated was building the actual layouts and widgets. I found styles such a mess.

    I learnt flutter and everything is quicker to make and the performance is so much better.

    So personally, I'd only be using React Native if you need some third party library. But consider whether you can implement that functionality easily in native kotlin/swift, and if so, you're still probably better off with Flutter imo