Aşağıdaki yorumu şu sayfadan aldım:
http://www.motionmobs.com/blog/why-flutter/
Bu sayfadaki makalenin altına Cordoba, Xamarin, React Native ve Flutter kullanmış birisinin şahsi görüşlerini anlatan yorum yapılmış. Şimdilik ek bilgi mahiyetinde paylaşmak istedim.
Hello, and thanks for this informative post. I’m a full-stack .NET engineer focused on C# and .NET technologies, I started developing mobile apps about 4 years ago, and I started out with Cordova. I’ve been building Ionic apps since their v1 and I have had a blast to be honest. After publishing a few projects, it was crystal clear that we need a native solution. So I started studying different platforms and creating sample applications with them. At first, Xamarin looked good because I could write C# and use Visual Studio. But after the first month, it was obvious that it’s not even near close to a cross-platform solution. No hot-reload, large packages because of Mono being embedded, and lots of other frustrating quirks. So then I moved to ReactNative and gave it a try. It was a breath of fresh air, of course. I got near native performance, it was easy to learn and adopt, good community and resources, and I liked the fact that I could write my app entirely in ES6 and not learn any framework specific features. But RN shouldn’t be called a native solution, in my opinion, because it is not. It’s a hybrid platform like Cordova. You’re still relying on a JS Bridge to communicate with the OS. And the UI is not entirely native, it just gets compiled to native elements, which in turn, compile to native UI. Still much better than Cordova, NativeScript and other frameworks, and it’s been gaining popularity ever since. Then came Flutter, and what a great deal that is! I was VERY curious about their architecture and I spent a few days studying their technical overviews and docs. Then I built a few sample apps and it was love at first sight. First of all, Flutter compiles all the way down to native code, which is fantastic. No bridges, no scripts and transpilers, pure native ARM code. Secondly, I love the fact that in Flutter, everything is a Widget, even the app’s root component. This means I can compose my UI trees however I want, customize them however I like, and go down to the deepest underlying layers of the framework. Fabulous. Another great feature of Flutter is their Stateful Hot-Reload engine. If you have worked with other frameworks before, you’re gonna love this madly! Another important fact, is the decision they made for composing UIs, using the Material Design specifications. Not only is it rich and beautiful, and highly and easily customizable, it also means that you wouldn’t worry about different platforms (iOS/Android). If you’re using RN for example, even for a simple task like Drawer navigation, you need to understand how it works in iOS, and then Android. Which means, you’re not gonna have a single code base for your entire app. With Flutter however, you compose your UI and from a single code base, you build for both platforms without a hassle. I’m not an evangelist, just a developer getting by. By honestly, I think Flutter is the future of mobile development. Worth mentioning that you could use it for desktop/web apps too, they’re working on it. The only down-side (not a down-side in my opinion) is that you’ll need to learn Dart. Which isn’t bad at all, it’s a great language and easily picked up by seasoned developers. I actually like it a lot, since I come from a C# and OOP background. Feels much like TypeScript and C# to me. Of course we can justify all use-cases and platforms, and sell them as the best tool there is, but I think any reasonable and experienced developer would see the pitfalls right away and realize that Google has done a much better job that the others. Hats off to the Flutter team, job well done. Cheers!