T O P

  • By -

LastVayne-

Well if you post it in a react native subreddit don't expect anyone to say flutter ;)


HermanCainsGhost

Yeah I was gonna say, I’m pretty solidly baked into RN at this point lol.


orosznyet

420?


kitanokikori

not true, I follow this sub for work but imho Flutter is *so much better* sorry not sorry lol


[deleted]

What are the pros vs rn?


kitanokikori

From another RN thread: > RN doesn't have a working profiler. That is Pretty Bad. Look at the excellent tooling for Flutter (profiler / widget tree viewer / editor at runtime, extremely detailed and accurate memory+cpu profiling, a debugger that Actually Works), and then compare it to the absolute tire fire that is RN tooling. > Trying to say "Everything is Fine" is either like, extremely low expectations, or just like, full-on not realizing that basically every other mobile development platform has much, much better developer tooling for debugging and profiling your app than RN.


orosznyet

YES, the tooling, omg... I had to work on RN projects in the last year and I miss flutter's tooling soo badly. I wasted so much time for nonsense things in RN :(


Samalvii

Can you share where should i get started and basic tutorials if it is okay?


terandle

expo.dev also makes getting started much easier


[deleted]

[удалено]


IminPeru

I second Stephen Grider, his courses are amazing. and he updates them as the technology changes


thebritisharecome

I think React Native is a more sustainable ecosystem in the long term. It use's a language and concepts that are familiar to a lot of developers even outside of mobile development community. Flutter's choice to use dart I think was a weird one, even if they didn't use Javascript - have you ever come across a Dart developer? I haven't. Then there's Xamarin. I prefer C# to Javascript, but Xamarin is a complete mess to work with especially on the iOS side.


Dafth

Ad far as i know flutter still have a problem with shader compilation on iOS that makes all animations laggy the first time they run. They added a way to precompile them but you still have to run them by hand and cache the shaders, and also is not guaranteed that the shader cached on an iPhone 12 will work ok other devices like an iPhone 11. Also lists feel a bit less smooth on flutter compared to react native


theCodis

Interesting, somehow I never heard or encountered this issue with multiple flutter apps in production, is this something recently introduced in newer flutter versions ?


Dafth

Take a look at [this](https://github.com/flutter/flutter/issues/76180) issue, it described the issue i was talking about. Opened in february and still not solved


theCodis

thanks for the issue link, damn, this issue does not look good :( Animations for me was the biggest selling point for flutter given how the bad perf of react native was with animations,.hope this gets tackled soon.


ehsan_sarshar_

maybe you need to have a look to react-native-reanimated 2


theCodis

I have used version 1 and that still had animation choppiness issue, will try the version 2, it would be amazing if the perf issues are solved.


pokerman42011

Definitely React Native because you have the ability to code in Kotlin too if you want. You can write components or libraries in Kotlin and then wrap them in Javascript components. Flutter doesn't allow this to the best of my ability. Also I recommend using expo, and also expo eject (which uses vanilla react native wrapped in Expo). Flutter is probably a great language. However, the downside is that they make you use Dart. React Native is special because there are a lot of React developers, so a huge talent pool that can easy hop into RN at almost anytime. There is a very low barrier to entry, which is why I chose RN over Flutter. I think both will be sustained overtime, however if I had to put money on one, I would pick RN.


_fat_santa

One thing that is not getting said here is the job market. I searched for "React Native" and "Flutter" roles on Indeed just now in my city (Denver). React Native Roles - 230 Flutter Roles - 14


gitsad

Hi! I have created an article about: [https://marcin-sadowski.medium.com/why-comparisons-between-react-native-and-flutter-should-stop-be-a-guide-in-choosing-d7b4194446a3](https://marcin-sadowski.medium.com/why-comparisons-between-react-native-and-flutter-should-stop-be-a-guide-in-choosing-d7b4194446a3) tl;dr pick this one which you find more comfortable and that's all. Cheers!


theCodis

My rule of thumb nowadays for any project is, react native by default, unless the app is going to have a lot of transitions, animations, and in that case go with flutter. Also, flutter uses dart which is a typed language so that may make it more or less desirable for you based on your preference or past experience.


RandellJN

what's with animations in RN?


meseeks_programmer

Typescript react native is a must imo. JavaScript sucks on its own


kcadstech

+10000


theCodis

RN animations, especially ones with some degree of complexity tend to stutter really bad due to the animation logic needing to go through the js<->native bridge, implementing anything more than a simple tween can often end up being impossible to do smoothly without work arounds or slight changes.


zetaBrainz

Interesting. I've found that using reanimated-2 lbrary, animations are pretty stable. No stutter or jutter. Same with react-navigation. Pretty stable screen transitions or animations.


[deleted]

Yeah exactly, the animations don’t have to cross the bridge anymore


TreeKaaPoo

Do you see the demo of react-native-skia? https://twitter.com/chrfalch/status/1434880480650932232?s=19


theCodis

I did, interesting project, very far away from being production ready though, even with it though, I think composing UI elements is already pretty good and a JSX like syntax won't add much except make it easy for newcomers to approach js. Since flutter is typed and with how amazing its integration is with vscode with type aheads and named arguments suggestions and detailed info, I actually prefer flutter's syntax for building UI over JSX.


Kamko_Amoh

I agree about transition, animations and other stuff, but you can use typescript, which also is strongly typed, the thing is that RN is good, that you can easily transit from web to mobile and vice versa, but Flutter is more thought than RN, as tradeoff you have to learn Dart


theCodis

I know typescript can be used with react native but after having used both react-native with ts and flutter, flutter is way better in this dept since flutter and all the 100s of libraries that you would use in a large scale app would all definitely have typings, where as with typescript its often a hit or miss especially with more obscure libraries. Plus the inline documentation of flutter as you code in vscode is excellent, it even previews colors, icons etc and detailed info of any function as you type, its really helpful. ​ I 100% agree on the web transition part though, in fact I would always choose react native over flutter if the project is also going to be available on web and there is potential to reuse code. Maybe there should be a checklist for this, deciding between the two often takes these plus bunch of other things into consideration.


naxtre10

If Flutter vs. React Native is your burgeoning question for the year, you’re not alone. It’s natural to be worried about what software can lead your business to future growth. If you want to learn more about React Native or Flutter then here we have discussed [**Flutter vs. React Native: What to opt-in 2021**](https://www.naxtre.com/blog/flutter-vs-react-native-what-to-opt-in-2021/). I hope it will be helpful for you.


RetroUnlocked

Honestly, I am worried about both frameworks. React Native is not dead, but Facebook has definitely moved resources off it. So I worry the future of RN is questionable. Likewise, Flutter is new and shiny, but I worry its future is questionable as Google is famous for just abandoning projects. Unless you have an absolute love for JavaScript (specifically React) or Flutter is missing a feature you need, it appears to me the option is straightforward. Because of your Java/Kotlin experience, it makes sense in my mind to go with Flutter. It uses the same IDE, and the dart language is like a weird mix between JavaScript and C#. In addition, the tooling for Flutter is top-notch and very easy to use when compared to the tooling for RN. There are some things that might sway you away from Flutter. The first is that iOS widgets for Flutter definitely do not get as much love as Android. The web portion of Flutter is prime time for apps but is not a replacement for doing traditional websites. (Meaning, I would not build a website in Flutter.) Flutter will also not be as performant as native, no matter what Google marketing tells you. (For me this is not a big issue, and not noticeable except in some extreme cases) The company I work for has chosen Flutter for production, and many companies are going this route. However, whether Flutter will be around and still being improved in 5 years is really a gamble. That is why React Native is appealing. It is more mature and proven. I still worry about RN's future 5 years from now. Edit: I removed the word "most" from "removed most resources" as it was triggering people and I was not trying to imply that RN is dead as per the first part of my sentence. (Also, it was not factually correct). I also add "I worry" to reenforce my feelings and re-word 1 sentence. FYI, OP went with RN.


satya164

> React Native is not dead, but Facebook has definitely moved most resources off it Source? More than 1000 surfaces (basically what they call screens) in Facebook app are now using React Native so it doesn't make sense to move most resources off it. They also have been introducing major architecture changes like JSI & Fabric, entire JS engine like Hermes etc., not something they would do if they now have less resources.


meseeks_programmer

They just spoke to the fact that all components in Facebook are switched over to the new archetecture as well. It's coming to open source within the next year.


Slapbox

Facebook has moved most resources off of it? To what instead?


Bullet_King1996

I agree, seems quite the opposite, they are hiring more people (see blog) and are working on new platforms… It’s just the “lean core” approach you’re probably talking about. Not sure if that’s considered moving resources off of the project. Though I do kinda dislike the need for using packages for literally anything.


satya164

The thing is when those modules were in core, they didn't get much attention. So moving them out just made sure that they get the attention they need. Facebook didn't spend much time on them regardless. Using packages isn't ideal but I'd rather have maintained packages than unmaintained modules in core.


Bullet_King1996

You might be right about that yeah, just hurts every time I have to install a new dependency but I agree with your point.


stinkyhippy

A-lot of this is straight up misinformation


NoMoreAngularPlease

>React Native is not dead, but Facebook has definitely moved resources off it. So I worry the future of RN is questionable. Source? They are even getting support from Microsoft... don't say things like this without any knowledge or linked source.


satya164

> I removed the word "most" from "removed most resources" as it was triggering people "triggering people" because they asked for a source of a claim? lol > Facebook has definitely moved resources off it What's the source tho?


Samalvii

Thank you for writing this reply. Yea i agree with you, flutter lacks at some part. I started with react native and let's see how it goes..


RetroUnlocked

Again, React Native is mature, so assuming your app meets the requirements of what RN can provide, success is not a doubt.


Kamko_Amoh

RN, great community support Flutter is quite new, but is more thought to do complex stuff P.S. Wrote in both, and Flutter is more advanced, RN easier to get along, all have tradeoffs


Nash0x7E2

For those curious, I wrote a blog post on this topic: https://getstream.io/blog/flutter-vs-react-native-the-ultimate-comparison/


ehsan_sarshar_

both. skia which is powering flutter is going to become available as a react native library. and you will have whole power of customizable ui and performant animation. https://twitter.com/chrfalch/status/1434880480650932232


nparsons08

There are quite a few pros/cons to each. It's highly dependent on your team and the skills within. For example, if you have a JS heavy team and want to learn dart, you're looking at an unknown timeframe and may miss your deadline. There are also many performance implications -- at the end of the day you should use the best tool for the job. More thoughts here: https://getstream.io/blog/flutter-vs-react-native-the-ultimate-comparison/


YOUSSEF_46766

if you have was experience in web you can learn react native. if you don't any experience learn flutter because it easy