Flutter Review 2021 - pros vs cons

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey it's tom so i've spent a couple of last weeks playing with flutter after a long time of avoiding multi-platform solutions because of bad memories caused by cordova i decided that this year i will give them a chance again today i want to share with you my thoughts about flutter from the perspective of ios developer ok let's start let's start with what i find really good so at first dart is super easy to learn if you know javascript java swift or kotlin the syntax is very similar to js so you can start playing with flutter after two or three hours of reading dark documentation and cheat sheet which i really recommend another good thing is that you can use the ide of your choice android studio visual studio code intellij you can use whatever you want thanks to this you don't have to learn both a new language framework and id at the same time it also helps to start quickly it's super easy and free to learn it from scratch detailed documentation lots of tutorials explaining every aspect of app programming a dedicated youtube channel with many videos well i'm really impressed the same ui on all devices is really true this time it's not only a clickbait in flutter ui is drawn from scratch pixel by pixel this is why it's possible to achieve exactly the same look on every single device platform and device version the app will look exactly the same not only on ios and mac os but also on every android phone regardless of the theme created by the manufacturer funny thing is that this is impossible to achieve using native android programming because of the widgets are customized there are tons of ready to use widgets that save time and allows you to quickly prototype apps that look great either you will choose material ui or cupertino theme this is pretty similar to what mobile developers are used to as both android and ios offer widgets for most typical use cases but for web developers that might be a nice surprise if you don't like the system widgets you can always customize it or use built-in layouts to build your own widgets from scratch of course that's that's also easy to do another great thing is hot reload if you are developing a more sophisticated app and you have meeting with designers who want to move it a little bit left or um well actually maybe move it a little bit right then you will love hot reload as it will save you a lot of time this is just one situation but it really improves the development process on a daily basis if you are an android or ios developer you will be surprised how much time does it save you spent less time on testing if you have one code base then you write tests once this is obvious but sometimes we forget about such things and this can be also considered as a great time saver and let's be honest nobody likes to write tests another thing that is still in my mind is state management it's pretty easy to learn if you have ever worked with react.js you can just use the same concept either props help or go into much cleaner state management which concept is really familiar to react developers we have provider and consumer that allows us to skip data propagation between multiple nested widgets which are not really using it another important thing and i think good is declarative programming it demands a different way of thinking as lot of mobile developers got used to imperative programming but for react developers flutter looks more like a sugar syntax than a new platform and framework okay not everything is so great so let's talk about those things that annoy me flutter draws everything from scratch and looks exactly the same on all platforms this is great if you're writing your whole app in flutter but if you want to write only a part of your app in flutter it will most likely look different than the rest written using native sdk as a result your app will look weird like frankenstein of course you can write android part using material ui and ios part using cupertino widgets thanks to that it will look more native but you'll dip you will duplicate a lot of code at least whole ui code and i'm not really sure if this will still save your time another important thing is that flutter is not major and i feel like it's missing some broadly accepted architecture standard android uses mvp ios uses mvc or mvvm and in the case of flutter each source code i have seen was using some own approach this is really weird another thing that you should still keep in your mind is that accessing more sophisticated platform-specific features still demands writing native code and calling it from flutter keep that in mind because if your app does need to work with bluetooth wi-fi maybe custom camera access or any other sophisticated technology it may turn out that you will write a lot of native code and just ui rubber in flutter and as a result you will sacrifice native feeling and not save as much time as you expect another problem is that it's easy to say that you write once design once and deploy to all platforms but let's be honest mobile ui doesn't look as good as a web same with desk desktop you need to redesign the app and as a result you start using different widgets which force you to handle logic in a little bit different way writing one app for android and ios is okay that really works but i feel like support for other platforms is not really needed at least at this point and they offer just better tools to develop great native apps for for them not really sure if this is a big problem for me that was obvious but it might not be obvious for everyone you still need an apple computer to build flatter apps for ios because flutter sdk uses xcode to prepare builds okay so you already know what are my key observations about flutter so it's definitely time to sum it up i really like flutter and i will definitely spend more of my free time playing with it but i'm still convinced that it will not replace native development flutter is a great tool to rapidly prototype mvp which you can present to your investors potential clients or partners it might be also an awesome solution if you have to deliver the app as soon as possible to get more time to work on more sophisticated and more polished native solution but if you have to deliver some more sophisticated app then you start writing more and more native code and as a result the profit of using flutter is getting smaller and smaller last but not least of course it's owned by google and they like to kill things hopefully it will not happen to flutter anytime soon but at some point who knows just keep that in mind i hope this video helped you if you agree or disagree with my insights feel free to let me know in the comment section below the video thank you for watching and see you next time bye
Info
Channel: Tom Baranowicz
Views: 13,590
Rating: 4.7634411 out of 5
Keywords: flutter, dart
Id: UuBM126Pf3I
Channel Id: undefined
Length: 7min 18sec (438 seconds)
Published: Wed Feb 03 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.