Live data from Hacker News

Ready for Production Apps: Flutter Beta 3

developers.googleblog.com

81–90 of 107 posts

Re: Ready for Production Apps: Flutter Beta 3

#81
post #9

I am having a side project built with Flutter. (here: https://play.google.com/store/apps/details?id=zero.sleep.com... ). The ecosystem is not as big as ReactNative (because Dart + it's new) but the developer exerience is really good. Dart is not that bad, and I really love the toolings even they were in the experimental state. Hot Reload, good IDE, typed, Java-like but less verbose, stream...

This is beautiful, thanks for sharing. Do you have a repo hosted somewhere I could poke around in?

Re: Ready for Production Apps: Flutter Beta 3

#82
post #27

I like the direction that Flutter has taken, cross-platform without the baggage of being a web platform. If you know JS and Java, Dart is very easy to learn. About a few hours' worth of tinkering and you'll be good. I had an Android app [0] that I was trying to build with Kotlin in the evenings/weekends. I switched to Flutter, and was able to get something out of the door in less than the time I spent on Kotlin/Java.…

> cross-platform without the baggage of being a web platform. Simple ability to run in the browser, even not perfectly, would still add a lot of value though..

From Laws of spacecraft design -> 39. Any exploration program which "just happens" to include a new launch vehicle is, de facto, a launch vehicle program.

I suspect adding ability to run in browser imperfectly would just invite demands for Flutter to become a web dev framework entirely.

Re: Ready for Production Apps: Flutter Beta 3

#83
post #82

Earlier quoted context omitted.

> cross-platform without the baggage of being a web platform. Simple ability to run in the browser, even not perfectly, would still add a lot of value though..

From Laws of spacecraft design -> 39. Any exploration program which "just happens" to include a new launch vehicle is, de facto, a launch vehicle program. I suspect adding ability to run in browser imperfectly would just invite demands for Flutter to become a web dev framework entirely.

Good point, but that would still be welcomed, though I'd probably prefer it be a diffeent product (ala the opposite of react-native).

Flutter has shown that it's possible to build a truly native implementation from "web" tooling. I've shipped apps with Ionic and such before (but not React-Native yet), but despite how much care goes into the application, they've still never felt native, and Flutter bridges that gap perfectly.

If it somehow managed to also be able to deploy the same code to the web, perhaps using a different (or providable) CSS grid, I think it's as close to a holy grail as we'll manage.

Re: Ready for Production Apps: Flutter Beta 3

#84

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.

Interesting. Can you expand on which types of apps wouldn't feel right on iOS if developed in Flutter?

Any app where text input is a major feature — messengers, social network apps, email clients. Most apps with a search field — usually some parts of UI move when opening and closing keyboard. Long time android users don’t expect any of these interactions to animate smoothly and in perfect sync, but it is essential for iOS UX.

Re: Ready for Production Apps: Flutter Beta 3

#85
post #72
post #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 t…

> 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) {...}" Is your Xamarin experience using Xamarin.Forms? It sounds like Forms allows for more cross-platform gui code reuse. I'm doing a lot of investigation into Xamarin because I'm learning C# this summer f…

Xamarin.Forms provides an abstracted UI definition of common controls across platforms. This makes design faster since you can simply specify a Button or a Picker without knowing or caring that the actual implementations on iOS are UIButton or UIPickerView (eg: UIDatePicker) or that on Android they are android.widget.Button or android.app.DatePickerDialog. All UIs defined in Xamarin are rendered with OS-native widgets.

Re: Ready for Production Apps: Flutter Beta 3

#86
post #50

How good is FFI in Dart? I mean how fast and easy is it? I see that it can call C and C++ libraries, but that's nowadays a basic requirement for any FFI. I'm looking maybe for an opinion and maybe some kind of numbers to back up it's performance. As far as I understand it on Android it's compiled to a CPU native binary and has to use NDK and JNI to do anything. If that's a fact it's funny that on Google's own platfor…

FFI is actually quite bad. You can't talk to native (C, C++, Go, Rust) code directly. You have to talk to Java, and if you need, from Java to Native.

You also communicate to Java through serialization, rather than through shared memory.

Oh, and any communication goes through a Future, which is annoying.

Re: Ready for Production Apps: Flutter Beta 3

#87
post #25
post #11

Earlier quoted context omitted.

I don't think using non-OEM widgets is a bad thing because it's not like Electron; Flutter uses Skia to render widgets, and it's fast. There is an article https://medium.com/flutter-io/why-flutter-doesnt-use-oem-wid...

I love Flutter, and how it looks, but while I was at the Google I/O Extended I was given an Android Things Kit. That specific version of the kit did not had GPU, and later (at home) when I tried Flutter - it was running very slow, while other android apps were manageable. Then again, this is more of an outlier (today) with the GPU present almost on any mobile device, but still something to know about (e.g. flutter wo…

that's an interesting point. wonder how bad it is for battery since it takes away the cpu/gpu decision from the OS

Re: Ready for Production Apps: Flutter Beta 3

#88
Flutter looked absolutely perfect to me until I looked into calling C++ libraries, in order to facilitate a mobile version of a desktop app made with Qt/C++. It turns out the only way to call C++ code is to write two separate wrappers, one in Java (with NDK) and one in Objective-C.

It seems like a pain in the ass to have to go through two separate channels to access code that's perfectly cross-platform to begin with.

Re: Ready for Production Apps: Flutter Beta 3

#89
post #62

Earlier quoted context omitted.

How large and invasive is the Dart runtime though? Running in a VM and running with a runtime are only so far apart. And I'm interested in distribution package sizes too.

Here is some info: https://flutter.io/faq/#how-big-is-the-flutter-engine

in summary : a minimal UI app goes from 40k of java code to 6700k of compressed dart code

Re: Ready for Production Apps: Flutter Beta 3

#90
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…

Flutter is the native toolkit on Fuchsia though. If (as some expect) Fuchsia is the Android successor (or somehow merges with Android) then we will be in a different situation.

The native UI toolkit that powers 85% of all mobile devices will then also be usable on the remaining 15%. That changes the equation for all but the most high profile iOS apps.

Post reply on HN