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

  Рет қаралды 1,956,363

Fireship

Fireship

Күн бұрын

A side-by-side comparison of React Native and Flutter. I built a mobile chat app with both frameworks to understand differences in developer experience, tooling, code, and performance.
🔥 Use discount code O2LdtRD6 for 30% off fireship.io/pro
#flutter #react #versus
🔗 Resources
Performance Comparison / flutter-vs-native-vs-r...
React Native Demo fireship.io/lessons/react-nat...
Flutter Chat Demo fireship.io/lessons/flutter-f...
📚 Chapters
00:00 React Native vs Flutter
00:57 Language
01:41 Ecosystem
02:04 Philosophy
02:42 Architecture
04:00 Developer Experience
05:45 Tooling
07:39 Code
09:13 Performance
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Comparing Flutter to React Native
- Mobile app development
- Native iOS and Android Development
- Cross-platform app performance

Пікірлер: 1 400
@kaushikkalesh1678
@kaushikkalesh1678 2 жыл бұрын
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 2 жыл бұрын
Yeah Boi 😘
@chullupa
@chullupa 2 жыл бұрын
Yeah! I suggested a Terraform video and he did it too.
@mateja176
@mateja176 2 жыл бұрын
That's Jeff for you, a man of virtue!
@AndreaGiacon
@AndreaGiacon 2 жыл бұрын
He's awesome. Even the clearness of his explanation. He has only 1 problem: never gave me that glorious t-shirt :D
@dje7382
@dje7382 2 жыл бұрын
Great guy
@KaSSa__
@KaSSa__ 2 жыл бұрын
"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 2 жыл бұрын
Well that was a Wierd take 😭
@vaisakhkm783
@vaisakhkm783 2 жыл бұрын
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 2 жыл бұрын
@@vaisakhkm783 no they are not.
@ammarahmed5907
@ammarahmed5907 2 жыл бұрын
@@vaisakhkm783 and google has the history of dumping many open source projects at any moment they like.
@nivaldolemos5280
@nivaldolemos5280 2 жыл бұрын
Fuck those big tech corps. I'll stick with good old Oracle Java.
@patrickbluth943
@patrickbluth943 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
exactly! just extract your logic and you'll be fine
@djosefandersson7605
@djosefandersson7605 2 жыл бұрын
Absolutely same feeling. It is just like angular or web, but just works more predictable because of the types and good tooling
@Giigigi1122
@Giigigi1122 2 жыл бұрын
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 2 жыл бұрын
@@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
@pictzone
@pictzone 2 жыл бұрын
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 KZbin like usual (for entertainment purposes), but I'm actually still learning code. Amazing!!!
@piesquareisg
@piesquareisg 2 жыл бұрын
Exactly!!
@AkshatSinghania
@AkshatSinghania 2 жыл бұрын
True , same
@dipanjanghosal1662
@dipanjanghosal1662 Жыл бұрын
Damn my friend, you're probably my clone. Or maybe I'm yours.
@yousufrashwan
@yousufrashwan 8 ай бұрын
Same thoughts when watching every fireship vid
@pinkdiscomosh2766
@pinkdiscomosh2766 2 жыл бұрын
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 Жыл бұрын
Agreed with you ...
@leonardocontreras9690
@leonardocontreras9690 4 ай бұрын
There is a package for anything
@Skia_
@Skia_ 2 жыл бұрын
Woah! I didn't know that Flutter's rendering engine is called Skia Time to drop React native
@onetdev
@onetdev 2 жыл бұрын
It was you the whole time :O
@idukpayealex
@idukpayealex 2 жыл бұрын
calm down you can just react-native so easily
@henrypowell3496
@henrypowell3496 2 жыл бұрын
lol and it's really fast
@sameermishra3598
@sameermishra3598 2 жыл бұрын
😂😂😂
@KangJangkrik
@KangJangkrik 2 жыл бұрын
Imagine skia using skia It's like cow eating beef lol
@TheMR-777
@TheMR-777 2 жыл бұрын
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 KZbin and found this Video uploaded 23min ago :), Thanks, Man! You *LITERALLY* listened to our Hearts!
@cli23
@cli23 2 жыл бұрын
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.
@andythedishwasher1117
@andythedishwasher1117 2 жыл бұрын
This answered some oddly specific questions I've been debating with a friend of mine. Thanks dude. This channel is magical.
@yousufrashwan
@yousufrashwan 8 ай бұрын
I didn't imagine I can get motivation to code from a code tutorial, your channel is a 💎 in the community.
@nitrohite
@nitrohite 2 жыл бұрын
Love the Grindr color theme that you used for the apps 😆
@MrBraianzzz
@MrBraianzzz 2 жыл бұрын
You deserve every single penny from KZbin. Thanks for the great content and high quality videos!
@dhananjaywithme
@dhananjaywithme 2 жыл бұрын
"Dart makes it really hard".... to write code that results in a runtime error. 😂 You had the RN fans there
@matkomilic201
@matkomilic201 2 жыл бұрын
bruh wat
@ko-Daegu
@ko-Daegu 2 жыл бұрын
@@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 2 жыл бұрын
​@@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 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 2 жыл бұрын
@@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
@sjeff26
@sjeff26 Жыл бұрын
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 Жыл бұрын
Flutter discourages the usage of helper methods - Take a look at this video - kzbin.info/www/bejne/f4DcomCbibebrNE
@marcelomarchetto7373
@marcelomarchetto7373 2 жыл бұрын
You should make a video about the styled components library! it would be awesome! 😁
@epicsheepgamer7002
@epicsheepgamer7002 Жыл бұрын
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?
@maximuschapman7760
@maximuschapman7760 9 ай бұрын
Bro who plays games in 30 fps that's like scratch
@jkjoker777
@jkjoker777 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@Qizot why you can't flutter 2 has it
@rishabhgusai96
@rishabhgusai96 2 жыл бұрын
@@Qizot wait for the strict mode to turn on. Hail TypeScript.
@carldrogo9492
@carldrogo9492 2 жыл бұрын
Well, that's because Typescript is an option NOT mandatory! 🤡
@jkjoker777
@jkjoker777 2 жыл бұрын
@@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
@DaraulHarris
@DaraulHarris 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@rand0mtv660 not that I know of
@rand0mtv660
@rand0mtv660 2 жыл бұрын
@@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 2 жыл бұрын
@@DaraulHarris thier is an optional html renderer
@seanthesheep
@seanthesheep 2 жыл бұрын
I believe Flutter also maintains a separate visually hidden tree in the DOM for screen readers in addition to the canvas
@arslanaziz3831
@arslanaziz3831 10 ай бұрын
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
@guestofallah7661
@guestofallah7661 2 жыл бұрын
Now I'm sur that this is my favourite tech channel ! Great job dude !🔥
@alex_skobe
@alex_skobe 2 жыл бұрын
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 жыл бұрын
RN also has hot reload build-in...
@parissszarka1583
@parissszarka1583 Жыл бұрын
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 Жыл бұрын
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
@kristiformilchev6417
@kristiformilchev6417 11 ай бұрын
@@dedelabinouze5110 Someone decided that is too smart to understand SOLID, and became a web developer.
@gamersgient5486
@gamersgient5486 8 ай бұрын
I hate class components 🙃 Functional components are superrrrrr easy man 😁 And hooks are emotion🥹
@JokrasTV
@JokrasTV 2 жыл бұрын
How do you always make exactly the videos I need at the time Thanks 👍🙂
@chris-hayes
@chris-hayes 2 жыл бұрын
Exactly the comparison I needed right now.
@BenRangel
@BenRangel 2 жыл бұрын
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 2 жыл бұрын
Its really not that bad. The worst it ever gets is you need to fix a few brackets.
@redistan7048
@redistan7048 2 жыл бұрын
@@zachwright6528 and with vscode is really easy, if you have a problem btw just or add some brackets everywhere ahaha
@CanalMateriaGriz
@CanalMateriaGriz Жыл бұрын
You are not supposed to next widgets in the same file, create files for each widget
@juxuanu
@juxuanu 2 жыл бұрын
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 8 ай бұрын
Nice
@muaaznadeem2575
@muaaznadeem2575 7 ай бұрын
yes
@kalahari8295
@kalahari8295 6 ай бұрын
Lol
@demirg
@demirg 2 жыл бұрын
Great video, many thanks for the quick comparison.
@kaydenhardcastle
@kaydenhardcastle 2 жыл бұрын
Nice work! Very inspiring as usual! You got dat flow 👍
@ahmadjamalmughal47
@ahmadjamalmughal47 2 жыл бұрын
I fricking love the simple animation around 00:39 how you put the different colors of blocks of text together.
@marna_li
@marna_li 2 жыл бұрын
I would love to see a breakdown of Blazor and how it compares to other frameworks.
@howtoearn1664
@howtoearn1664 2 жыл бұрын
oomg! I was waiting for years on this!
@ahmadjamalmughal47
@ahmadjamalmughal47 2 жыл бұрын
Thanks for the video man I loved how you stayed impartial considering how sensitive developers of both frameworks can be about this comparison lol.
@Fabian-_-
@Fabian-_- 2 жыл бұрын
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 2 жыл бұрын
React native only
@thebigshorttrader
@thebigshorttrader 2 жыл бұрын
@@SuperSurendraverma flutter is the best
@NymezWoW
@NymezWoW 2 жыл бұрын
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 2 жыл бұрын
@@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 2 жыл бұрын
@@alexander_farkas Do i really have to explain why it can be a problem to use a niche single purpose language for serious projects?
@CodeSynergy
@CodeSynergy 2 жыл бұрын
Excellent and quick comparison of these two technologies. Thanks
@mitch761
@mitch761 10 ай бұрын
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
@seanfang398
@seanfang398 2 жыл бұрын
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 жыл бұрын
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
@baileyconradt1519
@baileyconradt1519 2 жыл бұрын
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!
@hamzasabri5610
@hamzasabri5610 2 жыл бұрын
This is amazing video thank you so much man. Could you please do another video in the up coming months comparing them, the frameworks grew so much in the last couple of months and so did the community
@coolnanel
@coolnanel 2 жыл бұрын
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!!!
@rayhaanalykhan
@rayhaanalykhan 21 күн бұрын
Buhahah
@themisir
@themisir 2 жыл бұрын
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 2 жыл бұрын
> 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 2 жыл бұрын
@@arafatzahan3697 is right :)
@vaibhav1180
@vaibhav1180 2 жыл бұрын
@@arafatzahan3697 And the new architecture, JSI, turbo modules, a lot of things are coming up 😎
@fupipupi
@fupipupi 2 жыл бұрын
@@vaibhav1180 yeahh, the competition is up again
@dionysus951
@dionysus951 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.
@Gorgggg
@Gorgggg 2 жыл бұрын
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 Жыл бұрын
Strict mode protects against the any type, you can still have null/undefined values, it doesn't provide null safety
@Gorgggg
@Gorgggg Жыл бұрын
@@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 Жыл бұрын
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
@varmoes
@varmoes 2 жыл бұрын
Really educating! Thanks for that amazing content!
@mreis1969
@mreis1969 Жыл бұрын
Nice comparison, really appreciated!
@salmanpatrick
@salmanpatrick 4 ай бұрын
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.
@catbb
@catbb 2 жыл бұрын
i’ve enjoyed doing flutter web along with firebase 👍🏽 i loved it
@howtoearn1664
@howtoearn1664 2 жыл бұрын
teach me please
@Shadowgami139
@Shadowgami139 2 жыл бұрын
@@howtoearn1664 o
@jajasaria
@jajasaria 2 жыл бұрын
Can u share your website link?
@webunlocked
@webunlocked 2 жыл бұрын
That dude is so lucky for having his article mentioned by you! His views 🔝
@cobrasys
@cobrasys 7 ай бұрын
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!
@hcsandbox6463
@hcsandbox6463 2 жыл бұрын
Very accurate comparison for both framework technologies. Also the main drawback in both frameworks. I think Flutter can establish a standard practice breaking down nested widgets into separate, clear functions which is not apparent on web for now . But it is very hard and draining development with React Native with everything starting with no native components, they would need to use a better template on default like with ActionBar. A webpage with none components barely could register impression as an app
@grape2063
@grape2063 2 жыл бұрын
His voice is therapeutic i swear
@adwiyadeshpande9683
@adwiyadeshpande9683 2 жыл бұрын
Amazing video, pls make a similar one about ionic, as its been a while u havent talked about it
@markshinkai598
@markshinkai598 2 жыл бұрын
thank you for this!, i hope you reach 1m subscribers soon!
@JavierZavaletaVirasoro
@JavierZavaletaVirasoro 2 жыл бұрын
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 2 жыл бұрын
Yeah, flutter's biggest advantage is it allows very custom ui designs to be coded easily. flare is just 3rd party.
@fupipupi
@fupipupi 2 жыл бұрын
@@JavierZavaletaVirasoro hahaha
@subbu7512
@subbu7512 Жыл бұрын
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 Жыл бұрын
​@@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 Жыл бұрын
@@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
@deepmeyt
@deepmeyt 2 жыл бұрын
Finally a quality content that ends the debate for good.
@Youraverageprogrammer
@Youraverageprogrammer 2 жыл бұрын
But who won? 😅
@LinkEX
@LinkEX 2 жыл бұрын
@@Youraverageprogrammer If we go by a list of pros and cons as presented in this video, presumably Flutter.
@gowthamkumar4929
@gowthamkumar4929 2 жыл бұрын
@@Youraverageprogrammer 💙 Flutter of course
@ilyasayusuf5447
@ilyasayusuf5447 2 жыл бұрын
@@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 2 жыл бұрын
@@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?
@HappyHorge
@HappyHorge 2 жыл бұрын
Like always, Excellent Work!
@abitofaviation
@abitofaviation 5 ай бұрын
Thanks for this overview
@bilibubule
@bilibubule 2 жыл бұрын
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 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 2 жыл бұрын
He neglected to mention that you can extract parts of the widget tree to a function. Similar to react.
@bilibubule
@bilibubule 2 жыл бұрын
​@@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
@user-fr2fm3ri3w
@user-fr2fm3ri3w 10 ай бұрын
@@supremedeity9003 ohh no somebody else didnt make every decision for me I my head is going to explode 😦😧 (I am an npc)
@supremedeity9003
@supremedeity9003 10 ай бұрын
@@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.
@ulbsualbrykya7141
@ulbsualbrykya7141 2 жыл бұрын
let's just hope that flutter web will be more reliable in the future
@alibabaintelligence8281
@alibabaintelligence8281 2 жыл бұрын
i still have nightmares about richtext and selectabletext
@ulbsualbrykya7141
@ulbsualbrykya7141 2 жыл бұрын
@@alibabaintelligence8281 lmao, even regular texts rendered on flutter html are ugly
@yb3985
@yb3985 2 жыл бұрын
@@ulbsualbrykya7141 why this is so true 😂
@ophirraj356
@ophirraj356 2 жыл бұрын
by that time WASM will be mainstream
@Justin73791
@Justin73791 2 жыл бұрын
@@ophirraj356 I really hope WASM bridges the gap between web apps and native.
@Dracolmao_
@Dracolmao_ 2 жыл бұрын
Niiiiice, Just when i needed this, i spent the last whole week banging my head and figuring out what i wanted, thanks for doing this for us
@cyprientertrais9537
@cyprientertrais9537 2 жыл бұрын
Thanks for this comparaison ;)
@khakcsar
@khakcsar 2 жыл бұрын
Insane comparison. Please also do a comparison of ionic and flutter in some future video please.
@erperejildo
@erperejildo 26 күн бұрын
you can't compare both
@khakcsar
@khakcsar 25 күн бұрын
@@erperejildo Sure
@erperejildo
@erperejildo 25 күн бұрын
@@khakcsar you can't compare apples and oranges. One is a hybrid technology using a web view and the other the closest thing to native using Dart. I have used both for years and are completely different. Also that it doesn't make sense to use Ionic when you can use JS with React Native
@khakcsar
@khakcsar 24 күн бұрын
@@erperejildo Apple and Oranges CAN be compared. The comment is very old and I'm not interested in ionic anymore but a video showing how things work in ionic and flutter and how they differ in their approach, is perfectly valid. I don't know who came up with the rule that 'you can't compare them'.
@erperejildo
@erperejildo 24 күн бұрын
@@khakcsar well, it is a simple rule. What does it taste better? An apple or an orange?
@juniordevmedia
@juniordevmedia 2 жыл бұрын
Loved this one as well 🔥, Just a suggestion, it would be nice to make a video on how to transfer medium to large amount of data from one sql schema to another? Thanks ❤️
@quatreiquorizawa9885
@quatreiquorizawa9885 2 жыл бұрын
After repeating video, just noticed his voice changed by the end XD Anyway, great video. Wish you showed a quick side by side comparison of the 2 apps you created.
@johnhammer8668
@johnhammer8668 2 жыл бұрын
Thanks for saving 3 hours of my time and stress. You are amazing
@chayanbarman337
@chayanbarman337 2 жыл бұрын
This guy knows literally everything ... He's a god
@alryanacain1470
@alryanacain1470 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@thefamousdjx Its the same in vscode. :D
@officialshowsclub
@officialshowsclub 3 ай бұрын
I'm halfway through the video and I got the answer, I'm fucking creating my own programming language.
@kibugenzaking3473
@kibugenzaking3473 11 ай бұрын
this guy is creative! keep up the great work
@el7284
@el7284 2 жыл бұрын
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 2 жыл бұрын
Yeah, most UI creation verbose across most programming langs can be avoided with proper organization and planning ahead.
@thefakedeal
@thefakedeal 2 жыл бұрын
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 2 жыл бұрын
That was a messy, unreadable code right there. He should have refactored it and done proper, clean, thoughtful abstractions
@zachwright6528
@zachwright6528 2 жыл бұрын
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 жыл бұрын
@@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.
@VideoBunt
@VideoBunt 2 жыл бұрын
Dart is fun (similar to ts) and I don't know why, but I feel deep satisfaction to code in flutter
@thisissyedbasim
@thisissyedbasim 2 жыл бұрын
I was waiting for some content by fireship for days!! I was so much bored! Love your content
@StepwaveMusic
@StepwaveMusic 9 ай бұрын
You really aren't wrong... I might've coded in Vue recently but I come from Java and indeed, extends and super made me feel right at home!
@nabilfreeman
@nabilfreeman 5 ай бұрын
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!
@Snooper555
@Snooper555 Жыл бұрын
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 Жыл бұрын
I actually had zero struggles with android studio and the android emulator (on m1). What was your struggle about?
@Snooper555
@Snooper555 Жыл бұрын
@@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.
@JoaoGuilhermePan
@JoaoGuilhermePan Жыл бұрын
Loved the spork analogy 😂
@mohammedaliagha7520
@mohammedaliagha7520 2 жыл бұрын
hey! looking forward to this
@mykolamykhaliuk
@mykolamykhaliuk 8 ай бұрын
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.
@santiagozapata9056
@santiagozapata9056 2 жыл бұрын
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 2 жыл бұрын
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 2 жыл бұрын
@@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 Жыл бұрын
Flutter is moving to a better rendering Engine will most like won't use Skia. :P
@santiagozapata9056
@santiagozapata9056 Жыл бұрын
@@_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?
@sambaotaku
@sambaotaku 9 ай бұрын
I would like a new 2023 comparison, and even thought in what bothh frameworks are better this year, and what's problems are still the same.
@spuriousGeek
@spuriousGeek Жыл бұрын
another great video...thank you sir!
@willinton06
@willinton06 2 жыл бұрын
True gangster use Blazor within a MAUI shell, while it’s still on preview
@shahabuddingohar2034
@shahabuddingohar2034 2 жыл бұрын
So how's the development experience? I hope you could send the demo repo link here.
@ParamSiddharth
@ParamSiddharth 2 жыл бұрын
Yes, that would be great!
@FilledStacks
@FilledStacks 2 жыл бұрын
lmao I've been following it for so long because of my love for C# :D
@leonardocontreras9690
@leonardocontreras9690 4 ай бұрын
Lol. But can it do mobile?
@decodex4754
@decodex4754 2 жыл бұрын
I'm learning flutter as a beginner 🔰
@Shyloo
@Shyloo 2 жыл бұрын
i used reactnative and it sucks so flutter cant be worse trust me
@ukaszzajac6704
@ukaszzajac6704 2 жыл бұрын
japanese symbol for begginers
@shubhankarpandey6242
@shubhankarpandey6242 2 жыл бұрын
Run bro
@runo9
@runo9 2 жыл бұрын
@@Shyloo does react-native suck or do u suck as react-native developer 🤔
@decodex4754
@decodex4754 2 жыл бұрын
@@runo9 yes it does and also it gives many errors and lacking in animation control
@haiderimam8977
@haiderimam8977 2 жыл бұрын
Ok Someone give this guy a medal for his work🔥🔥🔥🔥🔥
@stephdep8825
@stephdep8825 2 жыл бұрын
Wish to see also a comparison between these and tools like Cordova or ionic 🙂
@joaobonsegno126
@joaobonsegno126 2 жыл бұрын
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
@Paarthk
@Paarthk 2 жыл бұрын
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?
@the-old-channel
@the-old-channel 2 жыл бұрын
Awesome! It would be cool to compare them with svelte native which uses native script!
@hamidshaikh3324
@hamidshaikh3324 2 жыл бұрын
Thank you for making this type of video that are awesome and get new things from your videos Please make video on kotlin, how kotlin will replace java in future why kotlin is good. and kotlin can be used instead of js in reactjs....!
@fiaXyINC
@fiaXyINC 2 жыл бұрын
Most of the fps related issues have been resolved by Reanimated library for React Native by software mansion. Nice video though.
@lukeonuke
@lukeonuke 2 жыл бұрын
I love how flutter became what javafx was, write once run anywhere is finaly possible
@Quik_Dev
@Quik_Dev Жыл бұрын
I swear. Am once a javafx dev but now am super in love with flutter
@Khushpich
@Khushpich 2 жыл бұрын
Great video as usual. What about app cold start time?
@user-vf7lt7us4z
@user-vf7lt7us4z Жыл бұрын
FACTS!!!!!! Thank you so much man, you're the best!!!!!!!!!
@TheKrazyKat89
@TheKrazyKat89 2 жыл бұрын
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 2 жыл бұрын
I don't use react but working with dart over js is a pleasure.
@bullettime2808
@bullettime2808 2 жыл бұрын
Plus the performance gap with React Native is just way to large
@FurqanaFathuzzaman
@FurqanaFathuzzaman 2 жыл бұрын
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 2 жыл бұрын
I know java, And Im coding comfortable with dart in just 2 days
@Nathan-jk4nr
@Nathan-jk4nr 2 жыл бұрын
@@vanhelsing4454 @Van Helsing same, plus the vscode extension is very helpful to get the exact syntax
@Troyx_
@Troyx_ Жыл бұрын
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 Жыл бұрын
It's a bad practice to separate in methods. You should always separate in classes
@Troyx_
@Troyx_ Жыл бұрын
@@YoussefElBehi You should *never* say *always* ;)
@YoussefElBehi
@YoussefElBehi Жыл бұрын
@@Troyx_ Sure
@matejpesl6442
@matejpesl6442 Жыл бұрын
@@YoussefElBehi Thats so untrue
@YoussefElBehi
@YoussefElBehi Жыл бұрын
@@matejpesl6442 it’s literally written in the official doc.
@CryptoWulf_app
@CryptoWulf_app 2 жыл бұрын
You can create a function to return a widget in flutter as well but its better to create widgets because for rebuilds.
@badalsaibo
@badalsaibo 2 жыл бұрын
For animation there's reanimated library, which is quite the standard and supports spring animation.
@stardrake691
@stardrake691 Жыл бұрын
Which one? Flutter or React Native.
@AkshayKumar-kz6zh
@AkshayKumar-kz6zh 2 жыл бұрын
I literally was searching React vs Flutter for my next video. Even had a chat with my friend who's a Mobile App developer. How do you do this Jeff? You're a mind reader!!
@m3hdim3hdi
@m3hdim3hdi 2 жыл бұрын
what's your friend opinion?
@AkshayKumar-kz6zh
@AkshayKumar-kz6zh 2 жыл бұрын
@@m3hdim3hdi He's a Flutter dev so he was a bit biased. But I told him my project requirements (I needed real-time geolocation and push notifications, always-on display like google maps) and he told me did something similar, and Flutter works just fine. If you're trying to prototype and ship an app fast then Flutter is better since it has many widgets built by google engineers for most of the tasks you need. Why reinvent the wheel when Google devs are doing it. I'm a react developer so I was a bit biased for RN but I have to give it to Flutter.
@AkshayKumar-kz6zh
@AkshayKumar-kz6zh 2 жыл бұрын
@@ranjith27 nope
@pratt_p1
@pratt_p1 2 жыл бұрын
At the end, the only reason I think I'm gonna go with native is because I already know React and learning a whole knew lang might be a bit too much 😔. I do know java and c# though 🤔, as jeff pointed out, so dart might be worth a look 🌝
@reiko_dev2281
@reiko_dev2281 2 жыл бұрын
Dart is very easy bro, give it a try, you won't regret it!
@thefamousdjx
@thefamousdjx 2 жыл бұрын
@@reiko_dev2281 I was very surprised with how easy it is when I started. And coming from python I felt at ease seeing familiar keywords like 'print' lol
@tofudeliverygt86
@tofudeliverygt86 7 ай бұрын
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).
@tabliqatchi6696
@tabliqatchi6696 2 жыл бұрын
Thanks for the confidence I re-gained so I'll keep using React :D
@MrTurbo_
@MrTurbo_ 2 жыл бұрын
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
@AshishKumar-kv4hr
@AshishKumar-kv4hr Жыл бұрын
I'm sold!
Node.js: The Documentary | An origin story
1:02:49
Honeypot
Рет қаралды 471 М.
Кәріс тіріма өзі ?  | Synyptas 3 | 8 серия
24:47
kak budto
Рет қаралды 1,6 МЛН
Learn React Hooks: useMemo - Simply Explained!
13:41
Cosden Solutions
Рет қаралды 70 М.
Reacting to Controversial Opinions of Software Engineers
9:18
Fireship
Рет қаралды 1,9 МЛН
React Native vs Flutter in 2024 - Make the RIGHT Choice (Difference Explained)
10:31
Daniel Dan | Tech & Data
Рет қаралды 119 М.
GPT-4o - Full Breakdown + Bonus Details
18:43
AI Explained
Рет қаралды 125 М.
Flutter vs React Native : which one is worth it, and why?
10:20
Kodaps Academy
Рет қаралды 72 М.
100+ JavaScript Concepts you Need to Know
12:24
Fireship
Рет қаралды 1,8 МЛН
God-Tier Developer Roadmap
16:42
Fireship
Рет қаралды 6 МЛН
13 Advanced (but useful) Git Techniques and Shortcuts
8:07
Fireship
Рет қаралды 878 М.
The ARM chip race is getting wild… Apple M4 unveiled
4:07
Fireship
Рет қаралды 837 М.
7 ways to deal with CSS
6:23
Fireship
Рет қаралды 1 МЛН
What % of charge do you have on phone?🔋
0:11
Diana Belitskay
Рет қаралды 248 М.
Vortex Cannon vs Drone
20:44
Mark Rober
Рет қаралды 13 МЛН