Live data from Hacker News

Announcing Flutter Release Preview 1

medium.com

51–60 of 86 posts

Re: Announcing Flutter Release Preview 1

#51

Earlier quoted context omitted.

I'm on the Dart team (though I wouldn't necessarily take my comment to be an official statement of the entire team). > (no non-nullable types) I really wanted [1] to get those into Dart 1 (way back before Swift and TypeScript even existed), but I couldn't convince language team at the time that it was worthwhile. When we moved to a stricter, sound type system with strong mode, we hoped to get non-nullable types into…

> (I'm not aware of any cases where it's been done at this scale.) Facebook has done it twice at this scale: PHP -> Hack, plain JS -> Flow JS.

As far as I know, both Hack and Flow are unsound and don't do any runtime type checks to preserve soundness. It's a lot easier to migrate dynamic code to a static type system if you have the luxury of just ignoring the type system when you want to. :)

In Dart 2, the type system is sound and checked at runtime in cases where it can be proven statically safe (downcasts, variance, etc.). That makes it a lot more work to migrate because the code actually needs to run correctly without violating any of the dynamic type tests.

Re: Announcing Flutter Release Preview 1

#52
I love Dart and used flutter for a few months but once I hit the lack of native support for maps, I had to switch to native iOS development. It was a great learning experience for prototyping quickly but hitting a wall with maps was not OK for any high fidelity app.

With Airbnb’s announcement around React Native, I feel like native dev is still the way to go.

Re: Announcing Flutter Release Preview 1

#53
post #46

Earlier quoted context omitted.

I'm on the Dart team (though I wouldn't necessarily take my comment to be an official statement of the entire team). > (no non-nullable types) I really wanted [1] to get those into Dart 1 (way back before Swift and TypeScript even existed), but I couldn't convince language team at the time that it was worthwhile. When we moved to a stricter, sound type system with strong mode, we hoped to get non-nullable types into…

How did you end up in that team, and how one should apply (in case you have any open positions)?

The story of how I ended up on the team is probably too random to be actionable. I believe we do have open headcount, but I don't know how the hiring process works for getting a new hire on to a particular team.

Email me and I'll see what I can figure out.

Re: Announcing Flutter Release Preview 1

#54

Earlier quoted context omitted.

Dart is by far the most productive cross-platform web technology I've ever worked with. We got the same (quite complex due to the domain requirements) core codebase for web client, IOS, Android, and on the server side is well. Had we chosen to go with the more traditional combination, the effort to keep everything in sync would rise exponentially with the complexity of the project.

What frameworks are you using for the web client and the server?

[deleted]

Re: Announcing Flutter Release Preview 1

#55

Earlier quoted context omitted.

Dart is by far the most productive cross-platform web technology I've ever worked with. We got the same (quite complex due to the domain requirements) core codebase for web client, IOS, Android, and on the server side is well. Had we chosen to go with the more traditional combination, the effort to keep everything in sync would rise exponentially with the complexity of the project.

What frameworks are you using for the web client and the server?

Web client: our own mini-framework developed on top of dart:html (we needed maximum flexibility there, for simpler UI we could have used an existing framework)

Server: shelf

Re: Announcing Flutter Release Preview 1

#56
post #13

Earlier quoted context omitted.

Sounds like Expo to me. How does it handle native APIs? Like React-Native (you have to write bridges in ObjC/Java) or like NativeScript (you can simply access all native APIs via JS)

See this blog post from last year: https://hackernoon.com/whats-revolutionary-about-flutter-946...

The styles-as-widgets idea sounds nice.

I saw that with JSX somewhere etc. Made the whole thing look much cleaner.

Re: Announcing Flutter Release Preview 1

#57
post #4

I've been using Flutter for a few months now, and have not felt this productive in years. Being able to iterate so quickly on real or virtual devices has changed how I design and development a UI. I can set out with a mock-up and almost immediately start to feel why it isn't perfect and just use it until the feel is right. The productivity bonuses are sometimes hard to explain to people who haven't yet tried Flutter…

Cool - how is the WebView support? I have a project that will require a WebView in the app. Also I downloaded Flutter a while back and noticed a lot of buggy / unintuitive behavior with their TextViews (multi-line specifically) such as with copying and pasting, selecting text, etc. Do you know whether these components have matured?

I had some similar experiences with multiline text controls in the summer of last year, but it seemed to improve by around the fall. Not quite sure of the current state but it seemed to be improving.

(Overall it was still super worth it to use flutter at the time)

Re: Announcing Flutter Release Preview 1

#58

Earlier quoted context omitted.

I'm on the Dart team (though I wouldn't necessarily take my comment to be an official statement of the entire team). > (no non-nullable types) I really wanted [1] to get those into Dart 1 (way back before Swift and TypeScript even existed), but I couldn't convince language team at the time that it was worthwhile. When we moved to a stricter, sound type system with strong mode, we hoped to get non-nullable types into…

The thing is that the longer you wait, the harder it will be to migrate, as the codebase size grows (and once you leave beta, people assume that the language is finalized and won't be too happy being forced to refactor their code when Dart 3 comes out). But as it is, I doubt that the nice parts of Kotlin will ever make it to Dart.

> The thing is that the longer you wait, the harder it will be to migrate.

Definitely preaching to the choir on that one. I pressed my case as hard as I could before 1.0.

We do still have more freedom to make breaking changes than many post 1.0 languages do because, frankly, we don't have that many users. But every day, the cost to make that change goes up.

> people assume that the language is finalized and won't be too happy being forced to refactor their code when Dart 3 comes out

I was worried about that with the transition to the new type system in Dart 2, but users — internal and external — were surprisingly accepting of the breakage. We don't want to be cavalier about breaking them, of course, but my impression is that there is more room for significant changes than I'd initially assumed.

> But as it is, I doubt that the nice parts of Kotlin will ever make it to Dart.

Dart will never be Kotlin, but I hope we can get to a point where most users don't consider it to be deficient compared to Kotlin and where we have some features to make Kotlin users jealous.

Re: Announcing Flutter Release Preview 1

#59
post #9

This release follows Airbnb posts describing their deep experience in React Native and why they ended up abandoning it: https://medium.com/airbnb-engineering/sunsetting-react-nativ... Based on the issues they've had with React Native [1] I believe they would've had a better experience with Dart and Flutter which also has a fast iterative dev experience with a productive language that lets you build both iOS and Andro…

Similarly, I'm interested in what blockers exist for using Flutter for production/complicated apps

Re: Announcing Flutter Release Preview 1

#60
post #2

I'd love to play with Flutter but issues like this keep me at arm's length. Hopefully when this kind of thing is finally resolved I'll be able to give it a closer look. https://github.com/flutter/flutter/issues/6827

State restoration pretty damn important too. Say for example, the user goes into multi-window on Android. If they were doing anything important on the screen, that would just be wiped out.

While it's common to restart on all sorts of config changes like multiwindow or layout changes on Android, flutter specifically configures it's android activity to not restart. So going into multiwindow works just fine, and the framework handles redrawing and resizing.
Post reply on HN