Built a TodoApp on React Native, Flutter and Native. Which one is better?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
today we are going to compare app development technologies to appreciate their advantages disadvantages and performance we are going to be exploring three different technologies which are flutter react native and native android so let's get started first of all a couple of quick notes first most of these performance tests are going to be developed on my phones which are a samsung galaxy note 3 and an iphone 5s since these are the devices that i own uh i know these aren't the greatest and latest phones but i will try to do my best to make this video second all the apps were tested using the release build and installed on the device so the experience is the same as an application being used on production third i got this idea from a great firesheet video in which essentially he makes a total app on different web frameworks so i thought it would be cool to make this idea on mobile frameworks as well i saw the two web design on a techlets video so credits for all these great people so first we have react native which i think is one of the most popular framework for mobile app development these days it was super easy for me to get started with it since i already know a little bit of react in javascript and i was already familiar with the framework and environment i decided to use expo which is a close javascript environment in which developers don't have to worry about writing native code which was super nice for me i wanted to use material design so i decided to use react native paper which essentially has all the material components like buttons app bars and dialogues already built for me so taking a quick look at the code you can see is pretty simple especially if you already know like react this is a piece of cake for you basically i am using react hooks like use state to update the to-do list array and add or remove the item so as you can see here is a result and it only looks and feels pretty good on android as you're seeing right now the startup time is about 4 seconds and the app size is of 116 megabytes on the device i want to point out that i tried the app on ios and i noticed that the keyboard was overlapping with the text dialog which was a bug that i found was documented on the react native paper github since some time ago so i think that i could probably fix it and i'm sure that i'm doing something wrong on react native paper but overall i think that this is not the framework's fault so i will say it is okay anyways so next we have flutter which was a little bit harder for me to get started with since i didn't know that much about dart but after some time i got used to that pretty easily since i already knew javascript and they are both similar i was really impressed that the flutter already has previewed components which are easy to use and it was fantastic however i feel that in for some parts like while making a stateful widgets i was kind of writing in a different manner than in react but i think that or the overall experience was great the code is also pretty simple and as you can see flutter uses widgets to build uis and it also has the set state function to update components overall i felt that flirt was a great experience so as you can see here is a result and it honestly looks and feels pretty good on android and as you are seeing right now the startup time is about 2 seconds which is like half or react native's startup time and the app size is also about 28.8 megabytes on the device which is also very less compared to react native so well i think that far maybe a little bit faster and i still think that flutter is great i like it finally we have native android development for this one i am not using jetpack compose and i probably should have done that since this project was very small and simple but overall i felt that some packages and libraries like glide exoplayer and all that stuff weren't completely available yet on jetpack compose since it is very new so i went with the traditional xml for this i have to say that it took me a lot of time to make this app compared to the other frameworks and i think there are a few reasons first as i said i did not use jetpack compose but furthermore as you are seeing the implementation took a lot of line of codes and i think that was primarily because i was using java which is known for having a lot of boilerplate and i had to use a recyclerview to make the list and that stuff was really hard for me plus i wasn't used to the xml approach and i had to learn all these new ways to make the layout like relative layout linear layout and all this stuff which was a little bit difficult for me overall i still think that native android development is great but i couldn't find as many tutorials for things on youtube in comparison with the past framework so it was hard plus there was no hot reload so i had to reinstall the app every time i wanted to test it as you're seeing right now the startup time is about only one second which is super fast and the app size is now only 4.27 megabytes on the device which is shockingly good so overall i was really impressed with the great performance and i think that jetpack compose can make under development better for developers in the future finally as you are seeing right now their startup times are way better on native code and i still think that native is the best way to develop a performance oriented app however you may prefer using react native visual original react or flutter if you want to have a little bit more performance than react native and still being able to develop a cross platform app overall i think that these are all great tools but each of us have to decide which one to use depending on their project needs so that's it for the video and thank you guys
Info
Channel: PeterCodes
Views: 236,011
Rating: 4.7437487 out of 5
Keywords:
Id: kjvfqfNadcM
Channel Id: undefined
Length: 6min 8sec (368 seconds)
Published: Sun Aug 29 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.