React Native vs Flutter - I built the same chat app with both

Поділитися
Вставка
  • Опубліковано 21 гру 2024

КОМЕНТАРІ • 1,5 тис.

  • @kaushikkalesh1678
    @kaushikkalesh1678 3 роки тому +5839

    I love this guy I literally asked for this video and he made it, he made the tech stacks video like so too. He is close to his viewers and commentators. I am impressed ♥

    • @decodex4754
      @decodex4754 3 роки тому +13

      Yeah Boi 😘

    • @chullupa
      @chullupa 3 роки тому +26

      Yeah! I suggested a Terraform video and he did it too.

    • @mateja176
      @mateja176 3 роки тому +22

      That's Jeff for you, a man of virtue!

    • @AndreaGiacon
      @AndreaGiacon 3 роки тому +16

      He's awesome. Even the clearness of his explanation. He has only 1 problem: never gave me that glorious t-shirt :D

    • @dje7382
      @dje7382 3 роки тому +2

      Great guy

  • @pictzone
    @pictzone 3 роки тому +723

    Absolutely love this channel. It's exactly what I need after an intensive coding session. I want to keep learning but I don't always have the "stamina" to keep doing it the hard way. When I watch these videos I essentially feel like I'm just browsing UA-cam like usual (for entertainment purposes), but I'm actually still learning code. Amazing!!!

  • @KaSSa__
    @KaSSa__ 3 роки тому +9078

    "React Native comes from Facebook, which is being criticized as being an evil corporation. While Flutter comes from Google, which is being criticized for being an evil corporation." LMAO

    • @zaidshaikh2536
      @zaidshaikh2536 3 роки тому +66

      Well that was a Wierd take 😭

    • @vaisakh_km
      @vaisakh_km 3 роки тому +192

      First I got confused...XD
      But google is less evil in my opinion...
      At least they are supporting a little bit of open souce also right....

    • @ammarahmed5907
      @ammarahmed5907 3 роки тому +146

      @@vaisakh_km no they are not.

    • @ammarahmed5907
      @ammarahmed5907 3 роки тому +200

      @@vaisakh_km and google has the history of dumping many open source projects at any moment they like.

    • @nivaldolemos5280
      @nivaldolemos5280 3 роки тому +146

      Fuck those big tech corps.
      I'll stick with good old Oracle Java.

  • @patrickbluth943
    @patrickbluth943 3 роки тому +1496

    Even though I do web for my job, I love Flutter/Dart. The deeply nested widget trees are definitely a problem that you can run in to, but if you make a habit of extracting logic bits into their own widgets, you can really minimize the issue. The hot reload, as well as all the built in widgets and state management solutions makes development very quick

    • @dev_among_men
      @dev_among_men 3 роки тому +97

      Why I don't like flutter is because 1. Statefull widgets syntax, 2. Things that should take normal number has to be wrapped in stupid shit like EdgeInsets, Material.of(context)... Etc. Just horrible experience for beginners

    • @KingstonFortune
      @KingstonFortune 3 роки тому +31

      exactly! just extract your logic and you'll be fine

    • @djosefandersson7605
      @djosefandersson7605 3 роки тому +15

      Absolutely same feeling. It is just like angular or web, but just works more predictable because of the types and good tooling

    • @Giigigi1122
      @Giigigi1122 3 роки тому +17

      Using flutter hahaha. But my container has so many children. A bit annoying like changing a color of some textinput widget, i have to add themedata stuffs.
      What i hate using RN was css stuffs. It was so complicated to trace all the way up to see where my div is and stuff.

    • @jo971000
      @jo971000 3 роки тому +59

      @@dev_among_men exactly what I thought. It's just so many child and children that you gonna have a code that can run a entire Primary School. Annoying syntax

  • @pinkdiscomosh2766
    @pinkdiscomosh2766 2 роки тому +299

    Recently built a flutter app and half way through I discovered that flutter now has a hooks like package that you can add that would make using state and subscribers so much easier and very react hooks like. It’s pretty amazing and definitely makes the reuse part of flutter much easier and right on par with React.

    • @ahmedbaig8543
      @ahmedbaig8543 2 роки тому +2

      Agreed with you ...

    • @leonardocontreras9690
      @leonardocontreras9690 Рік тому +1

      There is a package for anything

    • @feritkardal
      @feritkardal 6 місяців тому +2

      What is the hooks like package name?

    • @koenv9987
      @koenv9987 5 місяців тому

      @@feritkardalif you’re still looking for it, it’s called flutter_hooks. Just look up “Flutter react hooks”, and it’ll be the first package

    • @marthabuck7832
      @marthabuck7832 2 місяці тому

      @@feritkardal It's flutter_hooks

  • @TheMR-777
    @TheMR-777 3 роки тому +39

    Heyyyyyyyy, you won't believe I was just searching for this comparison, as I was so confused b/w the two. I opened the Homepage of my UA-cam and found this Video uploaded 23min ago :),
    Thanks, Man! You *LITERALLY* listened to our Hearts!

  • @cli23
    @cli23 3 роки тому +19

    It is insane reflecting on your depth and breadth of knowledge. Most people have surface level knowledge on a lot and then some deep level knowledge on a few things - you seem to have deep level knowledge on everything. Unreal! Not to mention amazing videos.

  • @jkjoker777
    @jkjoker777 3 роки тому +357

    Some of the comparisons in favor of Flutter tooling are comparing to React Native without typescript. I've never worked on a professional project without typescript. TS is just standard now. So it's safe to assume compile/transpile time errors will exist for both frameworks.

    • @Qizot
      @Qizot 3 роки тому +5

      But you can still make typescript happy by some nasty `!` operators or casts that should not exist. With flutter you can't really do that, I mean shooting yourself at a foot.

    • @redistan7048
      @redistan7048 3 роки тому +1

      @@Qizot why you can't flutter 2 has it

    • @rishabhgusai96
      @rishabhgusai96 3 роки тому +5

      @@Qizot wait for the strict mode to turn on.
      Hail TypeScript.

    • @carldrogo9492
      @carldrogo9492 3 роки тому +6

      Well, that's because Typescript is an option NOT mandatory! 🤡

    • @jkjoker777
      @jkjoker777 3 роки тому +21

      @@carldrogo9492 not if you’re working on a team that uses it. You could say most packages and toolings are opinions and options as well. But if your team uses it, thats not relevant . Most react and RN codebases in a professional setting will be typescript based

  • @andythedishwasher1117
    @andythedishwasher1117 2 роки тому +8

    This answered some oddly specific questions I've been debating with a friend of mine. Thanks dude. This channel is magical.

  • @yousufrashwan
    @yousufrashwan Рік тому +9

    I didn't imagine I can get motivation to code from a code tutorial, your channel is a 💎 in the community.

  • @Skia_
    @Skia_ 3 роки тому +1406

    Woah! I didn't know that Flutter's rendering engine is called Skia
    Time to drop React native

    • @onetdev
      @onetdev 3 роки тому +158

      It was you the whole time :O

    • @idukpayealex
      @idukpayealex 3 роки тому +87

      calm down you can just react-native so easily

    • @henrypowell3496
      @henrypowell3496 3 роки тому +7

      lol and it's really fast

    • @sameermishra3598
      @sameermishra3598 3 роки тому +3

      😂😂😂

    • @KangJangkrik
      @KangJangkrik 3 роки тому +74

      Imagine skia using skia
      It's like cow eating beef lol

  • @eliezerponce1715
    @eliezerponce1715 Місяць тому +15

    Please update the video, it has been 3 years in that time react native and flutter have changed a lot in their most recent versions. thanks in advance!

  • @ahmadjamalmughal47
    @ahmadjamalmughal47 2 роки тому +9

    I fricking love the simple animation around 00:39 how you put the different colors of blocks of text together.

  • @Fabian-_-
    @Fabian-_- 3 роки тому +215

    Absolutely love flutter. Built apps with it and will definitely build future apps with it. Performance has been great (at least that's what the users and metrics say) and it's so nice to code

    • @SuperSurendraverma
      @SuperSurendraverma 3 роки тому +7

      React native only

    • @thebigshorttrader
      @thebigshorttrader 3 роки тому +11

      @@SuperSurendraverma flutter is the best

    • @NymezWoW
      @NymezWoW 3 роки тому +49

      Flutter would be awesome if it didn‘t use Dart. On paper Dart as a language isn‘t bad. But you have to invest into a language that basicly is not used for anything apart from Flutter apps. That means there is going to be less libraries, developers that you can hire, etc. The ecosystem of Dart is always going to be very lackluster compared to any of the big general purpose languages. And no matter how similar to existing languages it is or how easy to pick up it is, it is a new language that you and everyone else in your teams needs to learn just for the sake of being able to use Flutter. Just one good Application framework isn‘t nearly enough to justify a new language that otherwise doesn‘t bring any advantage or improvement over existing languages on the table.

    • @alexander_farkas
      @alexander_farkas 3 роки тому +98

      @@NymezWoW I learned it in 2 days, when I started, lol.
      Also, why would you need to use dart anywhere else? I've only used 4 languages in my flutter mobile dev career (2 years) - rust, kotlin, swift and dart. And yes, I never used them outside of mobile dev. So what's wrong with dart being single-purpose?
      It's pretty obvious that you should use react native, if you're fullstack. But if you're not - why not to learn new language, which you're going to use 95% of the time.

    • @NymezWoW
      @NymezWoW 3 роки тому +4

      @@alexander_farkas Do i really have to explain why it can be a problem to use a niche single purpose language for serious projects?

  • @epicsheepgamer7002
    @epicsheepgamer7002 2 роки тому +34

    I have been using Flutter since about the start of the year and I must say: I like it!
    I agree about the long widget trees though. They are a pain! For any new Flutter user, it is good practice to extract widgets from a widget tree and to keep widget trees as simple as possible. Also, try and keep your extracted widgets as modular and neutral as possible so that you can use them in a variety of ways/places.
    Nice video man! Very informative :D There is one thing I disagree about though: At 9:23 you stated that it is a goal to run an app at 60 frames, which is not always 100% good for mobile. Firstly, for something like a store catalogue app, you will never need more than 30 frames. Secondly, long ago when I made a mobile game with Unity as part of my varsity project, we were told to limit mobile apps and games to 30 frames (in most cases) as usually with mobile games 60 frames are not necessary and will only nuke the battery. Maybe you used 60 frame rendering only as a performance measurement?

  • @parissszarka1583
    @parissszarka1583 2 роки тому +85

    You can deal easily with the stacked widget tree on flutter by simply separating the widgets in different file or just at the bottom of the current file your working it makes the code so much cleaner

    • @dedelabinouze5110
      @dedelabinouze5110 2 роки тому +11

      It's a 1cm band aid on a 10m wound though. It's still horrible to read

    • @IStMl
      @IStMl Рік тому

      @@dedelabinouze5110 just declare them as variables first

    • @justanaveragebalkan
      @justanaveragebalkan Рік тому +8

      @@dedelabinouze5110 Someone decided that is too smart to understand SOLID, and became a web developer.

    • @gamersgient5486
      @gamersgient5486 Рік тому

      I hate class components 🙃
      Functional components are superrrrrr easy man 😁
      And hooks are emotion🥹

  • @MrBraianzzz
    @MrBraianzzz 3 роки тому +6

    You deserve every single penny from UA-cam. Thanks for the great content and high quality videos!

  • @nitrohite
    @nitrohite 3 роки тому +27

    Love the Grindr color theme that you used for the apps 😆

  • @dhananjaywithme
    @dhananjaywithme 3 роки тому +246

    "Dart makes it really hard".... to write code that results in a runtime error. 😂
    You had the RN fans there

    • @matkomilic201
      @matkomilic201 3 роки тому

      bruh wat

    • @ko-Daegu
      @ko-Daegu 3 роки тому +5

      @@matkomilic201 I'm kinda confused if flutter gives us android(java/kotlin) and ios(swift/obj-c) code why does it run slower than native code

    • @romullocordeiro3994
      @romullocordeiro3994 3 роки тому +11

      ​@@ko-Daegu because is not pure native code, all ui run in his own graphic engine that draw every pixel in the screen, not exacly redering native widgets and components, it has his own level of abstraction and way to do things just like react native but in a different way.

    • @ko-Daegu
      @ko-Daegu 3 роки тому +2

      @@romullocordeiro3994 but when I compile Flutter I do get two dir one for Android other for IOS and nativecode inside so I doget APK and IPA files literely running native code eck in some benchmarks FLutter is slower than obj-c but faster than Swift t
      this is os confusing

    • @romullocordeiro3994
      @romullocordeiro3994 3 роки тому

      @@ko-Daegu React Native is the same, all the UI and user Interaction runs in Native code, builded react native apps also has their own Android and IOS folders with native code, but all the Business Logic runs in a JS Engine, Flutter probably is the same, a mix of Native code and interpreted code generated by flutter

  • @seanfang398
    @seanfang398 2 роки тому +102

    Speaking of performance, I knew that react native had already introduced a new architecture in their lastest version, and one of the main reasons is to solve the performance issue that many devs complained about for a quite some time. I myself haven't given it a try, but I will, and I'm really looking forward to seeing it surprising us

    • @smlgd
      @smlgd 2 роки тому +28

      I built a RN app for the hospital I worked for last year. Debugging was a mess because it kept failing to hit breakpoints or crashing when pausing but the app's performance itself was great, when runnning in release mode it felt just like a regular Android Studio app

  • @sjeff26
    @sjeff26 2 роки тому +16

    Great video. One note: at 8:54, you mention that it's easier to extract code from nested widget trees in React Native (using methods) than in Flutter (using widget creation). However, in Flutter it is also possible to use methods, e.g. `Widget build(BuildContext context) { ... } _buildSubtree() { ... }`

    • @_dinesh
      @_dinesh 2 роки тому

      Flutter discourages the usage of helper methods - Take a look at this video - ua-cam.com/video/IOyq-eTRhvo/v-deo.html

  • @themisir
    @themisir 3 роки тому +99

    I've myself created the same application in both frameworks. What I learned from that experience is, if you need too much interaction with the native platform js bridge will make your code a bit slower. So what does that means? For example if you want to animate something with javascript, you'll have to send message through bridge which is going to create bottleneck to your performance but in flutter side your draw calls doesn't go through any sort of pipeline so it will not suffer same issues as react native. But in flutter you'll experience issues regarding user experience especially for text input boxes. Additionally to that native views doesn't work well with flutter widgets and sometimes feels cranky. In react native because it uses native views for displaying content you'll lose some level of customization. For example when I checked you couldn't add colored drop shadow under the view on android. Also because react native uses native views you can't just create your own canvas and draw on it (probably possible with 3rd party plugin). But in flutter if something is missing or possible, you can create your own widget from ground up using from low level to high level APIs depending on your requirements. The main reason of my switch from react to flutter was:
    - Dart (I prefer type safe languages over dynamic ones and yes I know typescript but it's not static typed as dart. You can't do runtime type checks)
    - Level of customizability (It took me less time to get even better translation of design our UI designer drew into screen)
    - The app didn't needed as much as native look-n-feel
    - I didn't wanted to learn Redux, and struggled with react state management. In flutter if I can't understand a concept, I can easily ctrl+click on the function or class and deep dive into the source code to find out what's going on. But for react native when you ctrl+click you'll either end up in typescript definition or some minified javascript file.

    • @arafatzahan3697
      @arafatzahan3697 3 роки тому +30

      > For example if you want to animate something with javascript, you'll have to send message through bridge which is going to create bottleneck to your performance
      This is a solved problem with nativeDriver and react-native-reanimated

    • @arnaudcortisse1041
      @arnaudcortisse1041 3 роки тому +1

      @@arafatzahan3697 is right :)

    • @vaibhav1180
      @vaibhav1180 3 роки тому +5

      @@arafatzahan3697 And the new architecture, JSI, turbo modules, a lot of things are coming up 😎

    • @fupipupi
      @fupipupi 3 роки тому +2

      @@vaibhav1180 yeahh, the competition is up again

    • @dionysus951
      @dionysus951 2 роки тому +2

      > But for react native when you ctrl+click you'll either end up in typescript definition or some minified javascript file.
      Thanks for pointing this out. Quickly checking the source code of a function or a class is often much more efficient than having to look up the docs on the web.

  • @santiagozapata9056
    @santiagozapata9056 3 роки тому +78

    Keeping in mind that there are efforts out there to bring Skia to React native, so hopefully performance differences between Flutter and React native won't be as "noticeable"

    • @lucccar
      @lucccar 3 роки тому +19

      I don't think there's a need for this anymore. In the last react native cofnerence in september, they announced the Fabric architecture will be the standard for all react components and most of if built in C++, , eliminating the bridge and the memory sharing between the two threads.

    • @eng3d
      @eng3d 3 роки тому +12

      @@lucccar So we could wait for it, or jump straight to Flutter/Dart. Also, since React is friendly with their updates and nothing is broken (of course I am joking), so the election is obvious.

    • @_dinesh
      @_dinesh 2 роки тому

      Flutter is moving to a better rendering Engine will most like won't use Skia. :P

    • @santiagozapata9056
      @santiagozapata9056 Рік тому +1

      @@_dinesh Does not change the fact that state of the art arrived to react native, aside from that, as stated by the man behind react-native-skia react-native-impeller could be a thing as they keep an eye on it, still you could say react-native already used skia because that's how android renders items on screen

    • @kelvinpina3392
      @kelvinpina3392 Рік тому

      Still how how you translate JavaScript code to native code?

  • @grape2063
    @grape2063 3 роки тому +32

    His voice is therapeutic i swear

  • @deepmeyt
    @deepmeyt 3 роки тому +31

    Finally a quality content that ends the debate for good.

    • @Youraverageprogrammer
      @Youraverageprogrammer 3 роки тому +1

      But who won? 😅

    • @LinkEX
      @LinkEX 3 роки тому +7

      @@Youraverageprogrammer If we go by a list of pros and cons as presented in this video, presumably Flutter.

    • @gmkr17
      @gmkr17 3 роки тому +4

      @@Youraverageprogrammer 💙 Flutter of course

    • @ilyasayusuf5447
      @ilyasayusuf5447 3 роки тому +1

      @@Youraverageprogrammer flutter have a good performance, but react native provide better developer experience.
      As the rules of programming "performance means harder to master and need more development time".
      I try both, i would say Flutter > RN.
      But i'll stick with RN and typescript because reusable component make faster developing time

    • @FurqanaFathuzzaman
      @FurqanaFathuzzaman 3 роки тому +1

      @@ilyasayusuf5447 I don't have that much experience with RN, but I though reusable conponent in RN could be comparable to flutter widget? Or am I wrong?

  • @JavierZavaletaVirasoro
    @JavierZavaletaVirasoro 3 роки тому +236

    I would say that one of the biggest advantages Flutter has over React Native, is it's support and integration with Flare. If you have the proper design team behind your back, the results might just be mind blowing.

    • @Hypergraph
      @Hypergraph 3 роки тому +33

      Yeah, flutter's biggest advantage is it allows very custom ui designs to be coded easily. flare is just 3rd party.

    • @fupipupi
      @fupipupi 3 роки тому +2

      @@JavierZavaletaVirasoro hahaha

    • @subbu7512
      @subbu7512 2 роки тому

      Hey i have one doubt, can i start learning dart and flutter without having any knowledge in app development,or what should I learn before starting Dart and Flutter.Between I know Python and C.

    • @JavierZavaletaVirasoro
      @JavierZavaletaVirasoro 2 роки тому +1

      ​@@subbu7512 To be honest I don't really use either one of them, so I don't know their learning curve or have a big insight on their challenges. But from the little info I know, their aim is to be supper easy so if they do achieve that, and considering that you do know how to code, then you should be fine.

    • @clintonharold8375
      @clintonharold8375 2 роки тому +6

      @@subbu7512 just get the courses and learn it straight. No need going to learn anything else before that one… I have never written any code before and I started to learn coding with flutter. It has been an amazing experience. Almost done with building my start up with it

  • @juxuanu
    @juxuanu 3 роки тому +276

    You shouldn't be nesting all those widgets. The idea behind Flutter is to create a .dart file for each widget. This is how you handle bigger projects.

    • @geomorillo
      @geomorillo Рік тому +6

      Nice

    • @Nexus_array
      @Nexus_array Рік тому +1

      yes

    • @kalahari8295
      @kalahari8295 Рік тому

      Lol

    • @lucascamelo3079
      @lucascamelo3079 6 місяців тому +4

      I make a .dart per page of my app, lol.

    • @muayyedsiraj
      @muayyedsiraj 6 місяців тому

      ​@@lucascamelo3079 Yes that best practice but even each havee may have code that are repeated codes so you need to pit that as a widget in another file called utility...

  • @DaraulHarris
    @DaraulHarris 3 роки тому +399

    I wish we could see the compiled kotlin/html/swift
    When compiling dart to html you don't get html elements, you get one massive canvas that does everything.

    • @rand0mtv660
      @rand0mtv660 3 роки тому +27

      Is the canvas option the only option? Doesn't it have a secondary option that actually renders other appropriate HTML elements?
      I'm not that informed about Flutter so I'm not 100% sure about this.

    • @DaraulHarris
      @DaraulHarris 3 роки тому +2

      @@rand0mtv660 not that I know of

    • @rand0mtv660
      @rand0mtv660 3 роки тому +41

      @@DaraulHarris There is an HTML renderer and CanvasKit renderer, but HTML renderer still apparently uses combination of HTML elements, CSS, Canvas elements, and SVG elements

    • @baetraki7268
      @baetraki7268 3 роки тому +6

      @@DaraulHarris thier is an optional html renderer

    • @seanthesheep
      @seanthesheep 3 роки тому +6

      I believe Flutter also maintains a separate visually hidden tree in the DOM for screen readers in addition to the canvas

  • @Gorgggg
    @Gorgggg 3 роки тому +39

    At 7:30 you mention that dart unlike typescript does provide null-safety. Typescript also has the option to compile time check for nulls though. Strict mode just hast to be turned on

    • @Ked_gaming
      @Ked_gaming 2 роки тому +3

      Strict mode protects against the any type, you can still have null/undefined values, it doesn't provide null safety

    • @Gorgggg
      @Gorgggg 2 роки тому +7

      @@Ked_gaming strict mode actually keeps you from making errors in a lot of ways. There are are indeed a few things related to any (like noImplicitAny), but also quite a few related to initialisation and nullability, the most important one being strictNullChecks, but also strictPropertyInitialization and many more help against possible null values.

    • @codegambit2507
      @codegambit2507 2 роки тому +8

      I don't think u understand. Dart has sound null safety. Your code won't even run if use a null value. U get the error message before compiling

  • @swiftieforever5152
    @swiftieforever5152 6 місяців тому +2

    Thanks for the video, after going through most of the comments I've decided to go with Flutter as it seems more intuitive. Hopefully I'll be able to build something good with it.

  • @alex_skobe
    @alex_skobe 3 роки тому +9

    Nice, i am recently choosing between two for a new project, and end up with flutter. After web, it was a learning curve delay for new language and the way of styling things with widgets. But i am absolutely happy, and honestly speed of development with hot reload, vscode extension, co-pilot and vim is crazy fast..!

    • @victor95pc
      @victor95pc 2 роки тому +1

      RN also has hot reload build-in...

  • @philanthropist91
    @philanthropist91 Рік тому +1

    above all the amazing stuff and your delivery style, i really love the funny things you say in between, this makes the videos not soo boring like other peoples videos

  • @cb-99-46
    @cb-99-46 3 роки тому +8

    This guy knows literally everything ... He's a god

  • @srikkanth-tech
    @srikkanth-tech 4 місяці тому

    I am a designer and I can appreciate the effort in making this video with cool animation to drive the point.. Its not so flashy but very much appropriate.

  • @salmanhaider14
    @salmanhaider14 11 місяців тому +51

    I'm chosing React Native because I'm well settled in react ecosystem . I'm used to it and I love it. And I think I can build android apps much quicker in React Native as it's all the react js with lil bit different styling and semantics. So learning another language and whole another framework can be waste of time when there would be no significant difference in the product for the end user as the fireship said. So I think RN is the perfect choice for the devs coming from the react/js environment. And with expo , it's much better and evene easier .
    Life is too short. Make things simple and save your time. And avoid unecessary complexity.

  • @karansarin1986
    @karansarin1986 8 місяців тому +2

    As a designer, I appreciate that you tilted the Google evil corp logo, while adding the horns.
    As a designer, I also appreciate that flutter has the flutterflow no-code builder!

  • @BenRangel
    @BenRangel 3 роки тому +26

    Great overview. I was already more used to ReactNative but not a huge react fan, was hoping Flutter would be for me but the "harder to copy-paste" thing convinced me otherwise
    (and I don't mean I copy-paste code I don't understand - I'm saying I like to copy-paste my own vanilla JS and html)

    • @zachwright6528
      @zachwright6528 3 роки тому +5

      Its really not that bad. The worst it ever gets is you need to fix a few brackets.

    • @redistan7048
      @redistan7048 3 роки тому +1

      @@zachwright6528 and with vscode is really easy, if you have a problem btw just or add some brackets everywhere ahaha

    • @CanalMateriaGriz
      @CanalMateriaGriz 2 роки тому +1

      You are not supposed to next widgets in the same file, create files for each widget

  • @ulbsualbrykya7141
    @ulbsualbrykya7141 3 роки тому +185

    let's just hope that flutter web will be more reliable in the future

    • @alibabaintelligence8281
      @alibabaintelligence8281 3 роки тому +17

      i still have nightmares about richtext and selectabletext

    • @ulbsualbrykya7141
      @ulbsualbrykya7141 3 роки тому +20

      @@alibabaintelligence8281 lmao, even regular texts rendered on flutter html are ugly

    • @yb3985
      @yb3985 3 роки тому +1

      @@ulbsualbrykya7141 why this is so true 😂

    • @ophirraj356
      @ophirraj356 3 роки тому +5

      by that time WASM will be mainstream

    • @Justin73791
      @Justin73791 3 роки тому +6

      @@ophirraj356 I really hope WASM bridges the gap between web apps and native.

  • @bilibubule
    @bilibubule 3 роки тому +4

    when you speak at 8:44 about the widget tree, it remind me of the time i tried flutter 3 years ago, i had the exact same problem with it and as i can see it's still the same 3 years later

    • @supremedeity9003
      @supremedeity9003 3 роки тому +2

      Time isnt something that will change that. It is their fundamental design principle and i would like if they keep it like that instead of adding functional components. Quite honestly even though i am a fan of react, i hate how it allows both class and functional components. It causes a lot of confusion for newbies and also when trying to find help normally.
      Being consistent and only having one choice makes the dev more efficient as he goes. The tree problem is something you can work around by simply having a self rule of abstracting code into other components when the heirarchy reaches a certain limit. The plugin also makes it extremely easy to do this.

    • @kusayfarhan9943
      @kusayfarhan9943 3 роки тому +1

      He neglected to mention that you can extract parts of the widget tree to a function. Similar to react.

    • @bilibubule
      @bilibubule 3 роки тому

      ​@@supremedeity9003 "It causes a lot of confusion for newbies" i agree with that but having deeply nested object don't help new nor experienced programmers so i don't see the actual benefit
      "abstracting code into other components when the heirarchy reaches a certain limit" i agree with this statement but flutter love using way too mush lines for garbage like )]}, and making a new component only move the problem elsewhere
      the styling norm is the real problem here, having 10+ lines of garbage at the end of my file and don't be able to easely figure out what is refering to what is not a sign of good codding style
      We always say "write simple and readable code", well here it clearly not help especialy on big apps

    • @PanosPitsi
      @PanosPitsi Рік тому

      @@supremedeity9003 ohh no somebody else didnt make every decision for me I my head is going to explode 😦😧 (I am an npc)

    • @supremedeity9003
      @supremedeity9003 Рік тому

      @@bilibubule firstly i know its been a year but i didnt know of your reply till now.
      1) Either you have never actually used React/Html and Flutter or you never bothered to actually compare the two. Nesting is a thing that happens in both React AND flutter.
      I dont get how having 10+ lines of )} or something is a issue? When using html/jsx you will also end up with tonnes of element close brackets (). Also with the plugin, it will show you exactly which component the ) belongs to.

  • @TheKrazyKat89
    @TheKrazyKat89 3 роки тому +109

    Just watching this video, knowing little about either tool, Flutter seems like the better choice.
    Sure, you have to learn a "whole new language", but when the language is syntaxically familiar, that's not much of a hurdle.

    • @Nathan-jk4nr
      @Nathan-jk4nr 3 роки тому +13

      I don't use react but working with dart over js is a pleasure.

    • @bullettime2808
      @bullettime2808 3 роки тому +4

      Plus the performance gap with React Native is just way to large

    • @FurqanaFathuzzaman
      @FurqanaFathuzzaman 3 роки тому +18

      Came from C# background, and yeah, no significant challenges in learning the language. It's definitely easier to learn dart than js in my case.
      The learning curve came from the Flutter itself, especially the hundreds kinds of state management

    • @vanhelsing4454
      @vanhelsing4454 3 роки тому +9

      I know java, And Im coding comfortable with dart in just 2 days

    • @Nathan-jk4nr
      @Nathan-jk4nr 3 роки тому +1

      @@vanhelsing4454 @Van Helsing same, plus the vscode extension is very helpful to get the exact syntax

  • @webunlocked
    @webunlocked 3 роки тому +1

    That dude is so lucky for having his article mentioned by you! His views 🔝

  • @willinton06
    @willinton06 3 роки тому +47

    True gangster use Blazor within a MAUI shell, while it’s still on preview

    • @shahabuddingohar2034
      @shahabuddingohar2034 3 роки тому +4

      So how's the development experience?
      I hope you could send the demo repo link here.

    • @ParamSiddharth
      @ParamSiddharth 3 роки тому +1

      Yes, that would be great!

    • @FilledStacks
      @FilledStacks 3 роки тому +1

      lmao I've been following it for so long because of my love for C# :D

    • @leonardocontreras9690
      @leonardocontreras9690 Рік тому

      Lol. But can it do mobile?

  • @AbegazNap
    @AbegazNap Місяць тому +1

    one of the more comprehensive videos about the tech stacks out there, not simple agitprop from one side or the other

  • @el7284
    @el7284 3 роки тому +53

    The deep nested Widget thing is definitely NOT a problem lmao.
    You would separate components the same way you would in RN, by proper planning.

    • @juanandrescastillofuenmayo6619
      @juanandrescastillofuenmayo6619 3 роки тому +6

      Yeah, most UI creation verbose across most programming langs can be avoided with proper organization and planning ahead.

    • @thefakedeal
      @thefakedeal 3 роки тому +5

      In my experience, it's easier to deeply nest components in Flutter, while using React or RN its really painful while you don't even think about it in Flutter.

    • @innovationscode9909
      @innovationscode9909 3 роки тому

      That was a messy, unreadable code right there. He should have refactored it and done proper, clean, thoughtful abstractions

    • @zachwright6528
      @zachwright6528 3 роки тому

      You don't even always need a new widget. Just create a function to pull parts out. You can have some SUPER readable code in this way.

    • @jimmorrison2657
      @jimmorrison2657 2 роки тому +2

      @@zachwright6528 I was thinking the same, mate. I am a Flutter programmer, and I do this. My code is never deeply nested. But I do worry that less experienced/disciplined coders will be tempted to write deeply nested code with Flutter. Code that I will then have to try to read. It's not just about the code I write myself but also about the code other people write.

  • @coolnanel
    @coolnanel 3 роки тому +1

    Bro, I was thinking about researching about this just a couple of days ago, because I am trying to decide which one I want to learn more in depth and then just started to watch Netflix and forgot about it. And now I see your video on my feed!!!

  • @Snooper555
    @Snooper555 2 роки тому +8

    Been using react native with expo framework. Developing on a M1 MacBook Pro, and developing Android apps using Expo has been very easy. The struggle of configuring and setting up an Android Emulator with Android Studio on a M1 is too much of a hazzle for me. Else I'd try out Flutter aswell.

    • @jitsemarx
      @jitsemarx 2 роки тому

      I actually had zero struggles with android studio and the android emulator (on m1). What was your struggle about?

    • @Snooper555
      @Snooper555 2 роки тому +1

      @@jitsemarx frankly i don't really remember anymore. But i remember it being difficult to setup in the beginning, at least for me. I think times have changed though, so i could probably give it another try.

  • @aminelagab4830
    @aminelagab4830 3 роки тому +1

    when you want to subscribe to fireship but you realize that you already did i ! thanks man

  • @marna_li
    @marna_li 3 роки тому +40

    I would love to see a breakdown of Blazor and how it compares to other frameworks.

  • @brandonsayring
    @brandonsayring 3 роки тому +2

    This is the only dev channel on youtube that I can't keep up with at 2x Playback speed

  • @catbb
    @catbb 3 роки тому +14

    i’ve enjoyed doing flutter web along with firebase 👍🏽 i loved it

  • @haiderimam8977
    @haiderimam8977 3 роки тому +2

    Ok Someone give this guy a medal for his work🔥🔥🔥🔥🔥

  • @mykolamykhaliuk
    @mykolamykhaliuk Рік тому +7

    As a js developer I can say that dart is simliest language I ever learn. 95% similar to typescript. But better. So switching to dart is not as Big problem as every video says. But Flutter technology is one step higher technology of ui styling and easy of achive amaizing results on ui. I tried react and create couple apps. Learning was not as fast.

  • @lukeonuke
    @lukeonuke 2 роки тому +8

    I love how flutter became what javafx was, write once run anywhere is finaly possible

    • @OnyekachukwuEjimns
      @OnyekachukwuEjimns Рік тому +1

      I swear. Am once a javafx dev but now am super in love with flutter

  • @alryanacain1470
    @alryanacain1470 3 роки тому +25

    Great video as always! I totally agree that refactoring is more difficult in Flutter. Changing the UI sometimes feels like starting from scratch again.
    On the issue of deeply nested widgets, if one child widget starts to get larger, you can always separate it in another function or create another widget for it. And to share data between widgets, you can use state management tools like Provider.

    • @thefamousdjx
      @thefamousdjx 3 роки тому +1

      Refactoring is pretty much automated for you in android studio. I even realised other day that you can just drag and highlight a random section of code and right click will offer an option to turn the code into a separate function if its make sense enough

    • @zachwright6528
      @zachwright6528 3 роки тому +1

      @@thefamousdjx Its the same in vscode. :D

  • @tofudeliverygt86
    @tofudeliverygt86 Рік тому +1

    As someone who has worked with React and web for a long time,
    Flutter feels like a breath of fresh air to me (but I am only working with it for a short while).

  • @baileyconradt1519
    @baileyconradt1519 3 роки тому +5

    I've been watching your videos for 2 years now, and man I am just so grateful for these bite-sized powerful tutorials. Thank you for showing everyone just how cool coding can be!

  • @guestofallah7661
    @guestofallah7661 3 роки тому

    Now I'm sur that this is my favourite tech channel ! Great job dude !🔥

  • @codehash1549
    @codehash1549 3 роки тому +252

    I have experience of 2yr with both these framework. And from experience I must say flutter is far way better than react native.

    • @md.mahedihasan9525
      @md.mahedihasan9525 3 роки тому +54

      Most of the experiences developers are saying it.

    • @theurbainas3185
      @theurbainas3185 3 роки тому +4

      Why

    • @G-lost109
      @G-lost109 3 роки тому +1

      Same

    • @Dude-os3tl
      @Dude-os3tl 3 роки тому

      True

    • @kios1973
      @kios1973 3 роки тому +13

      no its not, dart is just as verbose as java is, perfomance wise its better, but thats where it ends

  • @UthpalaBandaradoor
    @UthpalaBandaradoor Рік тому +2

    If you now java, catching up with dart is so easy! in love with flutter!

  • @aminansar5294
    @aminansar5294 2 роки тому +17

    I love flutter. It’s performance is great and I was able to learn it and get comfortable with it quite quickly despite not having any prior experience with mobile app development

    • @imdebu
      @imdebu 2 роки тому

      How much time did you take and what resources you used to learn it???

    • @shubhamtariyal439
      @shubhamtariyal439 2 місяці тому

      @@imdebu 1 month with 5-6 hrs daily for intermediate level if you are familiar with programming

  • @mitch761
    @mitch761 Рік тому +1

    I picked up react coming from flutter and I feel there’s so much more that I don’t really need, I think it makes more sense if I already have a website or web app that needs to go native

  • @joaobonsegno
    @joaobonsegno 2 роки тому +16

    I don't have a nice sensation with Dart. I think the deep nested components and the verbose syntax makes the code much less readable or intuitive, so I really prefer looking into React Native codes. And when an app gets bigger, more readable codes can ne significantly important, so I kinda prefer RN currently

  • @howtoearn1664
    @howtoearn1664 3 роки тому

    oomg! I was waiting for years on this!

  • @j3rry837
    @j3rry837 3 роки тому +54

    I was a java developer. And react was so hard for me. But in just 7 days i learned Flutter.. After 1 month i got job. Now im a solo flutter developer. And i can handle an entire project by my self.

    • @imnemo2327
      @imnemo2327 3 роки тому +1

      I know java so from where could i learn Flutter?

    • @j3rry837
      @j3rry837 3 роки тому +4

      @@imnemo2327 i learnt from YT. Their are plenty of YT videos

    • @imnemo2327
      @imnemo2327 3 роки тому +2

      @@j3rry837 any specific content creater you liked?

    • @j3rry837
      @j3rry837 3 роки тому

      @@imnemo2327 ua-cam.com/users/flutterdev
      CodeX

    • @notyournormaldev1419
      @notyournormaldev1419 3 роки тому +5

      React is hard for those who don't know js with react you can kil two birds with one stone

  • @CodeSynergy
    @CodeSynergy 3 роки тому +1

    Excellent and quick comparison of these two technologies. Thanks

  • @VincentJenks
    @VincentJenks Рік тому +17

    For me, as a developer, my first consideration is market adoption. It's a big time-investment to learn a new platform, especially if it comes with a new language. I don't want to master a skill I can't leverage professionally, since there is SO much to learn and so little time in life. The exception being some pet project you're super into...but work keeps me from those things most of the time, personally. I see a lot of demand out there for React and React Native but I never hear about Flutter/Dart. I've also seen some complaints around the webs about Flutter devs struggling to find work in the current market. Just thoughts.

    • @davidmachado132
      @davidmachado132 11 місяців тому +3

      Thanks for your view, it is nice to see the opinion of someone who is already involved with the market.

    • @bakasenpaidesu
      @bakasenpaidesu 11 місяців тому +1

      😂😂😂

  • @JoaoGuilhermePan
    @JoaoGuilhermePan 2 роки тому +2

    Loved the spork analogy 😂

  • @bboychris168
    @bboychris168 3 роки тому +53

    I'm literally brand new to programming. And I can say I've tried both react and flutter. Flutter has been alot easier for me.

    • @reiko_dev2281
      @reiko_dev2281 3 роки тому +1

      Something to have in mind too, is that if you don't know nothing about HTML/CSS, with RN you will have to put some effort to learn it (at least the basics), turning the things a bit more complicated. While if you're developing with flutter you don't have to give a shit for it.

    • @samerhannah5530
      @samerhannah5530 3 роки тому +2

      Flutter is not easy trust me ;)

    • @bboychris168
      @bboychris168 3 роки тому +1

      @@samerhannah5530 what makes you say that

    • @samerhannah5530
      @samerhannah5530 2 роки тому

      @@bboychris168 I tested it and tried it it's different eco system and not easy to absorb

    • @victor95pc
      @victor95pc 2 роки тому

      @@samerhannah5530 Beside a not-very-useful language outside Flutter world, while Javascript/Typescript is a hot language in the market, with RN you will also get React experience which is super good too, with Flutter you will learn Dart and only use it for Flutter nothing else

  • @thisissyedbasim
    @thisissyedbasim 3 роки тому +1

    I was waiting for some content by fireship for days!! I was so much bored! Love your content

  • @VideoBunt
    @VideoBunt 3 роки тому +5

    Dart is fun (similar to ts) and I don't know why, but I feel deep satisfaction to code in flutter

  • @smlgd
    @smlgd 2 роки тому +2

    9:13 the big catch in performance is that comparing CPU-intensive tasks is not realistic. If you need to run CPU-intensive algorithms in RN you'll probably offload it to a native-based compiled module just like you use Cython for running CPU-intenisive stuff in python, for example. Most RN libraries that implement intensive stuff do that for you as well.

  • @adnankhalil9640
    @adnankhalil9640 3 роки тому +49

    I learnt dart as my first language , and started creating flutter apps a year ago. Last month i needed some liberaries for the apps but many things are missing, dont get me wrong, all packages for everything thats related to the app ecosystem is available. However when you leave the ecosystem you start to find that there is so much npm can give u of true value that you just cant on flutter. So i started learning React js and oh boy , i fell in love . Now i am going to start on react native and hoping its same as react.

    • @ElVerdaderoAbejorro
      @ElVerdaderoAbejorro 3 роки тому +13

      React is awesome, but React Native is a huge hack that doesn't work as nearly as advertised.

    • @leoMC4384
      @leoMC4384 3 роки тому +11

      My experience was exactly the opposite. I learned JS first and worked with React for a while. That's why I tried React Native first but it was awful, lots of bugs, incompatibilities, the emulator crashed pretty much all the time and so on. It was driving me nuts. Dart was very easy to learn and the overall developing experience on Flutter was 200% better.

    • @butbutmybutt
      @butbutmybutt 3 роки тому

      I do flutter and vuejs. I keeping up with both techs maybe u too?

    • @SUPABROS
      @SUPABROS 2 роки тому +1

      @@leoMC4384 I really really really like react, so I use that but I agree with react native being awful. It is slow and awful, I am still learning flutter, started learning dart like today so I don't know alot, the only thing I like about RN is its easy way to make components

  • @Mark.Robins
    @Mark.Robins Рік тому +1

    I currently use Flutter, and I don't intend to change, the way of programming in Dart/Flutter is something that makes life easier in mobile development.

  • @marcelomarchetto7373
    @marcelomarchetto7373 3 роки тому +8

    You should make a video about the styled components library! it would be awesome!
    😁

  • @killicit
    @killicit 8 місяців тому

    8:26 I already finished a project using Flutter before watching this video. Didn't know there's a wrap button... It wasted me so much time that I started to regret using flutter rather than kotlin or react. It makes so much sense why there are so many people using flutter now........

  • @ahmadjamalmughal47
    @ahmadjamalmughal47 2 роки тому +4

    Thanks for the video man I loved how you stayed impartial considering how sensitive developers of both frameworks can be about this comparison lol.

  • @shivanis1537
    @shivanis1537 5 місяців тому

    This is an incredible vido - the based ive seen so far! thank you!

  • @decodex4754
    @decodex4754 3 роки тому +43

    I'm learning flutter as a beginner 🔰

    • @Shyloo
      @Shyloo 3 роки тому +1

      i used reactnative and it sucks so flutter cant be worse trust me

    • @ukaszzajac6704
      @ukaszzajac6704 3 роки тому +3

      japanese symbol for begginers

    • @Shubhoib
      @Shubhoib 3 роки тому

      Run bro

    • @runo9
      @runo9 3 роки тому +15

      @@Shyloo does react-native suck or do u suck as react-native developer 🤔

    • @decodex4754
      @decodex4754 3 роки тому

      @@runo9 yes it does and also it gives many errors and lacking in animation control

  • @chris-hayes
    @chris-hayes 3 роки тому

    Exactly the comparison I needed right now.

  • @megh.835
    @megh.835 3 роки тому +41

    I have a question, if I choose to go forward with Flutter would I be locked into using material design (or cupertino), or would I be able to make it look however I want easily like in React Native?
    Anyways, great video as always!

    • @leovvvvv
      @leovvvvv 3 роки тому +31

      Never used React, but you can easily design Flutter widgets to your liking. A 'Container' is a basic widget similar to a , and you can style it the way you style a in css (e.g. border, border radius, shadow, flexbox, color, etc).

    • @yb3985
      @yb3985 3 роки тому +15

      If you mean material design as a principle, "no". But if you mean material as a component, "yes"

    • @Apoorvpandey
      @Apoorvpandey 3 роки тому +6

      There are videos on YT where flutter team made a Mac UI from 1990s in Flutter... so I don't think this would be an issue

    • @mohammednihad6755
      @mohammednihad6755 3 роки тому +7

      You can use either one of them but customize it to look the way you desire (and don't underestimate the "customize" word here, you can literally change everything as you like). If that's not enough for you, then you can also create your own design system entirely from scratch!

    • @theguy5423
      @theguy5423 3 роки тому +1

      No. You can use your custom styles anytime

  • @demirg
    @demirg 3 роки тому

    Great video, many thanks for the quick comparison.

  • @hyoretsu1
    @hyoretsu1 2 роки тому +89

    One huge drawback of React Native is being overly dependent on 3rd party packages. I literally could not find a calendar package that worked decently and could filter dates.

    • @strawberrychocolatefudge6210
      @strawberrychocolatefudge6210 Рік тому +19

      yeah, it's a huge drawback. I spent most of my time hunting for packages 🤮 and when I do find one that works it's deprecated or needs maintainers. expo is also 💩

    • @user-xedwsg
      @user-xedwsg Рік тому

      @@strawberrychocolatefudge6210 expo is shit for sure

    • @AlexanderSuraphel
      @AlexanderSuraphel Рік тому

      @@strawberrychocolatefudge6210 I have been reading that Expo is great now. What didn't you like?

    • @strawberrychocolatefudge6210
      @strawberrychocolatefudge6210 Рік тому

      @@AlexanderSuraphel overall I don't like react native. It was not flexible enough for me. I was looking for packages on NPM all the time and if I wanted to implement native stuff I needed to eject the config for it to work. I was fighting with the framework a lot and spent a lot of time with weird bugs.
      Some cryptography stuff I wanted to use didn't work at all like RSA (Native android) and other stuff.
      Expo is great of you wanna connect your phone to your dev environment with WIFI and have hot reload but that's all. A one trick pony imho. You will start relying on expo packages for your app and don't have good access to native.
      I recommend Capacitor from Ionic. You can use React,Vue Angular or any framework, even vanilla JS.
      It's very straight forward. It's a webview where you can do all browsers things (except the window.crypto api, https is not available)
      and capacitor is a bridge between your webview and your native code and you can modify both very easily.
      Development experience was like coding for the web + native android dev.
      I never ran into bugs caused by the framework and actually migrated code from React Native,stuff that didn't work good in react native because of deprecation but worked great in this environment with some tweaks.
      So yeah if you want JS on mobile, I recommend Capacitor from Ionic.

    • @ary_21
      @ary_21 Рік тому

      Can you advice a date range picker package for me
      All those out there are deprecated and i have my submission day after tomm

  • @mreis1969
    @mreis1969 2 роки тому

    Nice comparison, really appreciated!

  • @nabilfreeman
    @nabilfreeman Рік тому +3

    I noticed a few small errors, for example pressing R for React Native does a complete reload and not a hot reload (the partial reloads just happens as you save the files), but nice comparison overall. After seeing how nasty those widget trees get on Flutter I'm glad I am on React Native!

  • @JokrasTV
    @JokrasTV 3 роки тому +1

    How do you always make exactly the videos I need at the time
    Thanks 👍🙂

  • @MahbuburRahman-uc7np
    @MahbuburRahman-uc7np 3 роки тому +17

    The long nesting of widgets can be easily avoided by using Custom Widgets. You don't have to create your custom widget from scratch.
    Create the long nesting of widget and then use the refactoring in Vscode to create custom widget of that code. EASY.

    • @sidmirzyev5077
      @sidmirzyev5077 3 роки тому

      Same bro

    • @jvcss
      @jvcss 2 роки тому

      yep! create a nice arch in job files s2

  • @markshinkai598
    @markshinkai598 3 роки тому

    thank you for this!, i hope you reach 1m subscribers soon!

  • @MrTurbo_
    @MrTurbo_ 3 роки тому +23

    From having used both for multiple months at work i can say with confidence I'd take flutter over react native in a instant, debugging in flutter is even easier than depicted in this video and 10 times nicer then debugging react native, almost never having runtime errors is also addicting, I've built multiple pages with state without running it once and it would just work first time, it's really stable, no updates breaking that one component, if you need a component it probably is already built in, the docs are a 10 out of 10, also the vscode tools are the best, also better than shown in this video and the cherry on top is you can compile for Android, iOS, macos, windows, Linux, web and even will work for making something like the ui for a coffee machine with a raspberry pi, if you know flutter you can built anything ui related you want

  • @alkishadjinicolaou5831
    @alkishadjinicolaou5831 10 місяців тому +1

    How would you compare the 2 frameworks to MAUI or even Unity?

  • @asdaasdas-mu2ti
    @asdaasdas-mu2ti 6 місяців тому +5

    An iOS developer here. Recently had to learn RN for a project. I had worked briefly in Flutter a year ago. Compared to Flutter, I had a much better developer experience as a beginner in RN thanks to Expo.

  • @cerealtech4138
    @cerealtech4138 7 місяців тому +1

    I love flutter it is a really solid framework easy and user friendly, once you practice and complete at least 2 or 3 project you wont be nesting scopes anymore, its type script like look and feel is fantastic, with the tools that flutter gives you its super easy to debug. Also flutter have its own 2d and 3d engine. I swear flutter is making my life better and much productive, you wont belive the amount of free time i gained since i switched to flutter (coming from kotlin and swift)

  • @kanjuicy585
    @kanjuicy585 3 роки тому +5

    You can create functions for UI Components in Flutter as well. In fact, it's easier to integrate those functions in your UI than RN since you're dealing with a single launguage.
    I think people highly inflate the nesting problem in flutter. Yes it's a little annoying when you're a newbie. But the more experience you get with writing Flutter code, the less nested your Widget Trees will be.
    I'm sorry Fireship, but what I saw at 8:45 was badly written/formatted flutter code.

    • @georginascott6677
      @georginascott6677 2 роки тому

      True could have easily create directory for everything function makes it easier to read and follow

  • @cobrasys
    @cobrasys Рік тому +1

    Very interesting. Other than the nesting of widget trees, Flutter seems like a much more satisfying dev experience, by my lights. Thanks for this one, Jeff!

  • @Paarthk
    @Paarthk 3 роки тому +3

    You mention that Dart has strict null checking as an advantage it has over TS + React Native, but TS also has strict null checking. Is there something that Dart does better there?

  • @พรภวิษย์ภิระแก้ว

    FACTS!!!!!! Thank you so much man, you're the best!!!!!!!!!

  • @goodguydynamitegaming387
    @goodguydynamitegaming387 2 роки тому +6

    Starting flutter as an absolute beginner, I can say after learning 5ish language to just their basic fundamentals, flutter has the best documentation, where an actual beginner can understand and has ease to skim through the documentation and use it to solve problems without running to stack overflow or tutorials, and vs code's refactoring helps sooo much in nesting widgets and not worry about it, the dart dev tool is really really powerful for debugging and giving a top down view of the widget tree along with its characteristics. I've never used javascript/typescript so I can't comment on react, but I'm a beginner in java and flutter is imo Better for cross platform because it's ease of access and rich library for pre-made widgets
    So far making 3 simple projects in flutter, it's motivating as widget trees and functions enclosed in them are really easy to understand if you have a separate dart file for separate tasks.

  • @johnhammer8668
    @johnhammer8668 2 роки тому

    Thanks for saving 3 hours of my time and stress. You are amazing

  • @Troyx_
    @Troyx_ 2 роки тому +7

    For anyone interested: the problem of nesting in flutter is trivially solved by the "builder functions" - local methods that build separate segments of the component, and are called from the main build method (or other builder functions). This is of course when splitting a widget into multiple smaller widgets is not worth the effort.

    • @YoussefElBehi
      @YoussefElBehi 2 роки тому

      It's a bad practice to separate in methods. You should always separate in classes

    • @Troyx_
      @Troyx_ 2 роки тому +2

      @@YoussefElBehi You should *never* say *always* ;)

    • @YoussefElBehi
      @YoussefElBehi 2 роки тому

      @@Troyx_ Sure

    • @matejpesl1
      @matejpesl1 2 роки тому

      @@YoussefElBehi Thats so untrue

    • @YoussefElBehi
      @YoussefElBehi 2 роки тому

      @@matejpesl1 it’s literally written in the official doc.

  • @edupazz
    @edupazz 3 роки тому +1

    1:54 thanks for rotating Google to place the horn

  • @boris_js
    @boris_js 3 роки тому +10

    I mean in the end performance does matter. I am a 5 years react dev and was thinking to switch to react-native, but seeing this video now i have to learn flutter 😭

    • @rand0mtv660
      @rand0mtv660 3 роки тому +15

      If you don't have to squeeze absolute max performance between the two, then it might make sense for you to go with React Native just because you will be way more productive because of your previous React experience. Many times you pick a technology not because it's potentially better on paper, but because it's better for you and your project. RN is still very powerful, don't get fooled.

    • @martinaarhusgregersen935
      @martinaarhusgregersen935 3 роки тому +5

      @@rand0mtv660 Indeed. Plus, why would you go for the unknown "second-best" option, instead of going for the unknown best option; native development. Learning flutter for performance, if you aren't familiar or-close-to with its syntax, doesn't really make a lot of sense.

    • @boris_js
      @boris_js 3 роки тому +1

      @@rand0mtv660 hey thanks! Maybe i can take the easy way out for now😉

    • @a7medev
      @a7medev 3 роки тому +3

      The performance of React Native improved very much when Hermes came in, and most of these benchmarks are using the old engine not Hermes, also React Native is getting a new architecture that removes the bridge and makes the performance very impressive.

    • @clashgamers4072
      @clashgamers4072 3 роки тому +1

      If end performance is high priority then native apps are better but for apps like online music player or social media app where most of the processing is done in a server end performance is affected by the network and backend more than the mobile device