CORRECTIONS: - image picker uses native picker now, cool - Flutter rewrote their entire engine again, and if you use the new Impeller engine, it addresses some of the iOS jank - the creator of Flutter was so pissed about the OTA thing that he quit Google to start a company to do it himself (Shorebird iirc) This video is an edit of a rant from stream. I get asked dozens of times a day about my thoughts on a framework I genuinely hate. Sorry I was spicy at the end. I stand by every word.
@t3dotgg Жыл бұрын
(Also, still waiting for someone to name a single good Flutter app I can install and try on my iPhone. Don’t you dare say EBay Motors)
@cula4083 Жыл бұрын
I think either Pixels or Pixels Journal by Teo Vogel are made with Flutter, but he may have changed them idk
@_____case Жыл бұрын
@@t3dotgg Reflectly has a great iOS app. And it's been available for years.
@TechBuddy_ Жыл бұрын
Google pay Stadia ( with negative latency lol 😂 ) They are also improving the ffi bridge to make it better. I use both react native and flutter ( wierd I know ). RN is fantastic when you already have a team of web engineers. Flutter has awesome dx ( well..... Dart is uhm IDK not that great but ) the hot reload and the pace of dev is very good Anyways you have great points ( for now........ hopefully 😅 )
@oussamabouchebak6877 Жыл бұрын
@@t3dotgg How about you name a mobile app that you'd like built and I try building it in flutter? just for fun.
@drantunes Жыл бұрын
Flutter can call native APIs as same as Kotlin or Java in Android, for example. Your explanation is wrong. Native APIs, like sensors, exposes a C / C++ API via Android NDK - Native Development Kit. Kotlin and Java abstracts the NDK to facilitate the development, calling these native methods via JNI (Java Native Interface). In background, this communication uses a foreign function interface (FFI), a mechanism that allow a communication between languages in binary level. Well, Dart have the dart:fffi and (recently) supports JNI. About the UI engine: is a choice. Instead of having different layouts and inconsistencies across platforms, you can effortlessly get same design app on iOS, Android, Mac, Windows, Linux... This is extremely useful for companies with same design system across platforms (e.g. Spotify). If the design team needs the OEM widgets, so RN makes sense and Flutter will be a pain. Your Image Picker explanation is definitely wrong. Flutter can call the Native OEM widgets and functions of Android and iOS using the platform channels in the more near level than RN bridge. As well, if more performance will be need, just call native C/C++ via FFI... The Jank video showed have 2 years ... now, Flutter uses the Impeller engine and calls Metal / Vunkan renderers. Code Push is now possible in Flutter with Shorebird, created by a ex-Google engineer. Opinions are important. But it's not fair to spread misinformation about something you don't know about...
@dongueW Жыл бұрын
Interesting
@gofullstack Жыл бұрын
Ask him to keep the JS contents, that's why I'm here its fun too use. I think we need to verify things these guys say on KZbin lol
@juliusab Жыл бұрын
Thank you just what I was saying. Theo is not a flutter dev. For people who have started with RN and moved to flutter and actually learnt to build good apps the right way we can easily tell you Flutter>RN. I just feel bad for people here who will like to try flutter but skip cos Theo's opinion.
@mrrobinet55516 ай бұрын
can you create a native view and show it in your flutter (skia canvas)?
@redsun9594 Жыл бұрын
Flutter gives you full access to the underlying native layer via platform channels, you can show and hide toasts, and you can also do an outlet to show native UI when it makes sense (for example when showing Google map, google ain't gonna rewrite google maps for Flutter), so your argument on this regard is misinformed Flutter has tons of native bindings to native libraries as well, I guess (???) not as much as React native, but that's subject to change I don't know where you read about image picker, it sounds absolutely made up, pickers use native code because it's just plain easier to write Abstracting native makes sense because you support a lot more platforms Jank is mostly gone with Impeller, the issue you're referring to seems to not be updated but has been mentioned to Impeller which is enabled by default is iOS and is soon to be fished for Android Flutter is far from perfect, but your arguments seem vastly misinformed. 1. Not using a native platform allows for more uniformity and code portability 2. The engine doesn't suck, even though it still has ways to go, it only gets better with time 3. Flutter can do OTA updates, this would require some changes in the engine, but they don't do it, because app stores don't allow it anyway React Native is good, Flutter is good, neither is perfect, and both are getting better with time, competition is good, mixing facts to make your thing look cooler - not good.
@hoobz1988 Жыл бұрын
Theo’s vendetta against Flutter is kind of weird and unjustified. At the very least it is super misleading because there are A LOT of inaccuracies in his arguments that do more harm than good when objectively talking about a Framework.
@t3dotgg Жыл бұрын
1. Why not use Unity then? 2. It’s incredibly unreliable compared to native platforms, and often overlooked by the primary audience of Flutter (early career devs) 3. OTA is still a very early thing in Flutter. The literal creator of Flutter quit Google to solve the problem because it was THAT BAD. I also update App Store apps via OTA at least once a week, it’s a very soft “ban” I’m sorry man, but your word to incorrect assertion ratio here is much worse than mine 🤷only people checking the replies are Flutter fanboys so ratio away
@EmptyWaterBee Жыл бұрын
1. Why use browsers then? 2. RN is even more unreliable. You have to rely on community developed packages for implementing every little thing. 3. I don't think many people care about OTA updates.
@prerakmann1418 Жыл бұрын
I feel Theo is intentionally writing stuff to provoke, perhaps for views. Soon natural selection will do its thing. We'll see what's better as the years go by 😃
@MikeNugget Жыл бұрын
@@t3dotggWhat a childish way to write arguments w/o proofs 😂
@yousafwazir3167 Жыл бұрын
I’m disappointed. Once I realised I should just build in stead of argue of every technology I should use, I realised I was more productive 🎉
@bogdansinitsa5089 Жыл бұрын
I used React Native for my project a couple of years ago, and the development experience was not good at all. The debugger would fall off constantly, library updates were a nightmare, with a lot of random bugs. Sometimes, the project simply wouldn't run anymore for weird reasons. Quite often, I had to troubleshoot strange errors with unclear descriptions. At some point, I gave up and switched to Flutter, which simply provides better development tools out of the box.
@t3dotgg Жыл бұрын
A few years ago, there was a lot of work to be done. Things have gotten much better in a post-Expo world, I highly recommend checking RN out again
@AntonioBrandao Жыл бұрын
Yeah React Native was a mess without Expo
Жыл бұрын
My experience as well. Flutter tooling is orders of magnitude simpler and more powerful. Honestly, I think Theo hasn't spent 5 min trying out Flutter. If he had made just one app he'd know that we can also call native SDK via platform channels and even C or Rust libraries via the FFI. It's okay, who cares anyway...
@Healing_Bunny Жыл бұрын
@@t3dotgg Couldn't the exact same argument be made for flutter? It doesn't seem like you have used it in its present state.
@t3dotgg Жыл бұрын
@ You literally can't call native UI at all since it's not a native render layer. You can call APIs in like the backend sense, but you can't render anything from native land
@shannonhall5055 Жыл бұрын
14:25 flutter calls the native image picker, it uses platform method calls to call native functions just like react native does. Image croppers, maps, phone etc etc. In fact you can create your own methods and call anything native you want.
@exprove2496 Жыл бұрын
I agree with some of his takes; however, making wrong statements like this reveals that Theo likely hasn't spent much time practicing with Flutter. Consequently, his opinion loses credibility. In my opinion, providing viewpoints to a broad audience without sufficient knowledge about both platforms is not right.
@phantomofhavoc Жыл бұрын
absolutely correct! And my team is building our own channel to create a flutter SDK to call our native SDKs! becuase we have fully developed echo system nativly built and we want a quick way to port it to flutter!
@Aleaths Жыл бұрын
Not the first time Theo has a smooth brain take on something Typical for a webdev (nodev) that are crazy about frameworks
@giuliopimenoff Жыл бұрын
@@exprove2496even if he made a wrong statement, it doesn't mean that the other things he said aren't correct or well said
@BooleanDev Жыл бұрын
@@giuliopimenoff it certainly discredits it if he misses something so basic
@bobDotJS Жыл бұрын
I built a bot that gives Theo takes. No AI needed. All it does is ask "Is this a JS ecosystem technology?". If not, it says "it sucks". So obviously Kubernetes sucks, Flutter sucks, Rust sucks, etc...
@hambaba Жыл бұрын
Why does JS people always love to hard sell RN so badly? (The same case also happened in my old company). I’ve used RN myself to have a single codebase for 3 platforms altogether. The dev experience was really bad and there are a bunch of overhead implementing things on each platform. Don’t even get me started on debugging 😅 Native dev experience for me personally is still better. Haven’t got any experience in developing with flutter tho, so I can’t say much. In the end of the day all of them are just tools. Use what solves your problem and suits your use case best. Don’t need to die on a hill for it
@arashitempesta Жыл бұрын
must be because of expo, react native by itself is a completely different beast, with expo you just install compatible packages and can test immediately on your own device, and even add native code not supported by expo nowadays, and gives so much stuff that people overlook some jank that you will still find sometimes. for example recently I had an issue on react native with expo that, I've had to use adb tools to see crash logs on the compiled apk 😅didnt happen in the dev env. its an app that started on the v35 of the expo sdk, is now on the v49 and overall ... no problem free but like I said, so much stuff that outweights the issues you might find.
@Trucho1996 Жыл бұрын
Sounds like you're not a true React dev. The RN experience is very very solid now a days. Specially when count in Expo
@Trucho1996 Жыл бұрын
The React experience itself is rock solid too. With hooks and functional components and now React 18
@MsVsmaster Жыл бұрын
1- because it uses javascript/typescript 2- has lot more job offers than flutter, took canada for example and there is like 60 job offers while for react native it has 800 3- react native is real doing native bridging here and not painting in canvas 4- if you want to move to another background like web or backend you just have to learn the APIs from those sides Flutter has good dx smoother than react native, and looks faster in android, but for job or company owners looking for investment and talents, they will choose first react native because IT IS more accessible.
@DaFuqMIWatching Жыл бұрын
@@Trucho1996 "You're not true react dev" been developing with rn professionally for past 6 years, both expo and non-expo debugging is not great at all. dealing with platform differences and limited api when it comes to it is pain. Anything that is more complicated than a view with a button inside requires a lot of hacking to make it visually satisfying. Maybe my use cases were leaning more on graphical side of things, but Flutter feels like a less janky tool for me. Which in the long run (over the years) saves me a lot of stress over shit breaking. And don't get me started on upgrading RN in mature projects
@adnanjpg Жыл бұрын
I am NOT a flutter fanboy, I've started with flutter and now in the process of moving to React Native for numerous reasons, but I still have the need to say that Theo's flutter videos have a big chunk of lack of research and experience with flutter. Some of the arguments in this video are outdated, but he thought that a correction comment is enough when a lot of the new devs that are led by him may not read it, so he's also misleading the new devs. As he mentioned the benefits of react native on the web, this is clearly not a mobile dev video, so he should've mentioned flutter's desktop stuff, which is what flutter has been focusing on for a while.
@WilsonSilva90 Жыл бұрын
I had some comments from the Flutter perspective, but very quickly realised why experienced Flutter developers abstain from engaging in these rants. There's so much bias and tribalism here that it requires a lot of energy to refute. It is more productive to use that energy to build apps.
@gillesashley93147 ай бұрын
I agree 💯
@christiannababan9744 Жыл бұрын
The fact that developers are hating each other over which framework they prefer is ridiculous and toxic. I've developed app for 9 years now, 4 years with native, 5 years with Flutter (and native, because flutter method channel made it possible), and I also tried React Native, here is my opinion: they're all wonderful tools that can help you create great apps as long as you spend enough time to learn them correctly. I gotta say, this framework wars are nothing but nonsense that only distract us from the real culprit: Lazy employers who only want to take developers with specific framework experience. They don't wanna give any training to new developers or at least give them 1 month time to learn, they'd rather have bad developers with the required framework than good developers who can easily adapt to any new framework/language. This situation makes framework = developer livelihood, inciting hatred to any developers who develop with other framework/language for taking away parts of their opportunity.
@wiztek1197 Жыл бұрын
Smartest guy in this comment section
@toxicflame427217 күн бұрын
You have earned my full respect man
@guramguram6706 Жыл бұрын
I had to develop an MVP of an app with React Native couple years ago. This was my first experience building mobile apps with React Native and i hated every second of it. I would leave for the day, come back next day and perfectly running app wouldn't even compiel. Compiler would just bombard me with kilometers of giberrish text. Flutter on the other hand though...perfect developer experience so far. I'm sure React Native is better now, but for me personally choice is between dev and user experience and how much tech solution compromises in each of them. Flutter seems like a best compromise to me so far.
@s3rit6619 ай бұрын
4:50 The point of Flutter is to have one codebase for all the platform, you give up the native stuff to pay 1/5 of engineering and working with a better written language, that is dart
Жыл бұрын
I really love this channel until the topic flutter comes up ...I spent nearly my whole IT-carier (10+ years) building mobile apps. I mostly used android native but unfortunately I had to use all the other framework like cordova, ionic, xamarin and React Native and not one have delivered what they have promised. Then flutter came and I switched frome native to flutter. I have used flutter since 2017 and since 2018 professionally. I would never recommend react native to anyone who wants to build an app. IMO for a startup I would recommend first build an Website, improve it and use all the PWA features. If that is not enough write a app flutter or maybe Jetpack Compose (which has iOs supper in alpha). In general I would try to push the need for an app as far away as possible. But maybe that just me, and my background in Java / Kotlin land and my general preference for statically typed languagea 😂
@gofullstack Жыл бұрын
I was hoping to see his response to this, lol.
@andreilucasgoncalves1416 Жыл бұрын
Most apps can easily be a website
@Vim_Tim Жыл бұрын
There is so much more to app development & maintenance than whether the programming language is statically-typed. The merits of Dart are totally irrelevant to Theo's complaints about the platform.
@LenkeDev Жыл бұрын
I don’t recommend Compose for iOS…. It would be easier to write SwiftUI and Kotlin multiplatform for some backend logic, but I agree with you in some points.
@smokeyoak Жыл бұрын
"Stop writing your apps in game engines" dang I thought I was blazing a new trail in the field of app development but I guess I'll go back to writing my form based web apps in a JS stack instead of the Source engine
@purvanjaro Жыл бұрын
real chads write apps in source
@underscore. Жыл бұрын
@@purvanjaro real chads write apps in assembly*
@owenwexler7214 Жыл бұрын
@@underscore. real superchads write apps with the Rollercoaster Tycoon engine
@_erayerdin Жыл бұрын
source 2 when?
@additionaddict5524 Жыл бұрын
commenter: what about react native without expo theo: react native with expo is great
@mrrobinet55516 ай бұрын
expo is for beginners, seasoned RN developers don't use it.
@additionaddict55246 ай бұрын
@@mrrobinet5551 i mean, that's clearly just untrue, eg Alan migrated pure RN to Expo
@sourabhsingh45153 ай бұрын
@@mrrobinet5551 nope brother expo is not for beginners it is handling all the hardwork to make things easier for everyone by creating official maintained packages and if you think that professional developers use react native cli instead of expo to build android and ios applications then you are not a good developer bro in development you don't unnecessarily use the hard part to perform things and if you do you are just an old school programmer who wants to perform unnecessary complex tasks
@developeroppa Жыл бұрын
Flutter's developer experience is one reason I use, then the cross platform advantage too is a huge plus and then material 3
@Malix_Labs Жыл бұрын
And we peasants wondered why they take so long to release GTA VI …
@t3dotgg Жыл бұрын
Why release GTA VI when you can re-release GTA V a fifth time?
@thedevminer Жыл бұрын
@@t3dotggGTA V * V :deranged:
@oggy112 Жыл бұрын
@@t3dotgg GTA taking a page out of skyrim's book
@meqativ Жыл бұрын
malix
@Malix_Labs Жыл бұрын
Wow hello @@meqativ, how are you doing? Are you still using S4D?
@maran.ath4 Жыл бұрын
3:48 Flutter "literally" takes screenshots wtf lmao, I get you don't like flutter but mate. Flutter uses a technique called "skia painting" for rendering UI elements, and it doesn't rely on taking screenshots or overlays like you described. When you build a Flutter app, the UI components are drawn directly onto the screen using the Skia graphics engine. 10:56 Flutter makes writing native code and calling it in flutter nearly impossible? okay at this point, I'm assuming you never really used flutter before or something, there's something called PlatformChannels, write in native and simply call it in flutter
@mrrobinet55516 ай бұрын
That's what Skia is if you didn't know, it's a graphic engine same way like unity (just for games). So stop proving Theo's point and use maybe wikipedia before writing nonsense.
@maran.ath46 ай бұрын
@@mrrobinet5551 lmao, so unity takes screenshots and overlays it on a canvas? and I'm the one writing nonesense I keep rereading you're comment and I can't make any sense of it, how did you read the original comment and come up with what you just wrote? Do you even know what is being discussed?
@mrrobinet55516 ай бұрын
@@maran.ath4 you're just dumb, the word 'like' doesn't always mean 'equal'. learn to read the whole sentence. and for your information, unity renders 3d and doesn't try to copy/screenshot native ui elements like flutter.
@sambaotaku Жыл бұрын
Flutter dev here, I think is fine for both to exist. As for the discussion, flutter vs react, both are mainly use by small dev teams, big apps are using native code, as you said flutter developers doesn't know to much about react native, and is the same for react-native devs with flutter(the video itself), in the end, if you are good at one, why would you switch to the other? if you can take advantage of that time to become a native. Both frameworks are improving and that's because are competence, flutter still has important issues to address to get a native-like feel, and react-native has his own issues, don't know much about they, but we are in 2023 and the "next" version is still experimental... but yeah, I would find much better to create a comparison each year, like the Fireship last year comparison, than a rant video. From what I know Philips Hue app is made with flutter, although I don't think the switch to the new engine(for now is op-out, and only for ios).
@pokefreak2112 Жыл бұрын
I seriously doubt you have significant experience writing flutter and Unity apps. as someone that has actually used web, rn, flutter and Unity, flutter is the best platform to make apps for small businesses. - React/Native and web are not made for complex UI's - Unity lacks accessibility and responsive layouts, and the startup time is unacceptable for regular apps With flutter you get to have fancy animations on a small budget, which is exactly why companies want an app. if they wanted some boring UI they would just ask for a website.
@aurkodipde Жыл бұрын
i think i have tried all u have just mentioned..i second u..flutter will win the cross platform war..taking market share from unity, react native, electron & ionic/capacitor..kotlin multiplatform dosent support desktop or web, so there is no comparison.
@aakashr79 Жыл бұрын
Love your content Theo but completely disagree with you on this. Yes, the years of native features baked into native components are invaluable. But it's not like they took years to build. Rather it took years to identify and can be re-implemented in a significantly shorter amount of time in comparison. However that's not what Flutter is about. Coming from a native app dev background, the sheer UI flexibility and native interop that Flutter provides is a game changer and satisfies almost all use cases of an application. The ease of use and intuitive APIs aren't comparable with anything else like RN on the market. (Maybe KMM compose in the future but who knows) The difference between the ease of implementing UI libraries in Flutter & RN are poles apart, let alone the additional native dependencies that might come along with the RN libraries. (We all know how we feel about resolving incompatible dependencies) I am not even going to touch upon bundle size and performance differences. To me one of the major USPs of Flutter is the sole confidence it gives a dev regarding UI design accuracy. I am not saying that the same accuracy isn't possible w/ RN or in native of course, it's just the plain ease with which it's possible in Flutter. And we all know, no matter how complex we can make applications, most of mobile development is just fetching data and displaying standard UI. In this aspect Flutter shines through with the sheer simplicity of the Framework. No hooks. No redux. Just plain and simple classes and context. (Streams or Rx if you want to take it to the next level!)
@Trucho1996 Жыл бұрын
Valid points but your opinion is still not a strong argument for using Flutter over RN or native. You're essentially saying that because Flutter APIs are easier to work with that means is better. Did you forget that the point of an app is to bring some value to your users? Is not about making ur code more readable or increasing your abstraction layer is about the user experience. And I'm sorry but Flutter will never be native and native is what users expect. I think there are good use cases for flutter beyond the ones theo mentions. But let's be honest the majority of developers are just thinking of themselves when picking flutter not about the users
@aakashr79 Жыл бұрын
@@Trucho1996 The user expects an app to be fast and that the features should work seamlessly. What is easy to forget is the business value that comes along with a better dev experience. The pace at which a product can be delivered is a huge win for an organisation. If the user expects native elements, most are already available in the framework. Others can easily be implemented when needed. Just remember. Flutter accesses the graphics layer directly. It’s what the native framework also does. The only difference is that the native elements have in built behaviour in them that can easily be included with Flutter.
@Trucho1996 Жыл бұрын
@@aakashr79 fair but thanks to Expo the RN dev experience is arguably superior in most use cases. It allows for more code reusability with the web plus it's easier and cheaper to find React developers when building a team. So although Flutter has benefits and sure can be used effectively thanks again to Expo RN would probably be the best choice for most projects. But anyways I'm not going to argue this to death at the end of the day great software can be written with both
@ivensauro Жыл бұрын
@@Trucho1996I disagree that users will prefer native over flutter, users don't care about how this is made, but if this is good and don't break
@Santon-Motho Жыл бұрын
Ah yes, the good ol' graph-assisted Theo rant. Love it.
@Igstefano Жыл бұрын
Had been a while, hadn't it? Good to have it back.
@rasibn Жыл бұрын
Love it !
@MikeNugget Жыл бұрын
The next final Flutter video: I was wrong about Flutter 😂
@aurkodipde Жыл бұрын
will happen for sure :)
@mrrobinet55516 ай бұрын
flutter is still crap, lets be honest here. with all the canvas painting.
@dracsharp Жыл бұрын
I think most devs just pick one and use it for everything.
@NikolayNIKfeed Жыл бұрын
Besides obvious stuff I like the way Flutter lets me just render whatever I want. Here's a couple examples from my table library project: 2D scrolling with intricate clipping of frozen at the edge columns while keeping all cells in the same row hierarchy to support interactions Applying the same shader to a specific set of widgets for shimmer effect Sliver version of with the same features plus sticky header and footer which can be used in any vertically scrollable list along with anything else May be its me, but I don't see a way of doing this in any other UI toolkit. Not without jank, at least
@fullstack_journey Жыл бұрын
Hard to believe you're a senior Senior dev, must be the stache helping you
@zakraw Жыл бұрын
Flutter is an actual cross-platform app development technology unlike React Native which is a just for mobile app development. Don't tell me that it supports web by migrating to/from Web, because you still need to rewrite an half codebase which is mostly UI. Unity is not relevant cause it not free and does not have built-in components like Flutter. Unity is not optimized for that, because it has multiple cons like long startup time, large installation file. Unity apps are executed using Mono runtime which interprets ( JITs) .NET Framework built and has no AOT support while Flutter apps are compiled to native files in production.
@Vim_Tim Жыл бұрын
"Flutter is an actual cross-platform app development technology unlike React Native which is a just for mobile app development." This is not true. React Native for web has existed for a long time. Also, React Native for Windows/macOS is a real project that looks very promising and could be a great replacement for Electron on desktop. I have no idea how much React Native is shareable with a mobile app.
@Vim_Tim Жыл бұрын
Also, Unity has a compilation mode called IL2CPP (Intermediate Language to C++) which can AOT compile the C# code.
@zakraw Жыл бұрын
@@Vim_Tim Those are experimentary but really promising. However React Native is still years behind to be considered well-established technology with a full package like Flutter.
Жыл бұрын
I honestly don't understand why people care about calling native views so much? For that use case it's best to just use Kotlin and Swift. Personally I like Flutter because it allows me to make the app exactly the way I want to make it and call for platform's native code only when I absolutely need it (which is almost never). I also like that we can easily integrate C, C++ and Rust libraries via the FFI. We are also largely escaping the dependency hell of JavaScript. I don't want my app to have a million rapidly changing dependencies. With Flutter that situation is much better. Things seem much more stable. Dependencies that I use don't get updated so much as they are written from scratch and don't depend on other packages, build tools etc. They are simply done and they can stay like that forever if there are no security issues found in the future. Animation jank is a real issue, not as big as it used to be. Personally I've never experienced such huge jank issues as on some videos that I've seen. I suspect they are probably doing something wrong in their code in that case. But yeah, flutter makes me pretty happy so far and I hope it gets much better.
@AntonioBrandao Жыл бұрын
Flutter provides a pretty good developer experience overall if you follow along the instructions and method. I understand why noobs like it. It places you in a little Flutter land, narrowing the number of places you have to learn from, and seemingly providing a lot of useful widgets ready to use. The code is easy and does a great job at displaying errors. I wish I had something like this back in 1999. Even I was impressed how quick I set up a working app with custom UI. But I gave it up for the same reasons cited by Theo. I did the same app afterwards in SwiftUI and not only did it perform much better, it also took me half the time to build!! Writing SwiftUI is in a way similar to writing Flutter, except the performance is much better and it’s just for iOS. If you need to make a truly high-performance multi-platform app or game, you can use something like QT. It’s language (QML) provides a writing experience similar to writing Flutter.
@UbuntuBanksie Жыл бұрын
no.
@maran.ath4 Жыл бұрын
you almost got it, but I don't think you hit home with this one chief lol, you said a lot of wrong stuff here
@maran.ath4 Жыл бұрын
Comparison of Developer Experience in Flutter and SwiftUI: Flutter is a cross-platform framework, allowing you to build apps for multiple platforms (iOS, Android, web, desktop), while SwiftUI is primarily focused on iOS and macOS app development. Therefore, the comparison might not be entirely accurate since the two frameworks have different target platforms and capabilities. Performance Comparison between Flutter and SwiftUI: performance can vary based on factors such as the complexity of the app, the device it's running on, and the specific optimizations applied during development. While SwiftUI might offer certain performance advantages in the context of iOS app development, Flutter also employs a high-performance rendering engine and provides tools to optimize performance for various platforms buttttttttt QT and QML are distinct from Flutter and SwiftUI. QT is primarily used for C++ development and is more commonly associated with desktop applications. Flutter, on the other hand, is designed for modern app development with a focus on user interfaces, while supporting multiple platforms including mobile, web, and desktop. Flutter's Learning Curve and Easiness: Flutter is suitable for beginners ("noobs") due to its simplified learning curve and ready-to-use widgets. I agree that Flutter does provide a rich set of widgets that can streamline development, but if you're a "professional developer" as you claim, you should know that becoming proficient with any framework, including Flutter, requires time and practice. Additionally, the term "noobs" might not accurately reflect the diverse range of developers who use Flutter, including experienced professionals. You're a seasoned developer, since you mentioned 1999, so make accurate comparisons and avoid generalizations that might not apply universally across all developers and scenarios.
@sevenreup Жыл бұрын
Flutter is a cross platform graphics render engine that has an emphasis on UI, while RN is a bridge between different renderers across different platforms. I dont think the custom renderer should be the reason you don't pick flutter. The approach that flutter makes has some benefits and so does the RN approach. In flutter the only time you have to touch the native code is when you want to access a specific native feature and not something UI related. For example the Image picker mention uses the native image picker on all the supported platforms, it does not create a new UI. But you also have an option to host native UI in your app. Flutter makes sense in the applications that were mentioned but it also makes sense in applications that need to act or look the same across all platforms, what flutter gives you is away to abstract out the UI concerns away from your multiplatform application. I understand the IOS issue, and the did release a fix for it, a new renderer to fix those graphical issues that's situation could happen to any cross platform framework. At the end of the day both of them are just tools and it all depends on what you want to achieve. And some tools make sense once you have used them. PS. I am write both RN and Flutter
@fadhilimalongo9910 Жыл бұрын
I was looking for this comment.
@mehulsharmamat Жыл бұрын
don't tell anyone but im scared of native dev
@purvanjaro Жыл бұрын
none of my react apps are mobile-friendly and i will shit myself if anyone views them on a phone.
@marknefedov Жыл бұрын
Jokes on you, I build apps in Godot!
@aurkodipde Жыл бұрын
is it available online?
@BooleanDev Жыл бұрын
godot is amazing
@sirk3v Жыл бұрын
you really need to fact check your videos.
@lesnitsky_dev Жыл бұрын
Discalmer: I'm not saying Flutter is ideal, neither I'm saying React Native is bad, I can bring arguments in favor of both (or against), based on my intent. I have almost equal experience in Flutter and React Native (around 4 years of daily use for both), so here are my few notes: some wording in this video is misleading (not sure intentionally or not), many statements are very arguable, a few are just plain wrong. I'm not sure what was the original author's goal when making this, It might make many people jump into wrong conclusions which in some cases could cause poor decisions on their workplace. It also feels like that the video could have been on a next level if the author had more Flutter expertise. I wonder if the author is open to a public discussion about all this.
@skyhappy Жыл бұрын
Can you elaborate on what is misleading or arguable
@JacoBoogie Жыл бұрын
Oh no here we go again 🙄 Sike! Here for every bit of these takes 😂
@cellularmitosis2 Жыл бұрын
Psych, not sike. As in “I psyched you out”
@TheBuddilla Жыл бұрын
The only reason I considered flutter was because it had linux and embedded support. Sadly projects that allowed linux apps to be made with react native are not well maintained if at all. Basicallically flutter allowed a "single" codebase for mobile, desktop and embedded. It's implementation sucks though and is just as bad as working with QT if not worse.
Жыл бұрын
How so? What issues have you encountered? Btw for embedded you can make everything in C or Rust and just the gui in Flutter. It's pretty great actually.
@chris.dillon Жыл бұрын
Games themselves are a junior trap. "Games are fun! I'll make an MMO and be rich!" But games are software at least (if not a domain specialization, if not art/design/feel, if not divergent from apps). About 20 years ago a very special dev told me that OpenGL is just an API. I was learning everything and now see what he means. I'm not even a gamedev now, nor would I assert I am one until I learned the API. But I didn't know what that meant. Sometimes things don't land because communication is a relationship.
@joranmulderij Жыл бұрын
You forget the second real use case for flutter: Cheap cross platform apps. Quickly building a flutter app is quite a lot faster than doing that in react native, or even web wrappers.
@hisamafahri Жыл бұрын
"It's genuinely really-really hard to have conversation about Flutter. Because, the average Flutter fanboy is a new developer" Dang, that's made me laugh so hard 🤣
@viyicciyiv Жыл бұрын
interesting video! i just started learning flutter and it's been quite nice, but i'll keep that in mind
@dontdoit6986 Жыл бұрын
Flutter is great. Don’t let others opinions sway you. I’ve been on a team with multiple enterprise Flutter apps with 1m+ users. It’s a great frontend framework.
@zzzyyyxxx Жыл бұрын
Keep learning Flutter, it's awesome. I loathe working in RN and I've done that for years before diving deep into Flutter.
@kelvinchin59428 ай бұрын
for me I don't like React Native, lots of bugs on the dev tools. Sometimes I can easily attach vs code debugger to it, sometimes I have to use browser. Sometimes just went back to plain old console.log, console.warning, and console.error. Then no surprise, completely forget it and tester found it. And it is damn hard to setup if the company still using a legacy version of React Native and thanks Apple where they never allow devs to use older sdks on certain point. I know this is not React Native's fault but that's, damn, very annoying. I mean, seriously, React Native please improve it. Currently waiting for tauri to be on mobile and see how it perform
@JeannoC Жыл бұрын
I am happy with Flutter being where it is at and moving towards. I develop graphics editors on the mobile so this is exactly the use case Flutter excels at. However I agree React Native is a much better choice for most mobile apps as Theo pointed out. The only issue I have with Flutter is how it is advertised by the community that it can do everything.
@arashitempesta Жыл бұрын
Question, for mobile development I've worked mostly with react native and expo, touched flutter briefly, last bit I saw was they created flutter for web and for desktop (similar to react native for web, which I'm not particularly a fan off). In the case of react native I wouldnt touch the web part unless it shares 90% of the design with mobile but with flutter have you used the web or desktop apis? wonder if they have made some progress since then, flutter might make sense for desktop apps too if you care about size as you wouldn't need to bundle a browser with the binary like with electron.
@JeannoC Жыл бұрын
@@arashitempesta I have not used flutter for web and desktop in production so take my opinion with a grain of salt. Flutter supports for web and desktop seem to be getting more and more mature. And I can see the advantages of using it to support web, mobile and desktop with one code base, especially when you are a solo dev. However, one huge caveat is that with web and desktop, the specs of your target machines can vary a lot. Screen size, input peripherals, processing power. I can imagine your “single code base” would become a lot more complex in order to support web and desktop also. I would rather have code duplication than complexity in this case, if I’m already developing a fairly complex piece of software. Another thing, Javascript will always be the first class citizen of the web, and web is not the top priority of Flutter. Using flutter to develop web app will almost definitely give you a ton of technical challenges. So I guess this is the same case with RN web.
@JeannoC Жыл бұрын
Still there’re always some use cases that favor the choice of flutter. For example, if one day my graphics editor needs to support desktops. Rather than doing a complete rewrite, it would be much more sensible to strategically refactor some core components to be used on both mobile and desktop
@mystpeer Жыл бұрын
This video contains a lot of false information about Flutter. Flutter is simply a UI layer that is highly customizable. This allows for better updates without headaches with the Android and iOS components. Images, videos, etc. are displayed natively via ffi or method channels. Incredible how you can make a propaganda video like this. Flutter is simply the better technology. The reason this dude makes this video is a phsyiclogical aspect. He is trying not to give up something he has learned, which is quite normal. As a programmer, you should always be prepared for better technology and always update your knowledge. And Flutter is an UPDATE.
@engineeranonymous Жыл бұрын
If you have your own or want to have an unique UX design language which you want to communicate with your user flutter is a nice choice. It will set your brand apart from others like Apple, Balenciaga or the pub you hang out which have old rusty bicycle tires on the ceiling.
@OryginTech Жыл бұрын
You can create your own “unique UX design language” in react native too 🤦♂️😂
@hunterwilhelm Жыл бұрын
@@OryginTechI find it easier to implement the designs given to me by the UI/UX team in a pixel perfect way in flutter. Meta uses React Native in the best way that I've seen since they made it. You can do great things in both, the time spent in each is a cost. So try both and see which one you like instead of convincing people that things are impossible or possible in either.
@OryginTech Жыл бұрын
@@hunterwilhelm I have tried both. For a very long time... RN is actually easier for what you’re describing than flutter.
@virgule9901 Жыл бұрын
I work with RN on a daily basis and only made a few things with flutter, but did you guys try to do proper shadowing of elements with RN? What about rendering a centered blue shadow of 5px spread on a button on Android? It's a small example, but a good one IMO. Theo expressed that same idea pretty well I think. The native platform is great because it's more accessible, stable, etc. but being tied to the platform can also limit the possibilities of what you can do / show to your users. Flutter is great if you want to control your UI down to individual pixels (similarly to a game engine), while RN / native apps are better for most common apps which most of the time doesn't need that level of customization, even when designers are a bit pushy. It just depends on what you're making and what tradeoffs you're willing to make
@DevTBio Жыл бұрын
@@OryginTech you said you use them both but you are more like JS person i guess, that is why you feel RN is more easier than Flutter, most people insist that Flutter is more easier than RN. you should think about perspective for noobs when you are talking about "Easy"
@gofullstack Жыл бұрын
I think you still need to take a good look at Flutter because when it comes to UI as you've stated Flutter recreates what you think should look like native, in fact your application doesn't need to look different on different platforms if you don't want it to What you've failed to realise is that flutter can talk to any native API.
@cakemnstr42 Жыл бұрын
I used to fanboy Flutter because it enabled me to do iOS without knowing anything about it, which is of course a problem in it of itself. And I didn't like react-native because of that Airbnb article and "bah Javascript". It took looking at Flutter Web for me to really make it click why it's a bad solution for regular UI dev. Flutter mobile of course has the same issues but for some reason it sounded fine to me where as "everything is a canvas" sounded bad. Tldr: your take on juniors "falling" for it was definitely true for me. Anyway, now I do web dev with react (and recently more next) fulltime (and I like to think I've gotten pretty good at it) and if I needed native I'd probably try to make Ionic or a PWA work for as long as possible 😂 I still don't like working with react native buuuut I've also only worked on apps that aren't super well architected and don't use expo and are pre-fiber and all that so my opinion is outdated.
@dalanxd Жыл бұрын
The Javascript Native bridge, which is this option of going to the native layer, writing custom code and calling it from the React Native Javascript world is also a reality in Ionic / Capacitor Capacitor also has a pretty rich ecosystem of plugins to access the native layer and you probably wont need that Yeah, great vid, Theo, I just disagree where you've put the Ionic's line hahahah It makes sense in more scenarios in my opinion, specially with projects on a tight budget
@redhotbits Жыл бұрын
half of capacitor plugins were buggy as hell last time i checked
@erenjeager1756 Жыл бұрын
Why don't you talk about the fact that React Native is still in beta and mainly used by giant tech companies that have huge resources of native mobile devs ? Why don't you mention how every major version of React Native, they break so much stuff that community packages can't follow anymore ? I've worked with React Native for 3 years + ( with Expo ) and the experience is just plain horrible, Flutter is the way to go and you can't change my mind.
@mehmetedex Жыл бұрын
Wow such a cool roasting. We need more. So when will you release a "My Final ReactNative Video" video
@roudikk Жыл бұрын
No way this video is real lol. Game engines aren't setup to build apps ui as performant as they can be and they are slow to statrup and take up a lot of memory.. The whole argument is really dumb. Flutter is optimized to build complex ui screens, specifically. React native is so bad tbh, it's so slow and janky even with "rendering ui native components". You can definitely tell it's much slower, same for flutter... They're not better than each other at all and both are not the most ideal way of building apps. People use apps for the nice performance and native features, so... build it.. natively! Kotlin and swift. Although currently I'm leaning towards Compose multiplatform cause it's so much more fun to work with than flutter.. RN.. native.. or naything.. Can deploy desktop/web (experimental)/ ios and android with one code base with a really nice language (vs javascript)
@DuongBui-dq6km Жыл бұрын
"I hope that we can be more responsible when it comes to these technologies." Lol, you just hate what you hate and don't want to use it. I use both and I think the Flutter is cooler. In the end, platform doesn't matter, user experience matters most and Flutter ensures it in 6 different platforms :D
@dontdoit6986 Жыл бұрын
Yup. As an aging developer, I really like how productive I can be with Flutter vs anything in javascript/typescript.
@eddiedotdev11 ай бұрын
The platform doesn't matter to users, but for engineering costs it does
@ayoubkrt5018 Жыл бұрын
JS dev trying not to tell you to use JS for everything that doesn't need to be JS need to take a shit? here's a JS framework for that
@dontdoit6986 Жыл бұрын
He’s a shill for a js framework/platform.
@ayoubkrt5018 Жыл бұрын
@@dontdoit6986 doesn't he actively shill a whole tech set?
@dontdoit6986 Жыл бұрын
@@ayoubkrt5018 yes, the t3 stack he calls it. He doesn’t discuss that he has business interests in this video. He’s pretending to have objective agency. By failing to disclose what is a conflict of interest, it’s a grift. There’s pros and cons to every tech stack. If you don’t accept the cons of React Native and Typescript, you can’t do a fair comparison against anything else. Notice he didn’t touch on the Dart language. Because, it’s a great little oop language that does so many things right.
@ayoubkrt5018 Жыл бұрын
@@dontdoit6986 what I also find dishonest is having the main points for why you hate a framework over the other be you not doing enough research to see that they are either fixed or did t exists in the first place, at this point he has to be sponsored by Facebook or something
@UnknownPerson-wg1hw10 ай бұрын
@@ayoubkrt5018 in fairness to him, he did check out one of the problems he pointed out and the issue is still open on github
@thepickicool978 ай бұрын
I was waiting for someone to do this video ! Thank you !
@witchmorrow5 ай бұрын
theo's hair really is glorious. It's so thick and lush, well done to your hair genetics theo
@levibaraka Жыл бұрын
What about Kotlin Multiplatform and Compose Multiplatform isn't that the most native you can get? Though on ios it's on beta beta but there's some companies that are already in production with it
@hg-yg4xh3 ай бұрын
I’m making an enterprise size app in flutter now, it’s a dream
@andresrub10 Жыл бұрын
EYE OPENNER!! Thanks for this. As a Flutter Dev for the past 3-4 years I have been loving flutter for it's ease of use. But I do recognize performance is super bad for complex apps. Honestly I was mysinformed, I tought they were uising native components for everything. As for running native code, Its a pain in the ass. But I think the most important thing about flutter is dart. You basically can forget about HTML, CSS, JS, Android ans Swift. Wich at the time I tought it was a huge win. But I realize how this was shooting myself in the foot cause basicaly I'm useless now in those languages. It's beautiful how you promote to choose the right tool for the jod and be concious on how to pick it.
@gofullstack Жыл бұрын
Try RN then come back to tell what your experience is like. Bout performance you can run your app on profile mode to see what the problem is then spin up an isolate (the multi threading thing) when required.
@str2254 Жыл бұрын
The problem with RN is its unstable API, so libs will likely break on every RN update, but it may be better nowadays with expo.
@BooleanDev Жыл бұрын
how did you go 4 years thinking they used native components for everything??? also. performance is fine on complex apps, its up to the developer to optimize their code.
@gofullstack Жыл бұрын
@@BooleanDev 🤣🤣🤣 you nailed it. I don't want to sound rude, so forgive me. I think some people who are mostly solo just want a face for their business and don't care bout what tools they use, if it can do it then it should do it. The UI isn't native and anyone who says it is, is telling a lie and 3-4 years is enough to much time to figure that out as it means you don't fully understand the tool.
@boredstudent9468 Жыл бұрын
My biggest use case for flutter is, Graphics as an afterthought. Darts FFI works reasonably well, so I can just slap a screen on my PI and then maybe route the event bus through a socket and *bam* I have it on my phone.
@boredstudent9468 Жыл бұрын
And thanks to MUI they don't even look that bad.
@neociber24 Жыл бұрын
I feel you should try to make the same app in Flutter and React Native using native stuff, yes is a lot of work, but its better that throw random facts that may or may not be true at the moment. At the end users doesn't care about your fancy codebase they care if the app is slow.
@Vim_Tim Жыл бұрын
"At the end users doesn't care about your fancy codebase they care if the app is slow." This was Theo's entire point: Flutter provides worse interaction & accessibility because the native UI elements will always be better.
@Vim_Tim Жыл бұрын
@@Seashell833 is it really “faster” in a meaningful way? I use Outlook, Messenger, and Discord regularly on a iPhone SE 2 and haven’t ever had performance concerns. Animations are always great. I would love to see some good benchmarks. Artificial CPU stress-tests and CPU utilization don’t really tell the whole story.
@ondrasimek7139 Жыл бұрын
If only RN used Dart instead of JS. Dart is boring (it was even marketed as such), while JS is the opposite of that. Different strokes, different folks.
@_____case Жыл бұрын
Platforms come and go. Web is forever.
@bruwyvn Жыл бұрын
Trying to ignore hybrid HTML5 apps is like trying to ignore Javascript
@smokeyoak Жыл бұрын
@@bruwyvn ah yes, the "Quiet Web"
@jujujajajujujaja Жыл бұрын
Isn't web a platform?
@_____case Жыл бұрын
@@jujujajajujujaja I am using "platform" to mean ISA + OS combination that binaries must target to run directly on a device. The Web provides a truly "platform"-agnostic runtime for apps.
@TechStache10 ай бұрын
Great video. I started a personal project in flutter (also to give it a real shot and learn something new). On the other hand, I work with RN. I know I'm not doing it right and with best practices because I don't know them with Flutter and I want to build an mvp fast. I kinda achieved it, but I still find it alien, and the code is a huge mess. I now started to think if I'm better off migrating to RN with Expo and start again, considering that I'll build something much better and faster with RN (and I know this is biased because I work with React for years now). I loved Flutter at the beggining because it lets you prototype faster IMHO. But know I feel more obstructed than faster and more productive. Now I have a mess, and it doesn't even feel right, I guess it has to do with the things you mentioned. IDK I don't know if I should continue or invest in rewriting everything again but nicer. I guess, doe to my experience, RN would be better in the long term, because I'll be able to maintain it better. Flutter was fun tho. Opinions?
@OwnnOfficial Жыл бұрын
This video is misleading. Flutter still beats React Native in almost every metric
@dontdoit6986 Жыл бұрын
Sure does. Including development time, and not just writing code: even environment issues and deployments.
@GabrielRodriguez-iz9ob10 ай бұрын
Code pushing in RN sounds so cool! I think Flutter may make sense when you target Android and also want to support iOS (rather than the opposite); different brands of Android devices may have native components that look or act differently.
@jimiscott Жыл бұрын
Anything which runs closer to the system it is interacting with will ultimately run better and faster.
@_____case Жыл бұрын
I guess all web apps are worse than native apps, then?
@erenjeager1756 Жыл бұрын
How can you explain that all benchmarks indicate that flutter is faster than react native then?
@OwnnOfficial Жыл бұрын
Flutter still beats React Native in almost every metric
@revanscript Жыл бұрын
@@erenjeager1756 Funny, because it's actually Flatter that works closer to the system, compiling to native code, whereas React Native interprets JavaScript at runtime and calls native APIs through the bridge.
@neociber24 Жыл бұрын
That's not true, binding and sys-calls are expensive, if you want to be faster use the native platform
@Alex_online Жыл бұрын
The thought of maintaining the average react native app keeps me up at night. I have yet to see a well structured, well made React native app that wasn’t just the hottest of garbage in my career so far. I won’t write it off completely but it really feels like a foot gun.
@t3dotgg Жыл бұрын
I’ll admit I’ve seen some utter messes in older pre-expo RN (or expo ejected) codebases. Has gotten much better over time
@itsfolf2 Жыл бұрын
@@t3dotgg So the only way to not get yourself into an utter mess is to be locked into a subscription service?
@MrADAM002110 ай бұрын
whatever you say , Flutter is still better than react native .And now people are also realizing it ,
@TheIpicon Жыл бұрын
My team built a SaSS platform using Flutter due to lack of research when we started, we’re writing this platform for 3 years now, and I kid you not, there’s not a day goes by that we don’t hate on Flutter, we’re all very experienced seniors in Flutter, and I feel that we’re hurting my devs from day to day… The only reason we can’t move to expo is because of our investors who demand new features and won’t let us have the time to rewrite everything in RN, even tho we’ll ship features 10x faster…
@TheIpicon Жыл бұрын
Just to do the tiniest things you have to write so much of boilerplate code(this is already a dart issue), one of the things you didn’t mention is how flutter is so OOP oriented… like Java. We’re always saying that Flutter is the Angular of mobile dev
@t3dotgg Жыл бұрын
Devs in your position see why I make videos like this still. If I can save even one team from this hell, it was worth it Genuinely hope you can find the opportunity to build on tech you trust soon 🙏
@mortenovergaard275 Жыл бұрын
@@t3dotgg If RN seems to be the best thing after sliced bread. How come Meta themselves didn't use RN for developing the Threads app ? The Threads app is a quite simple app UI-wise. Any ideas ?
@skyhappy Жыл бұрын
@@TheIpiconcan you elaborate why you guys hate it exactly...I would point to your code base before blaming the framework.
@TheIpicon Жыл бұрын
@@skyhappy I did add another comment as an example why Flutter slows us down, dart with Flutter has just a lot of boilerplate code which can sometimes take dozens of line to implement something you can on line in a functional manner with react for example
@xBiggs Жыл бұрын
I've used Expo React Native, Jetpack Compose, and Flutter. I enjoyed the developer experience with React Native the most. However, i don't know how you guys keep up with the node dependencies
@AlvarLagerlof Жыл бұрын
Using a bot like Renovate or dependabot helps a lot. They make PRs for you.
@owenwexler7214 Жыл бұрын
6:06 literally my exact use case for a mobile app. The mobile site does literally everything the mobile app will do with the exact same native app feel and experience but I’ve had people tell me “I just really need that app icon on my phone” Might try and do a PWA to tide those folks over while dealing with the extra moving parts of a mobile app if I can. Edit: the mobile app is going to be Ionic, this has already been decided.
@ethanneff9817 Жыл бұрын
PWA is another gimped horse. Users don't add app icons on iOS and full push notification support is still not a thing.
@NateLevin Жыл бұрын
@@ethanneff9817 Just to note, push notifications finally got support on iOS a few months ago. Apple still makes it very confusing to add a PWA though (you literally can't tell the difference between installing a PWA and installing a shortcut to some website!). Hopefully someday they will add some better indicator that websites can be installable. It's ridiculous.
@pxnx Жыл бұрын
what is your take on jetpack compose? kinda like react native, but written in kotlin.
@MaxProgramming Жыл бұрын
Yep definitely really nice. Not cross platform but we get the bestt experience on android
@t3dotgg Жыл бұрын
Seems dope, haven’t used it yet though (I am an iOS soy boy nowadays)
@levibaraka Жыл бұрын
@@MaxProgramming Compose is cross-platform now I use it for desktop development though But plenty of people are now using it for ios now that compose for ios is in beta
@MaxProgramming Жыл бұрын
@@levibaraka yep even for ios it's good. But you still need to write some Swift code. Probably the UI or the logic part idk exactly
@charliesumorok6765 Жыл бұрын
For game engines that you can modify, like Godot, would it make sense to design an app in the editor, then export it to multiple platforms using exporters that create more native apps?
@GAoctavio Жыл бұрын
I don't particulary care for apps "feeling native" (that doesn't mean I don't like "native performance") Funnily enough, I've had some bad experiences with some React Native apps in that area
@henriquefigueiredo4077 Жыл бұрын
This is not just a flutter video. This is a mobile development technology choices video
@LUKAS36756 ай бұрын
I'm at 4:20 and I'm already overwhelmed by the amount of wrong info about flutter, pulling myself together to make it at the end of the video
@andrewc8125 Жыл бұрын
I get excited when Theo starts drawing a chart!
@wandenreich770 Жыл бұрын
I was a bit unsure why in the last video you were really rooting for react native cause I was more into flutter but I think this video offers a much better explanation and I finally understand your point of view
@aurkodipde Жыл бұрын
are u leaving flutter?
@wandenreich770 Жыл бұрын
@@aurkodipde to be honest im not a mobile app developer...but ive been looking at the mobile app development in general from time to time and always saw flutter as being the better alternative...besides this I think every flutter developer is aware of how flutter web renders a whole canvas as the website and I personally dont like that..to hear that the mobile app as well is also a canvas feels just odd to me..from this video I felt like the difference between flutter web and react/svelte/vue is the same as between flutter and react native...so yeah im switching my focus to react native
@BooleanDev Жыл бұрын
take much of what he said with a grain of of salt, he is not experienced with flutter at all
@aurkodipde Жыл бұрын
@@wandenreich770 do it if u want, but i can guarantee u will come back to flutter sooner or later..react native is not a horse for the long run..either native or flutter is the future
@Primeagen Жыл бұрын
EYE OPENER. I loved flutter because we can make cross platform apps having near native performance. But at the cost of poor UX, it is not making sense anymore. I don't like react native and react because their coding style don't feel right to me. Now can we have Vue native?
@BooleanDev Жыл бұрын
it has great UX, the ios jank issue he mentioned has been fixed with impeller
@ron9591 Жыл бұрын
Here’s when you’d use Flutter over other technologies - when you need to build an app that works consistently on all platforms including desktop and you are a small team / solo dev.
@mateh3273 Жыл бұрын
Expo with react native can do all of that stuff bro
@Unbreathable Жыл бұрын
@@mateh3273 he doesn't just mean iOS and Android, it's also Windows, Linux and macOS that work extremely well in Flutter and Expo only supports mobile.
@mateh3273 Жыл бұрын
@@Unbreathable I think there’s plan coming up relatively soon with macOS and windows + 144hz with reanimated 3. Personally, I am working in top 200 asx companies in Australia, where we’re actually able to run on 3 apps easily (iOS, android and web (pretty much for e2e testing)).
@Unbreathable Жыл бұрын
@@mateh3273 I'm still in school so not much to say here, but in my opinion Flutter is also much better with handling custom UIs cause it looks the same on every platform. As someone how doesn't really like the native look I just prefer making my own components and the runtime isn't much larger than RN anyway, so in the end it's just a choice you can make freely. Flutter tends to work pretty well with the devices it runs on, you likely won't notice the difference between Flutter and React Native.
@juliusab Жыл бұрын
This is not hard flutter takes it. Everything he says about flutter devs shitting themselves applies to him. He doesn't realise how he sees flutter devs is how flutter devs see him. lol he's a RN fan boy saying fan boy things. Let benchmarks speak for themselves, let dev experience speak for itself. Have u notice how ios jank video side was edited? haha its not an issue the guy has no solid point. Flutter is not native it doesn't claim that. But it is the best option for cross platform unless you are choosing not to see
@olagisrarikis Жыл бұрын
It seems that React Native fanboys are everywhere now trying to defend their domain. Flutter must be making them nervous.
@silverhairs Жыл бұрын
Web developers giving opinions about mobile tech is always hilarious 🚮
@andrewtfluck11 ай бұрын
Mobile developer here giving opinion about mobile tech: Flutter is hot garbage. (So is react native)
@davidvidic9 ай бұрын
What is a better option then
@andrewtfluck9 ай бұрын
@@davidvidic Native dev. You have awesome new technologies like Compose and SwiftUI, even a similar offering from compose in the multiplatform space, which still compiles down to native code and doesn't require bridging. (SwiftUI is going to be more performant though)
@mattmmilli82878 ай бұрын
@@andrewtfluckpisssssh rn is great
@andrewtfluck8 ай бұрын
@@mattmmilli8287 not when you have additional runtime overhead, and still have platform discrepancies that most devs either don't understand or know how to reconcile without deep knowledge and skills surrounding the topic. At least native development makes this clear, and often provides more ergonomic ways to achieve fluid experiences that are optimized for the platforms they run on. The write once, run anywhere paradigm is somewhat of a lie, and at that point, you might as well go all in on native because if your app is more than just a simple Todo project, you'll likely need to write something native anyway.
@yossefdawoad4311 Жыл бұрын
Isn't google who develop the main Os itself 📱..!!!! I think they know what they doing i think it's just devs expect a lot of it and compare it to more muture framework like react, these development take time and they promised a lot of good things just let them cook 🔥🔥
@illya_ike7 ай бұрын
I think the main reason why Flutter is better than React Native for me is Dart vs JavaScript. Dark past of JS casts shadow to React Native.
@voytxt Жыл бұрын
gotta love the quotes that came out of this "the result is that every flutter app has this terrible uncanny valley experience, you can feel it when you use a flutter app there are lots of simple silly ways to check like if you use two fingers to scroll in flutter, it scrolls twice as fast because they didn't implement their scroll layer correctly" "just stupid thing like that are the defining characteristic of flutter" "you're throwing away the entire native platform in the decades of hard work, hundreds of thousands of developers have put into improving that native platform because you think your game engine is a better experience" "and this is what kills me with flutter is people building like e-commerce apps and flutter, you're hurting your users, you're hurting your engineers you're hurting yourself, please stop doing it" "people feel like flutter should be this entire chart, and when I challenge them on that they just shit themselves" "I have a feeling when we scroll down the comment section in this video, it is going to be a bunch of flutter fanboys shittin themselves saying I don't understand anything about applications"
@MNbenMN Жыл бұрын
@@1879heikkisorsaIt didn't sound overtly aggressive to me. That's just flavor. Theo isn't just providing raw analysis, he's also entertaining. Rants and hot takes can bring points to light that might just get glossed over if they are just bullet points in a dry, academic analysis.
@Insanara Жыл бұрын
Thank you for this video. Currently prepping a larger SaaS platform-framework, and have been considering what framework to use for the mobile-space. This video and your prior on reduction in app-installments, have given me quite clear indication on where to put the research focus, as reducing code-duplication and having multiple repos (when my mono-repo nextjs is so perfect for the web-solution).
@LeCyProductions Жыл бұрын
This video is riddled with inaccuracies and doesn't cover any of the flaws of Expo and RN. Please look into it more than just watching this video to make your decision.
@t3dotgg Жыл бұрын
@LeCyProductions feel free to list any of those inaccuracies :)
@LeCyProductions Жыл бұрын
@@t3dotgg seems like you already did. There was a really good one by @TheGamingAlong but not sure what happened to it. @drantunes has a good write up.
@Dominik-K Жыл бұрын
Very nice video, and with some features like Service Workers (offline capability), camera access (with QR code scanners, etc. Available), we were able to ship an event application that allowed us implement an IRL art hunt game with just a website. Project Fugo and a middle class phone can allow for even more interactivity are possible. And some features like notifications are possible to implement just with websites for years now Just the UX is still suboptimal. Flutter is a fun tool for some, very specific use cases. But performance can be solved way easier than just doing a flutter app
@Luke1000 Жыл бұрын
I literally just opened our flutter work app and tested the scroll with two fingers... WTF.
@rydmike Жыл бұрын
Lol, yes wtf indeed! It is a feature by now :D Now do it with 3 fingers and watch it go 3 times as fast. It can of course be fixed. It has just so far been chosen on purpose to keep it around, kind of as as an "insider" easter egg. There is an issue open to fix, maybe it is already fixed in master, did not check. In any case it has been decided to remove/fix this peculiar "feature" since it may interfere with accessibility and usage expectations. I'm not going to go into the debate though. There are good comments here already, from people developing with with both frameworks offering a more balanced view.
@gofullstack Жыл бұрын
How many of your users use two fingers to scroll?
@programming2588 Жыл бұрын
@@gofullstacknailed it
@AguasFrescas Жыл бұрын
This video just got posted and I'm loving this RN and Flutter war Theo has incited in the comments.
@whatsanimesh Жыл бұрын
what do you have to say about the large app sizes of RN ? Also Do you what tech is the Bing app on android using, cause it absolutely sucks to use it.
@fnfal113 Жыл бұрын
mostly due to the universal support for different processor architectures (ARM64, x86, etc), this bloats up the app unless separate packages are used for every arch and also javascript and c++ are bundled with the app too so larger than native.
@ADVOLD-v9n Жыл бұрын
web developer moment
@PatrikTheDev Жыл бұрын
While I agree about many things you said, web wrappers are NOT acceptable and especially not to the extent you mentioned imo. They feel horrible and you can absolutely tell (the old Notion iOS app for example). Just no. That doesn’t mean you should go to Flutter either though
@thirddecember43558 ай бұрын
warning! this video isa high-probe cringe!
@MsShowshank Жыл бұрын
If you are working with bluetooth (BLE), Flutter is much easier and has better support for such stuff than RN so it depends on the use case
@wahidislamlinad Жыл бұрын
i don't use ios personally but it seems like flutter is more performant than react native on android, maybe the issue is with devs but most of the flutter apps still runs smooth than react native for some reasons. but writing kotlin for apps is still the best choice by a lot that's for sure.
@gofullstack Жыл бұрын
Good luck convincing people like myself who already use flutter even though they know all you've spoken bout. If I'm not using flutter then it's swift or Katlin.
@Reactnativetech Жыл бұрын
no one ask you 😂
@arashitempesta Жыл бұрын
its a tool, more than someone convincing you, You as a developer you should promote and suggest the best tool for any given job, if flutter is better than react native in that scenario (because you already have devs with flutter experience, you need something specific that is hard on react native and even with Expo) do it, many companies use flutter with varying levels of success.
@gofullstack Жыл бұрын
@@Reactnativetech 🤣
@gofullstack12 күн бұрын
@@Reactnativetech😂😂😂
@gofullstack12 күн бұрын
@@ReactnativetechKMP all the way, only JS developers think they need a voice.
@Matthew-eu4ps8 ай бұрын
The thing is I don't really want to write an app in javascript
@Dev-Siri Жыл бұрын
Flutter is like the Svelte of cross-platform frameworks. Has many things built in and managed, feels like you are writing something completely different but still it plays well native libraries better than the rival framework, performant for being different. At this point, I don't even try to listen to any mobile dev advice from web devs because they are going to recommend JS and make up the stupidest (even wrong) reasons to avoid other (even native) solutions.
@Vim_Tim Жыл бұрын
1. Flutter is not like Svelte because Svelte compiles to use the browser API. Flutter is like using a for the entire web app. 2. Theo did not say that React Native is better than native or replaces native. His graph shows there are still use-cases for native development and mentioned dropping to the native layer for specific features when necessary.
@Dev-Siri Жыл бұрын
@@Vim_Tim I never mentioned how they run, I just mentioned how their dx qualities match so much.
@owenwexler7214 Жыл бұрын
Holy crap, the animation jank on iOS is STILL an issue with Flutter? That was an issue *two years ago* when I was first evaluating Flutter as a mobile dev platform and the jank was one of the primary dealbreakers then. A serious thing like that STILL hasn’t been fixed after 2 years? You gotta be kidding me.
@aakashr79 Жыл бұрын
Nah man. Impeller has come to the rescue. No more janks on iOS.
@aakashr79 Жыл бұрын
If you're really interested, Try old skia vs. impeller with the profiler. The difference will be instantly visible. Did it with around 50k animations at 90fps. The issues you might be referring to are mostly related to custom shaders that apps rarely need. The team is working on it and it should be addressed in the near future. However there are pretty efficient work arounds that work just as well. I'm not saying all, but sometimes those YT videos are backed by real data.
@MikeNugget Жыл бұрын
@@aakashr79it doesn't matter, because Theo talks about the problems of two years old and passes them off as arguments, that's the whole point of the video.
@sergiorodrigoroyo5079 Жыл бұрын
It's not, because OP lives in the past and tries to convince everyone that his tech of choice is the best.
@MightBeRasor Жыл бұрын
damn theo, I don't know what time zone you're at, but down here is way too early to bludgeon people like that