Live data from Hacker News

Ready for Production Apps: Flutter Beta 3

developers.googleblog.com

51–60 of 107 posts

Re: Ready for Production Apps: Flutter Beta 3

#51
There are several aspects of Flutter that are compelling. The two which I find the most interesting are speed of development and the platform independence when designing the app.

Speed of development: I've seen Flutter development referred to as a "double hot reloading" dev paradigm: UI and app logic. Hot-reloading the UI on design changes isn't new (React Native, NativeScript, and even Xamarin can do this) but the team at Google made a purpose-built debugging compiler for Flutter which separates state management from the app logic so if you're working on code deep into an app and need to fix something in the logic, the executing code is reloaded while the app's state and UI remain where they are so you don't have to start over from the launch screen, log in, start your transaction/order/process..... This process cycle -- launch, login, start an order, get to the state of an order to test the logic I just altered -- used to consume five to ten minutes per iteration when I was doing Xamarin work. Being able to edit and re-run the application logic without losing state and starting over is HUGE!

Platform independence: the UI for Flutter apps doesn't rely on the native OS widgets of iOS or Android (or Fuchsia!) but a C++ layer that bundles and ships with the app in question. It's akin to building a business app in game template where you can custom-define everything about the UI and any widgets you want to use... a lot of work but they will look and act the same on iOS and Android (and Fuchsia) and presumably run fast. This is a massive difference from Xamarin where cross-platform apps end up using the platform-native widgets which is known to result in non-trivial amounts of "if (Platform_Android) {...} else if (Platform_iOS) {...}" or just going the more sure-fire way of not entering Xamarin-debug-hell: make the UI for your app using the platform-specific Xamarin-tooling and move as much code to the share logic layers which don't need to be changed between Android and iOS.

The final thing I'll say about Flutter: I told a colleague who thinks that C++ is the ideal cross-platform mobile language about Flutter. Two weeks later he came back, told me he made a demo app with it, then decompiled the resulting IPA and APK files to inspect the assembly code and he concluded that it was essentially the same as if the app had been written in C++ from the get-go. I'll take his word for it since I lack the skills to verify that for myself but it certainly speaks well for the performance potential of Flutter!

Re: Ready for Production Apps: Flutter Beta 3

#53
post #47

This all sounds very cool until you need something in your app that is not provided as third party module yet, or numerous third party plugins that you are using start being unmaintained or buggy or they don't support your use case. Then you'll need to write your own plugin in native language, but you have been writing in Flutter and you don't know enough about the native platform. My opinion, if you don't know nativ…

Learn Swift+iOS & Kotlin/Java+Android then Dart/Flutter. How many lifetimes is that to become deeply proficient?

Dart/Flutter is the least marketable skillet that you could obtain right now in 2018.

If I'm going to take the time to learn a new skillset, I'm going to learn the one that gives me the most marketability and pays the highest that would be iOS/Swift, then Java/Android and then I might play around with Dart/Flutter.

I usually prefer to start with the fundamentals and then learn abstractions/frameworks. Take front end development for example. While frameworks change every six months, knowing the fundamentals of JavaScript/CSS/HTML is valuable long term.

Re: Ready for Production Apps: Flutter Beta 3

#54

The title is a bit of an oxymoron; aren't production-ready and beta mutually exclusive in most cases? The examples they showcase seem like pretty small and simple apps. The musical one seems like it could've easily been a web app, since it's just displaying information.

Amen. They are trying to have their cake and eat it too.

Re: Ready for Production Apps: Flutter Beta 3

#55
On iOS it's not possible to seamlessly integrate any custom UI drawing with OS animations (keyboard, rotation). This means that certain types of apps will never feel right on the platform, which should significantly limit usability of the framework outside of Android and desktop.

Re: Ready for Production Apps: Flutter Beta 3

#57
post #45

Apple really need to react if they want swift to get any traction. IOS hasn’t had any major UI update since iOS7 , and android is a mess anyway, so using a cross platform now makes more sense than ever. The icing on the cake would be to have a path for reusing dart business layer between flutter and angular. That’s a really promising stack.

Ha. This is hilarious. Most high-profile / successful iOS apps (other than games) are native. And judging from what I’m seeing in the ecosystem, I’d guess that most teams out there have switched to Swift or will do so soon. There’s very little enthusiasm or innovation in the Objective-C ecosystem at this point.

The lack of a major UI update in the last few years is a feature, not a bug. It doesn’t seem to have held back either iOS device sales or the Swift ecosystem.

Re: Ready for Production Apps: Flutter Beta 3

#58
post #38

I liked the idea of Flutter since I saw it for the first time probably long time ago. Dart as a language choice was throwing me back though, but in general this language is very similar to ES6 and makes OO easier. For example it doesn't require to use `this` in methods. I wish it was TypeScript instead, because it has more mature tooling and community support. I'm still hesitant to put my hand on it for side project…

I get that learning another new language sucks and JavaScript would've been nice instead but the Dart language choice actually enables some very nice features in terms of developer experience. I don't remember the details off the top of my head, but I believe stateful reload is one example of what possible because of Dart.

Re: Ready for Production Apps: Flutter Beta 3

#59
post #2

I've been playing around with Flutter for a few weeks now and I'm convinced that this is the future of cross platform app development. I was initially put off by having to learn an obscure language (Dart), but the reality is, it's a lot easier to learn than learning all the semantics, tools and practices that come with a massive ecosystem like React.

Eh. People have been saying this about cross-platform frameworks for what, 25 years?

“Build once, compile everywhere!”

They all come and go, but native seems to always win in the end. It seems like the hierarchy over the last couple decades in terms of “market share” for successful projects is: web > native app > hybrid app. I really doubt any framework is going to change that, or become all that dominant within what is basically a small niche.

Re: Ready for Production Apps: Flutter Beta 3

#60

Biggest blocker for me is not being able to use WebView. Issue https://github.com/flutter/flutter/issues/730 has been open for 2+ years with no solution. It would be nice to know how big of a challenge this is or if there is a plan to solve it at all.

There are existing options for this: https://pub.dartlang.org/packages/flutter_webview_plugin
Post reply on HN