35 ms·
Flutter 2
- tpmx 6y agoLast time I tested a Flutter-built app on an iPhone X (perhaps a year ago) there was still obvious jank in transitions/animations. I assume most of the showcases mentioned here (WeChat, Grab, Yandex Go, Nubank, Sonos, Fastic, Betterment and realtor.com) are Flutter-based on Android only? Is there a well-built Flutter-based iOS app without jank now?
- timsneath 6y agoDisclosure: I'm on the Flutter team. According to AppAnnie, most of these are using Flutter on iOS too: WeChat, Alibaba, Grab, Nubank, Sonos all show up on their list of Flutter-powered apps on the Apple appstore. We don't capture analytics on apps, so our sources here are external sites like AppAnnie (or occasionally, direct connections with the development team).
- tpmx 6y agoI tried the Sonos app since it looked very similar on both platforms. It's a lot smoother than my experience from a year ago. (Hard to really tell in the limited set of screens before hardware pairing.) Edit: If the signup screen in the Grab iOS app is written in Flutter I'm very impressed. I want to believe. Edit 2: Nubank: I only evaluated the sign-in screen(s), but it has enough animations at what seems like a very solid 60 fps on my iPhone X to convince me that Flutter on iOS is actually a real thing now. Very nice. They write about their development effort here: https://building.nubank.com.br/scaling-with-flutter/ https://building.nubank.com.br/scaling-with-flutter/ Edit 3: Maybe I jumped the gun here. Quote from that post: "We’re also facing hard prioritization decisions, especially in flows and screens that work very well in their current state (native Objective-C, Swift, Java, Kotlin, or React Native) for which there are no near-future update plans."
- kyrra 6y ago(googler, opinion is my own). The (new) google Pay app on iOS[0] and Android[1] are flutter based. I'm on Android, so I don't know it's behavior on iOS. [0] https://apps.apple.com/us/app/google-pay-save-pay-manage/id1193357041 https://apps.apple.com/us/app/google-pay-save-pay-manage/id1... [1] https://play.google.com/store/apps/details?id=com.google.android.apps.nbu.paisa.user&hl=en_US&gl=US https://play.google.com/store/apps/details?id=com.google.and...
- deleted 6y ago[deleted]
- gareim 6y agoGoogle Pay on the iPhone XS had so much jank and UI lag when I last used it a month ago.
- eseidelGoogle 6y ago[Flutter Eng. Dir here] I replied above as well. My team has also not been satisfied with the performance of the GPay app on all devices. We've been working with the GPay team since release and made many improvements in both Flutter and the GPay app. I expect there will be an updated GPay app soon, with still more performance improvements in the pipeline.
- matchbok 6y agoWhy can't y'all just fix Android development instead of this flutter stuff that will be deprecated and killed off in 2 years because nobody uses it?
- tpmx 6y agoMaybe publish a Flutter showcase app on both appstores? With Apple's store you'll probably have to jump through some hoops to provide some useful functionality, but it should be doable.
- technofiend 6y agoThe app works fine although as of today it's still tagged Beta in the Google Play store, which may give some people pause. NFC on the other hand is so unreliable as to moot the use of Google Pay, which is unfortunate. I really prefer tap-to-pay over anything else, but not at the expense of making people in line behind me wait as I try various workarounds like toggling NFC. I realize there's nothing you can do about it - my grumbling is more a warning to folks who (like me) may have used it previously on the Pixel 2 and loved it. It's problematic in the Pixel 4. :shrug:
- trezm 6y agoInteresting you mention it. I've actually been working on a fairly fully featured app in flutter, and was shocked at how well it performed on iOS. Coming from the React Native world its miles ahead in terms of perf, at least in our case. Shameless plug, the app is https://droppod.gg https://droppod.gg, an app to find time to play video games with your friends!
- tpmx 6y agoI tried it - there's some jank here and there, but the general experience is smooth. Image loading while scrolling through your game feed seems to cause skipped frames, but that's not necessarily the toolkit's fault.
- pvinis 6y agoI like the idea so I just installed it. In the sign up screen I can swipe back and get to a second sign up screen, then swipe back again and I go to a loading screen forever. I don't know if that's flutter or you, but it doesn't fill me with confidence.
- the_duke 6y agoDoes this mean all desktop integrations have now migrated from alpha and are available on stable releases? The post isn't 100% clear on this. I tried out Flutter a while ago, and it's really promising as the only really viable alternative to the JS/browser stack for cross platform GUIs. Dart is not terribly inspiring and lacks the appeal of other new languages like Kotlin or Swift, but it's fine; as in: boring/easy to pick up and good enough for frontend, although somewhat sluggish. ps: I personally don't see the design of Flutter Web as viable for production apps, so if you need Browser support, a JS stack will remain the only solution, at least for a few years.
- csells 6y agoFlutter 2 contains desktop support at the beta level on both the beta channel and the stable channel behind a config flag.
- fakedang 6y agoDoubt it. More likely this is Google half-assing something else. I doubt Flutter 2 is worth it, since they were just beginning expanding the Flutter team 2 weeks back
- serial_dev 6y agoI'm a developer who uses Flutter and the thing I love the most about Flutter is the Dart language. It's such an easy language to pick up, and if you know TypeScript/Java/JavaScript, it feels immediately "home", you just know how to do things. Regarding Swift and Kotlin, yes, they have more features, but that makes those languages also harder to learn and more difficult to master. I think Go demonstrated that more simplicity is also important and more features does not automatically mean you'll be more productive (that's not to say that Swift or Kotlin is bad, I just want to express that Dart feels great). Extensions, null-safety are already here, and data classes are being worked on, so I think the Dart teams listens to the feedback from the community and prioritizes well.
- stephenhuey 6y agoSeems like you've been around long enough to have read In Search of Stupidity. Lots of great stories in there, including one about a super famous tech person who once said the browser is too slow and will not ever be a viable place for apps. :)
- fakedang 6y agoI'll only believe this is worth my time if: a.) Google fixes Flutter Web and all of its idiosyncrasies b.) Google removes the jank in iOS apps.
- deleted 6y ago[deleted]
- arpit 6y agoI am really excited for web support! My own plans for making web-apps now will probably lean towards Flutter and web-sites towards HTML/CSS.
- dstaley 6y agoFlutter for Web feels like such a wild step backwards in terms of functionality that I'm not sure the benefits it brings are worth it. I just tried a few samples, and basic interactions like selecting text, saving images, and opening links in new tabs don't work. This is the result of rendering everything to a <canvas> element. I'm much more interested in a React Native style approach, which seems to provide a consistent set of components that work the same on mobile, desktop, and web.
- lucasmullens 6y agoIs that the CanvasKit renderer or the HTML renderer?
- dstaley 6y agoI hope it's CanvasKit because if those interactions are also broken in the HTML renderer that's even worse!
- yjbanov 6y ago(disclaimer: I work on the Flutter team) There's no difference between CanvasKit and HTML as far as interactions are concerned. The differences are in pixels and performance. If there are issues with interactions, we'd like to hear about them. Please file issues on Github.
- tshaddox 6y agoYeah, I haven’t been following Flutter, but I’m surprised their approach to the web is just shipping their entire custom layout/drawing code in WebAssembly and drawing everything with canvas. I would have expected them to actually port their native UI components (buttons, links, text, etc.) to their corresponding native components on the web, and maybe ship a custom layout engine if CSS layouts aren’t flexible enough.
- baybal2 6y agoGtk tried the same with broadway. It went nowhere.
- brobdingnagians 6y agoI recently discovered Flutter and I love it for making mobile apps. The multiplatform by default with good API and stability is a winning combination. Lots of modern language features from Dart and built in support for two way binding makes GUI programming much easier. I much prefer it to React Native.
- masterofmisc 6y agoWhat is the API story like now? When I first looked before version 1 was stamped you had to search for 3rd party plugins for features like accessing the camera and such.
- brobdingnagians 6y agoI think it is a supported plugin now[1], but geolocation is still a third party plugin, though there is one that is decetly standard to use [1] https://flutter.dev/docs/cookbook/plugins/picture-using-camera https://flutter.dev/docs/cookbook/plugins/picture-using-came... [2] https://pub.dev/packages/geolocator https://pub.dev/packages/geolocator
- open-paren 6y agoCongrats to the Flutter and Dart teams! This is a huge accomplishment. However, I worry about accessibility story for Flutter applications. Am I naïve? Should screen-reader support be a concern for the kind of complex visual applications that Flutter is built for?
- timsneath 6y agoScreen reader should always be a concern! But we built accessibility as a core feature of Flutter from the start. You can read about our support for screen readers here: https://flutter.dev/docs/development/accessibility-and-localization/accessibility https://flutter.dev/docs/development/accessibility-and-local... including a session where a developer who is blind shows how to make an app accessible. Flutter 2 also supports accessibility for web apps, and you can use Windows Narrator, VoiceOver, TalkBack, or ChromeVox screen readers to navigate a Flutter web app.
- belinder 6y agoSo how does it run natively on desktop? Is it like electron? Can't tell from the linux example
- bilal4hmed 6y agoNot like electron at all. It compiles down to a native binary for the OS.
- axaxs 6y agoEh, it's a little murky. I was playing with dart a little. It can in fact create a single binary, but it looks like it's just putting the interpreter with the code. I say that because if you strip or pack the binary, instead of working it shows the output of running dart with no arguments.
- vsmenon 6y ago[ disclaimer: I work on the Dart team ] It depends on how you run. Dart can either run in JIT mode or AOT mode. In general, when you ship a production app (e.g., for Flutter), you are using AOT - i.e., it's compiling to native machine code. In this case, there is no interpretation or compilation at runtime. We still bundle a runtime for garbage collection.
- axaxs 6y agoWhich does 'compile exe' use? Essentially here is what I see - $ cat a.dart void main() { print("hello world"); } $ dart compile exe a.dart Info: Compiling with sound null safety Generated: /home/x/a.exe ~ $ strip a.exe ~ $ ./a.exe --version Dart SDK version: 2.12.0 (stable) (Thu Feb 25 19:50:53 2021 +0100) on "linux_x64" If I run without --version, it prints the same thing the 'dart' command does.
- vsmenon 6y agoThanks - not what I'd expect, but I can repro. Bug filed here: https://github.com/dart-lang/sdk/issues/45197 https://github.com/dart-lang/sdk/issues/45197 It is AOT though. If you time `dart a.dart` vs `./a.exe` (pre strip :-), the latter should be considerably faster.
- endisneigh 6y agoI long for the day when software development steps out of its infancy and we have one programming language that targets all platforms and frameworks. Kotlin is pretty great - so you're in this situation where you can either learn Flutter or JavaScript - at least with JavaScript you can also target the web (I'm aware that Flutter 2 also can target the web, but it's not the same thing). edit: I must clarify - I'm not saying software development must necessarily have only one language, but rather that there exists a single language that can target all environments natively. C was close, but then the web and mobile happened. Java was also close, but no dice. We're getting there, I think.
- deleted 6y ago[deleted]
- AlotOfReading 6y agoThis strikes me as akin to wishing for mathematics to step out of its infancy and adopting a single notation.
- endisneigh 6y agoI don't understand - Math is a great example because the notation is bounded across all disciplines of math. Can you imagine if Physics used different "math" and "notation" compared to Chemistry or Computer Science? You don't have to learn a different math to understand different disciplines in the same way you have to learn different programming languages to understand different programs. Perhaps I'm misunderstanding you.
- tasogare 6y agoMath isn’t written using the same notation across human languages, so it’s not a good counter example either.
- endisneigh 6y agoDo you have an example? I speak another language and am not aware of meaningful differences in math notation in other languages.
- Shadonototro 6y agoWell, with flutter they did what every other "supposed" "modern" languages failed to provide (rust, swift, kotlin, go) A modern UI, crossplatform, AOT compiler UI toolkit, that includes phones, web, and desktop Not even dotnet could achieve this Even if i'm not interested in that kind of development, let's hope people pick this instead of the atrocity that is electron
- darklion 6y agoLiterally none of those languages tried to provide all of those things. It’s not a failure if that wasn’t the goal to begin with.
- Shadonototro 6y agoThat's exactly my point, you fail to understand I said provide, not "goal"
- shock-value 6y agoYou used the word "failed" which implies they sought something and fell short.
- itoocode 6y agoFlutter is winning the race in cross platform development. I have been using Flutter for past few days, and I really like the package on whole, tools and community. Having used Xamarin and Qt in the past, Flutter is a lot easier to learn.
- davidkhess 6y agoI'm curious, when you refer to Qt, do you mean the QWidget application approach or QML? QML is much more like Flutter (but is indeed somewhat arcane to learn how to work with).
- itoocode 6y agoI meant Qml, is much more like Flutter, but I felt the learning curve was steeper than flutter.
- andrewstuart 6y agoHow can I access AWS SDK from Flutter?
- bilal4hmed 6y agomaybe look here https://aws.amazon.com/getting-started/hands-on/build-flutter-app-amplify/ https://aws.amazon.com/getting-started/hands-on/build-flutte... you have to use the Amplify library from AWS
- bilal4hmed 6y agoI was honestly surprised to see Microsofts name on there as a contributor
- tasogare 6y agoClassical MS move: spending more efforts on competing technologies than on their own (in this case dotnet).
- mikece 6y agoEven Microsoft realize that Xamarin is not a tool for serious mobile or desktop development. Sure, you can get apps that work but they are 2.5x larger than if you had written them in Java or Kotlin and offer no more features than if you had done a hybrid mobile app with Ionic instead. Everyone thought Microsoft acquired Xamarin for the mobile dev tooling? No: it was the only way they could get the brain trust and the core Mono team at Xamarin to come work for them.
- lostmsu 6y agoThat would not be a problem, if you could publish a shared runtime in Google Play. Phones are still really bad platform.
- bithavoc 6y agoI'm surprised too, they now have: - MFC - WinForms - Windows Presentation Foundation - Xamarin & Xamarin Forms - Universal Windows Apps - WinUI 2 & 3 - React Native fork for Windows (based on WinUI 2 migrating to WinUI 3) - React Native fork for Mac (based on AppKit) And now they also contribute to Flutter, wow.
- bliteben 6y agoYou forgot blaze and prob uncountable other projects
- beaner 6y ago> Google Pay switched to Flutter a few months ago for their flagship mobile app, and they already achieved major gains in productivity and quality. I don't know how they can claim this. The new Google Pay on Android was noticeably laggier the moment it was released. It continues to be so, and I still hate using it. Now I know the cause.
- dstaley 6y agoAs long as the old Google Pay app still does NFC payments, I'll keep using it. I was also pretty salty that the new Google Pay app was marked as "early release" so you couldn't leave a review on the Google Play Store. That's fixed now though.
- jerrycruncher 6y agoThey are likely referring to developer productivity and perceived code quality, not user satisfaction.
- ignoramous 6y agoI don't auto-update any Google app anymore. The amount of bloat keeps piling up with each new update. Google's Product Managers, as great as they are, need to seriously slowdown a bit.
- eseidelGoogle 6y ago[Flutter Eng. Dir here] The initial GPay Flutter release definitely had some performance rough spots. We've learned a lot from working with that team since release and have made resulting changes in both Flutter and the app code. GPay hasn't released since December last I checked, but I expect the next release should perform better on both iOS and Android and we will be continuing to work with them closely over the coming months.
- CyberDildonics 6y agoHow is this still such a problem in the modern era where major software is released that becomes unusably slow on multi-core cutting edge phones?
- codercotton 6y agoThey are dependent on Flutter for Stadia, which is cancelled? The disparity is annoying...
- Tokiin 6y agoStadia has not been cancelled, they just shuttered the internal development studios. The service itself is still alive and getting new games frequently.
- meibo 6y agoStadia isn't cancelled. The studio is. Stadia itself won't go away any time soon.
- timgilbert 6y agoIndeed, looks like it's got 989 days remaining. http://stadiacountdown.com/ http://stadiacountdown.com/
- meibo 6y agoIf you'd have any clue of the games industry, you wouldn't be saying this. AAA publishers are pushing heavily for this since it makes piracy and hacking obsolete and they always get what they want - there's no way that this is not the future of "popular" gaming.
- zbowling 6y agoStadia isn't/wasn't canceled. Only Google's first party development studio was closed. Stadia the platform is still a thing.
- randomchars 6y agoThe idea sounds very appealing, especially to an indie developer: being able to ship your app on multiple platforms from a single codebase is kind of the holy grail. Unfortunately, the result is.... I tested this Flutter example[1], on a 16" MBP with and i7, and it is janky as it can get, it feels like I'm using a 15 year old computer. From the code it looks like the whole thing is... rendered on canvas? I'll pass. [1]: https://gallery.flutter.dev/#/ https://gallery.flutter.dev/#/
- mda 6y agoWell, to give counterpoint, just tested on Chrome / Windows (ok-ish CPU, decent GPU) all demos are buttery smooth no lag or jank whatsoever.
- sydd 6y agoI've tested on my phone (1yr old pretty good Android one) and the whole thing is very laggy runs with like 10fps. What about a11y? The whole thing feels like Adobe Flex in 2010. It solves a great deal of problems that the web had but introduced a plethora of others.
- eseidelGoogle 6y ago[Flutter Eng. Dir. here] Still relatively early days for Flutter Web, so I would not be shocked if it's not buttery everywhere. However, we would certainly love to learn more. fluter.dev/support has links as to how to file an issue if you're interested. https://flutterplasma.dev/ https://flutterplasma.dev/ is one demo to try. We expect to be updating flutter.dev/web and flutter.dev/showcase to update more over time.
- deleted 6y ago[deleted]
- sydd 6y agoThanks for the reply! What about a11y? Can you navigate a Flutter page via keyboard? What about screen reader support?
- ahmedfromtunis 6y agoThis is definitely interesting; I'm so tempted to try this. But the question that comes to mind with this kind of the technology from Google: is there any mandatory Google services that I'd have to use? Just as an example: Do I have to use Google's ad platform or I can use any other service?
- distribot 6y agoI think this kind of lock in doesn't exist because you can create bridges to native code anywhere in the code.
- bilal4hmed 6y agoyou dont have to use any google services to work with flutter.
- DodgyEggplant 6y agofor now
- symlinkk 6y agoI don’t think Flutter offers enough value over Electron to justify learning Dart and leaving behind the vibrant tooling and package ecosystem that JavaScript has.
- yoavm 6y agoThe real news is buried a little towards the bottom: > Today we’re announcing the beta release of Google Mobile Ads for Flutter, a new SDK that works with AdMob and AdManager to offer a variety of ad formats, including banner, interstitial, native, and rewarded video ads. We’ve been piloting this SDK with several key customers, such as Sua Música, the largest music platform for independent artists in Latin America, and we’re now ready to open the Google Mobile Ads for Flutter SDK for broader adoption.
- garrtt 6y ago> Google Pay switched to Flutter a few months ago for their flagship mobile app, and they already achieved major gains in productivity and quality. By unifying the codebase, the team removed feature disparity between platforms and eliminated over half a million lines of code. from pay.google.com > Starting April 5, you won't be able to use pay.google.com to send and receive money from other people. To send and receive money, use the new Google Pay app.
- shepherdjerred 6y agoThe easiest way to get rid of 500,000 lines of code is to delete your website
- oh_sigh 6y agoThe website and the app are two different things.
- buzzy_hacker 6y ago> the team removed feature disparity between platforms
- ewindal 6y agoStill doesn’t explain why you think removing LoC in a mobile application removes features from a web application.
- ComputerGuru 6y agoThe web application was deleted. That means there is no feature parity to factor into consideration.
- ewindal 6y agoThey are obviously talking about feature parity between the platforms android and iOS that their _mobile app_ targets. You cannot be this dense.
- kureikain 6y agoI want to love Flutter. But once looking at it, it's a no go. It's the new flash. Really, you cannot copy the text anymore. React native is my goto solution now.
- kevincox 6y agoYup. I would also like to open links in new tabs, view images, copy links, search on page, use browser extensions... I can see it being useful for games and similar where there isn't really any UI but even then I would want dialogs and similar to use regular text that I can copy. I am definitely not looking forward to flutter on the web. I foresee a lot of websites that I will need to avoid.
- pieno 6y agoBut do you really need that as a requirement across the boars for all apps? How many times have you wanted to save an image or copy text from a UI element in a native app? (eg. a save icon and “Save” on a button) How many times have you been frustrated in a web app that when you search using the browser you are getting results from UI elements or “app chrome” instead of the actual content that the web app is displaying? Isn’t it enough to have some fields with content a user actually would want to copy/search, which would be set based on the component type you are using and can be overridden per element if needed? The only thing I do get is that you’d want open in new tab and copyable links. However, that’s hard from a developer perspective as you have to make sure you create links that store all data needed to rebuild the same UI in the same “conceptual” context but a different underlying data context (logged in user may be different, data may have changed so some saved context has become stale). You’ll likely end up spending an awful lot of time to cater for all the unexpected things that may happen when someone just clicks a link copied from the address bar or a link by another user 2 days before, that may have been the result of that second user clicking through 10 levels deep in your app with all sorts of filters and options based on the state of data at that exact time two days before the first user clicks the link. Obviously you can’t show them the data from two days ago, but what if the data is still there but the path to get there is different? Does it conceptually still make sense to show the data and perhaps some breadcrumbs showing the new path? Or should you just say sorry that data isn’t here anymore? That depends entirely on what the data is and what you’re users are trying to do, so you can’t build one-size-fits-all technical solutions for this (if that were even possible). How are you ever going to reliably rebuild the UI and context that the first user intended to share by copying the link without spending huge amounts of time? That requires actual business logic and functional design. For a lot of apps, it may make more sense to just have a share button in some places where you actually and intentionally support this (and where it will be actually used by a substantial number of users). Less time spent on developing things that are hugely complex and very little used (on average per state for ALL your different UI states that you have links to somewhere in the app, even if it’s a typical line-of-business master-detail form with some filters for the master list and a details segment with a dialog box or expanded element showing additional details of a certain property).
- moneywoes 6y agoIs React native the way to big for cross platform development?
- Keyframe 6y agoI haven't really looked, apart from glancing, into flutter yet. Now with desktops and mobile, premise seems interesting. How and does it compare to Qt?
- davidkhess 6y agoMy perspective is that Flutter is positioned dead on against Qt's QML. I develop mobile and desktop QML applications and this seems to be trying to be very competitive with it. Qt also has a WebAssembly build for QML apps on the web but in my experience it has suffered from some of the same issues reported here about the Flutter WebAssembly runtime. Edit: One key difference is Flutter seems to do everything with procedural code. QML is based on a declarative DSL plus Javascript.
- nullifidian 6y agoI'm not sure, but I think that you have to use Dart language to use Flutter. Incidentally, I was pretty sure that Dart was dead. Turns out it's alive. I'm not sure what it is currently, now that it's statically typed, null safe and all. What are Dart's killer features?
- Keyframe 6y agoWhat are Dart's killer features? Looks like we're discussing one - flutter?
- nullifidian 6y agoThat's a UI/App framework. I was talking about language features.
- munificent 6y ago> What are Dart's killer features? It's not clear to me that killer features are really a thing for most languages. Sure Haskell has laziness/purity and Rust has ownership. But what is C++'s "killer feature"? C interop? It used to be OOP but it's not that any more and yet C++ is still massively successful. What is Java's killer feature? GC? C#'s? I think most languages don't have killer features, they have killer platforms and frameworks. For C, it was Unix. For Java, it was servers and the broad set of libraries. For C# it was WinForms and now Unity. For JS, obviously, the web.
- fluentcard 6y agoI've been using flutter for a while and it has been great. The developer experience is awesome, and the community has released and maintained some very useful libraries. Dart is a bit strange but they've made some good improvements. Flutter web last I checked was a bit strange, especially how text selection didn't really work. That was a showstopper for me so I didn't continue, but I'd definitely be interested in trying it again. Overall very excited to see this release.
- offtop5 6y agoPretty sure I'm the only person on this thread who loves flutter. We use flutter web and Firebase for our hobbyist project, and the results have been simply amazing. Dart makes Typescript look like a joke. The build system alone makes flutter better than React Native ! I'm confident in being able to build any CRUD app in dart Edit, in fact how many of you have actually built a project in flutter .I can't believe anyone would want to go back to react native after trying it
- plorkyeran 6y agoAll of the complaints about flutter I see here are based on people using apps built with flutter, and not about the development experience. "Have you actually build a project in flutter?" is a total non-sequitor response to complaints about how even the official demo is miserable to use.
- offtop5 6y agoWould you not buy a screwdriver because some people with that screwdriver don't build chairs correctly ? Like with Unity, the power of cross-platform development leads many to just assume apps work across platforms automatically. This is absolutely not the case, you need to properly QA any code you write and code it to accommodate each platform's quirks.
- danShumway 6y agoBut these are the official demos. I would not buy a screwdriver if a salesperson walked up to me, said "look how great this screwdriver is" and then the chair they were holding as an example immediately fell apart in their hands. There's a difference between a dev community building apps that perform badly and the actual platform advocates showing off apps that can't perform.
- gagege 6y agoExactly! I always think of the official demos as "this is as good as it gets". Look at how Unreal Engine advertises. Beautiful! Will your game look like that? Probably not, but it potentially could! All the Flutter demos I've seen today are saying "Do you want your app to, at best, take a long time or even fail to load, feel like scrolling through molasses, break when you click a button, and spin text around at 25 fps like a 2005 Flash animation? Well, have we got a framework for you!"
- ardit33 6y agoThis is DOA..... fine for some generic/basic app, but I wouldn't touch it with a ten foot pole if you are building a serious app. This is another attempt from javascript/web front end developers trying to unseat native apps.... with the naive promise that is truly build once, run everywhere... It hasn't worked since 1995.... as these frameworks get decent, native apps push the envelope and user expectations just increase over time, and apps created by these framework just look outdated or as toys.
- underwater 6y agoI don't believe that the idea is fundamentally flawed. Having bespoke widgets rather than stock OS ones is pretty standard. If you can render swipes, fades, blurs and transforms you can create premium experiences without being native.
- mchusma 6y agoWe have used Ionic to build once deploy on mobile and web for years. It works really well for us now. (I am not sure it would work for all usecase but my guess is 99% of non-game apps would be fine).
- LocalPCGuy 6y agoFlutter for mobile apps, cross-platform across Android and iOS is pretty amazing. I do not like what they are doing with Flutter Web, but that doesn't change that it is a pretty amazing framework for cross-platform mobile development. Also, it isn't FE web devs driving Flutter. I know a lot of mobile cetric devs who really love it.
- deleted 6y ago[deleted]
- dhbradshaw 6y agoOne question that's been in the back of everyone's mind with Flutter is "will Google toy with Flutter and then drop it? Or will they stick with it and make it the real deal?" I take this post as partial evidence that they're making this the real deal. It's already surprisingly good, and there's reason to believe that it will get a whole lot better.
- catmanjan 6y agoThere have been posts like this in the lifetime of various killed Google products - it would be nice if they would openly admit how many years of funding they've committed
- jasonvorhe 6y agoConsidering that Flutter is most likely to be the defacto framework to develop for Fuchsia, I'd expect Flutter to stick around if they release at least 3 different consumer devices running Fuchsia OS until 2024.
- deleted 6y ago[deleted]
- colesantiago 6y agoThis is HUGE, an absolute game changer in the cross platform space and in competing with electron, my congrats to the flutter team on this release. I anyone using Flutter in production currently?
- bloaf 6y agoMicrosoft seems to be wandering around in the same field, with their slow expansion of dotnet & Blazor.
- matchbok 6y agoWhat a mess - just make Android better please. Nobody uses this or wants to learn a new way of building apps. Swift and Kotlin are 100x better.
- utborin 6y ago> Our goal is to fundamentally shift how developers I'm tired.
- russellbeattie 6y agoI think Dart's new way of declaring variables as null safe by default is very interesting. If you want a variable to be able to hold a null, you have to explicitly say so. It seems a less heavy-handed version of how Golang handles nil, and much better than the standard way of declaring variables in most any other language. Maybe this is some common language thing I haven't seen before, but it seems an "obvious in retrospect" sort of idea.
- c-cube 6y agoIt's already in at least kotlin and typescript, not to mention the languages that simply don't have null.
- russellbeattie 6y agoInteresting. Typescript seems to need a --strictNullChecks flag, but yeah Kotlin does have this already. (Sadly, Kotlin is filled with so many bad ideas, it's hard to notice a good one.)
- yagodragon 6y agoWe're all complaining about how js is a bad language, tooling is a mess, and how the web is fundamentally built for documents and makes it hard to create app-like experiences. Now, Google comes and creates a whole new UI toolkit from scratch, couples it with a very beautiful SDK and component framework and offers a far better programming language than js could ever be but we're still nagging. I was also pretty disappointed with the demo at flutterfolio.com that is supposed to show how great Flutter 2.0 for the web is. It's not that good but it's gonna get there eventually, given the hype around wasm and <canvas> technologies. Not to mention that Flutter is already better and easier to use than the existing native tools for both Android and iOS. I believe Flutter is an extremely ambitious project and I appreciate that Google is really trying to give an answer to the problem of cross-platform UI development.
- blacktriangle 6y agoWe're nagging because the apps suck and stick out like a sore thumb. Maybe Flutter will be the one to get there and be the holy grail of cross platform UI development, but the developer community has been burned by this promise so many times, we're going to have to see the final product before getting excited. Just because a project is ambitious doesn't mean we should all jump on board, particularly when similar projects have crashed and burned, and there's really nothing stand-out about Flutter that separates it from prior efforts.
- throwaway123x2 6y agoOof remember when PhoneGap was the next big thing? RIP
- TheGuyWhoCodes 6y agoI remember big corps betting on phonegap and sencha for mobile 7 years ago. I also remember big corps betting on GWT. Those were painful days...
- dmitriid 6y ago
- threatofrain 6y ago> To start with, Canonical is partnering with us to bring Flutter to desktop, with engineers contributing code to support development and deployment on Linux. During today’s event, the Ubuntu team showed an early demo of their new installer app that was rewritten with Flutter. For Canonical, it is critical that they can deliver rock-solid yet beautiful experiences on a huge variety of hardware configurations. Moving forward, Flutter is the default choice for future desktop and mobile apps created by Canonical.
- davidkuennen 6y agoI created apps in cordova, react native and now flutter and I have to say flutter beats both by a lot. It's just been such a nice experience. I'm absolutely in love. My most successful app in flutter is https://stockevents.app https://stockevents.app if you want to try.
- stephenhuey 6y agoI'm a long-time fan of pure web apps, but in my experience, it's more streamlined to develop and ship mobile apps with Flutter than with Cordova and some of the other tools that package web apps for mobile.
- davidkuennen 6y agoYeah I certainly wouldn't use cordova today, but it was very innovative when it was released and I love what it did for the hybrid space.
- stephenhuey 6y agoExactly, and for all the skeptical folks on here, I do not feel Flutter will the the ultimate solution, just another step forward like Cordoba was for abstracting some things and making development faster and easier and paying the bills by shipping more stuff sooner.
- pvinis 6y agoI just tried your app, and like the droppod.gg app and every other flutter app I've tried, there are obvious broken UI things. In the watchlist tab, with one item in the list, I am able to scroll and make the one item hide behind the navbar, and it's happy to stay like that. These things are big obvious things that make me uninstall an app even if I want/need to use it. Again, I don't know if it's you or flutter that made this thing behave like that. But it makes me think flutter apps are all just one big mess.
- davidkuennen 6y ago
- cgb223 6y agoHas anyone used both React Native and Flutter recently in production? How do they compare?
- agersant 6y agoAs a hobbyist Flutter user, I would like to be excited for this release. However, this announcement page does not do a very good job at highlighting changes and new features from Flutter 1. The only concrete feature mentioned is the web platform being stable. Everything else is old news or plugging random companies. The changelog (https://flutter.dev/docs/development/tools/sdk/release-notes/release-notes-2.0.0 https://flutter.dev/docs/development/tools/sdk/release-notes...) looks like a dump of the VCS history, which is also useless. Sample changes: - [flutter_tools] HACKTOBERFEST (cla: yes, tool) - [manual roll] Roll Engine from 1ef10b240e28 to f84e7a019663 (12 revisions) (cla: yes, engine, team, waiting for tree to go green) - use_is_even_rather_than_modulo (a: accessibility, a: tests, cla: yes, f: material design, framework, team) I would strongly suggest adding editorialized release notes for developers.
- timsneath 6y agoYou're right! This isn't an exhaustive listing of the features in Flutter 2 or changes since Flutter 1.12 (which was our last stable release). For that, there's a separate article: https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65 https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ec...
- PragmaticPulp 6y agoOne suggestion: It would help if there was an easy to access demo app that I could point people to to showcase Flutter. The flutter gallery is useful for developers, but it's not a good showcase for what a real world Flutter app would look like. The new Flutter Folio app ( https://flutter.gskinner.com/ https://flutter.gskinner.com/ )looked promising, but then I had to scroll way down to see the actual app links. The Web link looked promising, but I hit a brick wall when it wanted me to register a new account before I could do anything ( https://www.flutterfolio.com/builds/latest/web-build-auto/#/ https://www.flutterfolio.com/builds/latest/web-build-auto/#/ ) Can we get an accessible, up-to-date, canonical Flutter demo app that doesn't require account creation, logins, or any other friction?
- okamiueru 6y agoI have to agree with you. Maybe especially as someone coming from using flutter exclusively for app development. Someone joked about this at work "wait, so flutter 1 did not enable developers to create beautiful, fast and portable apps for any platform?" I had a vague idea that flutter 1 had a desktop/server like backing so that it could be used to develop desktop apps. Maybe this was incorrect, and only possible now with flutter 2? I'm still confused. This app: https://rive.app/ https://rive.app/ was made using flutter 1, no? It runs in the browser, so maybe this is the key difference with flutter 2, that... it allows native apps?
- mchusma 6y agoI will give a shout out to Ionic. We use it and love it. I think it accomplishes what Flutter tries to, but with web standards.
- singhrac 6y agoI think a lot of people will compare React (Native) and Flutter in this thread, and as someone who has had a positive experience with Flutter, I will say that by far the biggest benefits were that (a) there's one way to set up a project, dependencies, compile, and run, and (b) it mostly just works across iOS/Android/macOS (and I guess Windows, which I didn't test). (a) is so, so big. It is a big part of the reason that Rust, a genuinely difficult language, feels inviting. The Flutter community is small, but the core tooling (all from Google of course) is at least consistent. It's obviously how to include packages, it's obvious how to develop, how to run. No need for figuring out Babel or includes or Webpack, or whatever people use these days. (b) is really nice because it allows you to get started. Yes, it's true that the experience on one platform (web) doesn't seem that good, it's the "new Flash" etc. But for someone wanting to develop high quality desktop apps, this is it, folks. It works. It's not hobbled or just a tech demo, the scaffolding is there. Will you have to write custom components? Maybe. But as a programmer I don't want to think about packaging and compilation and inconsistencies; I want incompatible code to be sandboxed and clear (i.e. filesystem access or sound). The runtime should be the same.
- stephenhuey 6y agoExactly - I didn't have loads of time to spend writing separate code for Android and iOS, so Flutter helped me ship faster (see my profile). It was also encouraging to know that if I ever wanted to branch out and deploy my app to the desktop on Windows, MacOS or Linux, that I would have that choice very soon. And I'm a long-time pure web guy who prefers mobile-responsive web apps most of the time! But if you're going to deploy native and don't have the budget for writing code for every platform, Flutter to me is a lot easier than the other toolkits out there.
- stephc_int13 6y agoThe sad part of this is that the exact same thing could be done with real native code, much better perf and nicer footprint.
- stephenhuey 6y agoYes, but to ship my app to both stores, I would have had 2 codebases if I had done what you're suggesting. It depends on whether your goals have a budget for spending that extra time. Not everyone is shipping an app that has such performance requirements.
- arduinomancer 6y agoSo does rendering to Canvas imply browser extensions can't work with Flutter apps?
- yjbanov 6y agoDepends on what the extension is trying to do with your app. If it's scanning your html then no, it won't work.
- d0100 6y agoWhenever I see Flutter news I can't help but feel bitter about the death of Flash. Tomato, tomato
- jorl17 6y agoIt seems to me that "Flutter (2) for Web" is still mostly "rendering widgets/elements to a canvas", and therefore lacking native HTML/CSS, etc, making it pointless in many ways. Am I missing something or did they change this?
- sgt 6y agoYou can choose to render to Canvas or to HTML (DOM). Both seem to work equally well, although the canvas one may have a performance advantage on faster devices.
- drusepth 6y agoReading through this thread makes me think the canvas approach has a performance advantage on faster devices (the demos load instantly and feel snappy to me on a Razer Blade Stealth from 2-3 years ago) but probably also has a performance _disadvantage_ on slower devices (people complaining things taking 10-20 seconds to load), etc. Is that a reasonable assumption? If so, I wonder if there's anything that could be done to help match the right rendering strategy to devices that handle it better (e.g. DOM on slower devices). Seems easy enough on Android/iOS where you know the device specs (mostly) and can target them, but the web is a huge beast of variance.
- sgt 6y agoI have one Flutter web app in production, and for predictability's sake it is set to only use the web renderer (DOM), not canvas. O have not noticed any issues so far and it's fairly fast on even slow Androids.
- pier25 6y agoDesktop support is still in beta: https://flutter.dev/desktop https://flutter.dev/desktop
- ridiculous_fish 6y agoGave it a try, couldn't get the Test Drive to work due to code signing issues. But to be fair code signing is always painful. I filed https://github.com/flutter/flutter/issues/77173 https://github.com/flutter/flutter/issues/77173
- dastx 6y agoHonest question, what's Google's angle with flutter? It's one thing to be develop a toolkit for platforms they have a vested interest in, it's an entirely different thing to create such a toolkit for all platforms, including their competition.
- aliyfarah 6y agoThe answer to these types of questions usually boil down to: Google wants to improve the web experience for everyone. They are the biggest benefactor of the web today, so it makes sense they have the most to gain the more pleasant the web experience is. Also I think they are looking to get revenue with their own Cloud services that integrate seamlessly with Flutter. For example Firebase is the #1 backend most Flutter Devs use.
- mdasen 6y agoI think there's value in having a certain amount of ownership and control of a developer ecosystem. It's open-source, but Google will probably remain associated with Flutter and have the dominant influence on its future. I'm not totally sure what you mean by "a toolkit for platforms they have a vested interest in". Google has a vested interest in basically all the platforms out there. They might create Android, but they certainly make a lot of apps for iOS. I'm guessing they'd like to simplify things using Flutter. Mac and Windows might not see a huge number of native Google apps, but that could change over time - especially if they have a way of making a web version and a desktop version out of the same codebase. Imagine a native macOS Gmail client using Flutter. The same code that could compile to JS for the web could compile down to native for macOS. Having something be open source and widely adopted makes a language and ecosystem stronger. The Go authors noted that they open-sourced Go because it would become stronger as more people used it. And I wouldn't underestimate the soft power that comes from being in charge of one of these things. VSCode, .NET Core, and TypeScript are all free, but it's given Microsoft a huge amount of soft power in the ecosystem and a lot of credibility and mind-share. With a cross-platform UI kit, you can definitely end up with a lot of power. Maybe the experience on Android feels better and more native because your engineers are putting their effort into the Android UI and its patterns more. That's not to say that they'd purposefully make the iOS experience bad or anything, but maybe the iOS-style widgets don't get quite as much polish and maybe developers get encouraged or defaulted into shipping Android-style Material Design apps to iOS. Again, I'm not saying this is malicious, I'm just saying that Google might spend more time on the pieces that are important to them. Google's web docs for Flutter could easily include sections for "and this is how you hook it up to Google Cloud". I think it's also important to recognize that while Android has more marketshare globally, Apple is generally more popular in the US and generally more popular with upper-income folks. Apps like Clubhouse often launch as iOS-only. 11 months after launch and the Hottest New Thing™ is still iOS-only. If Google can convince developers to use Flutter for the Next Big Thing™, it guarantees that it will be available for Android. I think there's a lot of value for Google. Your teams can build better apps in less time cross-platform. You potentially become a leader in the way that Facebook has with React, Microsoft has with VSCode/.NET Core/TypeScript, etc. You guarantee first-class support for your devices. You guarantee that the new things you want supported will get supported since you can prioritize your engineers on it - and potentially even get supported in the way you want. And potentially some nice tie-ins to Google Cloud and Firebase via first-class support, documentation, etc.
- Grimm1 6y agoThis looks like a great thing for people who are building web apps and need that app presence and want to keep a unified code base. That said React Native is plenty good here even if the language ecosystem it's in is a bit of a mess. And I think there's a bit of work to do here with regards to the web before I'd adopt Flutter 2 for my business. I tried a few different examples both on my desktop and my iPhone via safari and design wise the demos look really good, but the experience left a bit to be desired in terms of choppiness, user cues where pressing buttons left me wondering if anything happened until I saw red highlights around a text box and certain things not working, text highlighting is a big one for me and something I use all the time on my phone. I'd definitely try Flutter out for a personal application but for my business if I was not going to develop a native app I think I'd still go with React Native for now.
- FpUser 6y agoI looked at their demos and was less then impressed. Would've probably make more sense to get some mature multiplatform GUI capable tool like Delphi add WASM as their compile target and be done with it.
- superkuh 6y ago>Moving forward, Flutter is the default choice for future desktop and mobile apps created by Canonical. This is terrible news. I thought Canonical learned from it's last decade of painful failures to converge desktop and mobile. They have different needs and it doesn't work. What this means is another dark age for the Ubuntu desktop environment.
- oblio 6y agoWell, Canonical is a graveyard of techs. Launchpad, Juju, Unity, Mir, Bzr, upstart, heck, I can't even remember them all.
- damagednoob 6y agoStill disappointed that Ubuntu Edge never happened: https://www.indiegogo.com/projects/ubuntu-edge#/ https://www.indiegogo.com/projects/ubuntu-edge#/
- btzo 6y agoThe project didn't move forward because they didn't get enough funding ? I can't believe that there aren't enough people interested in funding this.
- danjac 6y agoSnap
- jkelleyrtp 6y agoSafari doesn't work :( I have WGPU and WebGL2 enabled too...
- jgon 6y agoTime to post the evergreen thoughts of Alan Kay from his 1997 OOPSLA talk: https://youtu.be/oKg1hTOQXoY?t=1491 https://youtu.be/oKg1hTOQXoY?t=1491 We've spend the last 25 years hacking a document renderer and scripting language aimed at 5 line form validation logic into the be-all and end-all of modern application development. Browsers sit at 10s of millions of lines of code, with thousands of people working on them. We depend on a standardization committee to have things like the common controls you could find in a Smalltalk-80 UI, and these are still insufficient for many purposes such that developers end up cramming together a million diffs to create the controls they want, in the style they want. The writing was on the wall once we had a canvas element, aka a drawing context, and webassembly, aka a vm target you can compile to. We can keep building up giant garbage heap of complexity and saying that's what we meant to do ( https://youtu.be/oKg1hTOQXoY?t=814 https://youtu.be/oKg1hTOQXoY?t=814 ), or we can take step back and ask if we can provide simpler lower level tools on top of that. With that said, I feel somewhat ambivalent about all of this. Of course the web is an open standard and has provided an incredible explosion of knowledge and utility for everyone. Any sweeping changes to that should elicit feelings of caution I think. Things like accessibility are important, although I think that enough people recognize this that we don't need to worry about it being left behind with this approach and I would also say the ocean of divs approach isn't exactly great for accessibility either. Will this take off and be the first of a new kind of application development? Maybe, or maybe we'll all look back on it in 10 years and wonder what the hype was. For my part I do feel like some sort of change is going to happen, the current approach of piling more crap on top of the current html app dev paradigm feels unscalable, while the strengths of how it allows for app distribution feel like something that we can never get away from. Will Flutter retain those strengths and leave behind the weaknesses? I hope so, and it make me excited for the future of web development in a way I haven't previously.
- andrewstuart 6y agoWhen a company releases a new technology for building desktop applications, the primary thing I look for is a really solid fleshed out implementation of a CRUD application: - sign in to some back end - create and edit data using forms - browse data in some sort of datatable/datagrid - use ajax to GET and POST data But such a demo is pretty much never there - I certainly can't see it in this case. But surely the vast majority of ordinary desktop applications people need to build are just this ... CRUD with auth, ajax and data browsing. It would be dramatically easier to give a new technology for desktop applications a try if such a demo was provided.
- opwieurposiu 6y agoCheck out https://gallery.flutter.dev/ https://gallery.flutter.dev/ for a CRUD sample app.
- deleted 6y ago[deleted]
- andrewstuart 6y agoCan you hone that down to a specific link showing the features listed?
- nindalf 6y agoToyota is going the Tesla way, with touch infotainment systems. Seems like most car manufacturers are headed in this direction. My gut says this is probably going to lead to an increase in accidents, but I don't know of any dataset that shows it. Let's hope this change works out.
- andrewstuart 6y agoOT but I recently did some research on cross platform desktop application development for MacOS and Windows. Here's the options I found. - (language: Pascal) Delphi applications can now run on both Windows and MacOS. - (language: Python or C++ and QML) Qt applications work on MacOS, Windows and Linux.. - (language: JavaScript) React native is being ported by Microsoft to both Windows and OSX. - (language: Kotlin) Kotlin now has "Jetpack Compose" for desktop targeting Windows, MacOS and other platforms. It's like "React for Kotlin". - (language: C#) Microsoft Xamarin applications can target both Windows and MacOS. - (language: JavaScript) Electron lets you run your web applications as desktop applications on Windows and MacOS. - (language: Dart) And now Flutter can be added to the list of ways to build cross platform desktop applications. - (language: Java) presumably this is Java's forte but I did not look into it. - (language: Kotlin) TornadoFX - JavaFX framework for Kotlin https://tornadofx.io/ https://tornadofx.io/
- anderspitman 6y agoSee also: https://en.wikipedia.org/wiki/List_of_platform-independent_GUI_libraries https://en.wikipedia.org/wiki/List_of_platform-independent_G...
- lvass 6y agoAll the highly optimistic claims from the blog post and HN comments would be a bit believable if someone could just show us a web demo that doesn't suck hard. Or show us something accessible at the very least.
- yjbanov 6y agoFlutter has accessibility. We create a html tree with ARIA attributes. It's not there if you don't have assistive technology enabled, however.
- ignoramous 6y agoInteresting how Flutter has evolved from a AR/VR YC company to building cross-platform developer tools at Google. Anyone know the story behind that? https://techcrunch.com/2012/03/26/flutter-app-webcam-y-combinator/ https://techcrunch.com/2012/03/26/flutter-app-webcam-y-combi...
- nmfisher 6y agoI think that's just coincidental naming, the Flutter mobile framework was founded by Eric Seidel, the Flutter AR company was founded by Navneet Dalal and Mehul Nariyawala.
- ignoramous 6y agoInteresting. I wondered why flutterapp.com (the AR/VR app) redirected to flutter.dev (the UI framework)... It led me to believe it was the same team. Apparently not. Thanks.
- nmfisher 6y agoYeah, flutter.io is the same. Given Google acquired the Flutter (AR) team, I assume it was just easy for them to reuse the domains when they launched Flutter (framework).
- dimal 6y agoAm I missing something or on web does it render the entire UI in a <canvas/>? I'm looking on the gallery[1] and that's what it looks like. They say they "added" accessibility, though. Does that mean that every bit of functionality you get for free in HTML needed to be re-implemented in canvas? Can you really trust that that abstraction is going to be air-tight? [1] https://gallery.flutter.dev/#/ https://gallery.flutter.dev/#/
- andrekandre 6y agoFor Canonical, it is critical that they can deliver rock-solid yet beautiful experiences on a huge variety of hardware configurations. Moving forward, Flutter is the default choice for future desktop and mobile apps created by Canonical. -- so what happens to gnome...?
- zmmmmm 6y agoReading all the comments it sounds like Flutter is exactly what I feared would come out of things like WebAssembly - a trojan horse to bypass web standards and turn the browser into a shell for shipping applications that put all the power back in the hands of application vendors and take away the power that open standards give to users (portability, accessibility, customisability, interoperability etc etc). Of course, it will be achieved by delivering amazing developer experience and engineering in parity in all kinds of ways so this doesn't look obvious. But in the end, that is what it will be.
- Hixie 6y ago(I was previous editor of the HTML standard for ~10 years, now I'm the Flutter TL) I mean... you're not wrong. But let's be honest, we never managed to really deliver on the web's promise here. It was <table> and <font> in the 90s, it's WebGL+Wasm now, but the reality is we've never succeeded at true portability (ever tried going to a non-trivial site in lynx? or a web app on your phone?) or accessibility (just ask anyone who uses a screen reader how accessible the web truly is) or customisability (have you _tried_ creating a user style sheet?) or interoperability (I spent a literal decade just trying to clean up the mess around HTML parsing and that was the success story!).
- zmmmmm 6y agoMaybe you aren't giving yourself enough credit? I just typed this comment using a plugin that gives me vi bindings inside the editor, on a page where I have increased the font size to 110% because I personally find it nicer that way. All done without the permission of ycombinator and yet working perfectly with their web page. And this is not just because ycombinator has very basic HTML ... this works with at least 90% of web sites I go to. It may not have achieved its loftiest aims, but I think the open web is an absolutely amazing achievement and success if you compare to what we would have had without it.
- Hixie 6y agoHackerNews uses tables for layout, inline styles, and still forces browsers into quirks mode. Yeah, it can handle slightly bumping up the font size. I can also bump up my font size on Windows, macOS, and Android, and that works for 90% of apps there too. I agree that the open web is an amazing achievement. I don't think Wasm and WebGL take away from that at all. It's just the next logical step to make the web possible for an even greater set of applications.
- anderber 6y agoI've never developed with Flutter, but one of the nicest, fastest app I've ever used, Natrium, is built using it. Which to me makes me very interested in developing with Flutter. https://github.com/appditto/natrium_wallet_flutter https://github.com/appditto/natrium_wallet_flutter
- reader_mode 6y agoI'm currently 5 months into developing a mobile app for a startup with flutter and my experience so far is very underwhelming. Flutter as a framework is not the worst but far from best, it's very OO while trying to use reacts vdom model which just wants to be functional. The biggest limitation of the platform is Dart - it's a horrible language that should have died once TS and ES6 became mature enough. And I've used dart back when it was supposed to be a JS killer shipped with browsers, used dartium to build a MVP for an app using Angular Dart durgin the betas. Back then Dart was miles ahead in terms of tooling and JS the language didn't even have async/await - so I was singing it's praises. But the language stagnated and it's fundamentals with a nominal type system and a closed object model make the language so inflexible and full of boilerplate it's incredible. It's very much like Java (the language, without the powerful ecosystem) and people prefer Kotlin for frontend for a reason. C# is similar but they figured out that they need to build a lot of things in to the language to reduce the boilerplate so they are adding stuff like Records and pattern matching. If you look at state management patterns in flutter there's probably 5-10 competing approaches all lacking in their own way and all severely hampered by how unexpressive dart is. Or how you deal with serialisation/immutability/etc.
- xvilka 6y agoWould have been be nice if they provided a way to use Kotlin Native as a language for Flutter instead. Not a JVM Kotlin of course, because it's too slow for the native mobile apps. Or, even better, Rust. That would be very impressive.
- jzer0cool 6y agoNeeding more integration support from e-commerce perspective. There are some right ideas like the feel for flash but also some wrong ideas here. Maybe requires here a fresh look at what is needed which can solve developer and business needs.
- drewda 6y agoMaybe just a coincidence in timing, but it's interesting to compare this to the just-announced Mobile Native Foundation: - https://www.linuxfoundation.org/en/press-release/new-mobile-native-foundation-to-foster-development-collaboration/ https://www.linuxfoundation.org/en/press-release/new-mobile-... - https://mobilenativefoundation.org/ https://mobilenativefoundation.org/
- mikkelam 6y agoI want to love flutter, and I am personally using it in my startup, but issues like this one is seriously concerning https://github.com/flutter/flutter/issues/76180 https://github.com/flutter/flutter/issues/76180 I really do believe in flutter's future though. Developer experience has been a blast. coming from iOS I've saved so much time with hot reload
- efields 6y agoFlutterfolio.com falls flat on its face on an iPad with kbm. I had to toggle to “precision mode” in the upper-leftcorner to even make an account. Why did I have to press a toggle to register click events? I know ClickEvents and TouchEvents have slight differences on the web, but this is a demo web app that shouldn’t need to consider those nuances to register an account.
- zaiste 6y agoIf you're new to Flutter and looking for a gentle, yet practical introduction, there's this (free) video tutorial on YouTube: https://www.youtube.com/playlist?list=PLhXZp00uXBk5TSY6YOdmpzp1yG3QbFvrN https://www.youtube.com/playlist?list=PLhXZp00uXBk5TSY6YOdmp... (disclaimer: I'm the author)
- rubyn00bie 6y agoI've been writing a desktop app using Flutter and couldn't be happier honestly. The widget pattern makes sense, the bloc library does what it's supposed to do, and just building an app is mostly on you. My blossoming love of Dart has also been a nice but welcome surprise. It has a couple weird spots and irritations, but so does literally everything else... It works well for the problem space its used in and has the necessary language features to get the job done without blowing off your feet. Writing a desktop app _on_ and for Linux, that works on MacOS, and Windows ... and a web browser is beyond awesome. It'll probably work well on Android and iOS, with little effort, but I haven't even bothered to try yet. Before I add a dependency I will check out the code and run the demos (if there are some). I haven't had one fail or render strangely yet on a Linux desktop and nearly all of the existing packages were originally created/intended for a mobile device. With web support, I personally have zero reason to ever write a line of JavaScript again. Why would I want to roll all my own basic widgets? I don't. Writing the logic for a performant and interactive list view, in JS and HTML, is woefully boring to me. I want a list view I can give data to and have a meaningful display of my data. I do not want to browse twenty different packages to find a list view that is the right mix of code I don't hate and features I actually want. I want that done because it's a solved problem, and takes time to solve right. I couldn't be more excited for this release and future ones because Flutter is providing me a solution that fucking works.
- pvinis 6y agoShow me any flutter app you want and I'll find a problem with a list view.
- bsaul 6y agoI’m still having a hard time believing any « flutter is so great for me » testimonies, because my personnal experience with app having only the most basic list screen has always between a disaster. There’s such a big discrepancy between those testimonies and my experience that i’m starting to become suspicious about their authenticities
- 6y ago
- xvilka 6y agoFlutter-based apps are notoriously big. How are Flutter2-based apps compared to that?
- luplex 6y agoDoes this mean that all those apps are coming/could come to Linux phones like the Pinephone and the Librem 5?
- amelius 6y agoThe most important question imho: does Google use it for their own apps?
- poppafuze 6y agoflutter...more like stutter
- tobyhede 6y agoFlutter is not for everything, but it is really worth a look. We (AU MVNO/Telco) recently converted iOS and Android apps (200,000 MAUs) to Flutter and it has been game changing. We had experimented with react native and found it just didn't deliver. Flutter is different. On mobile platforms the experience is super responsive and smooth and for your typical consumer app indistinguishable from the native experience. The tooling and developer experience are incredible. The benefits and experience where so clear that the whole team was onboard - including the most die-hard career platform specialists. Our velocity and ability to deliver is measurably better. We're looking at the web target as maybe "good enough". I don't think it could be a replacement for a well-crafted web app, but could be used to provide a fast alternative to the primary native experience, and for rapidly prototyping and experimenting. In the current state, Flutter Web could never replace our highly optimised ecommerce funnel - some things you just need to sweat the details. But it's definitely better than some of the CX in the corners of our legacy applications. Shipping fast is valuable - so build for native, get a good enough web for "free" and then spend time and attention on the web if it is warranted.
- heavyset_go 6y ago> We had experimented with react native and found it just didn't deliver Can you expound on why you found that React Native didn't deliver? I've played with Flutter a couple of years ago, and I'm revisiting it and React Native before building an app on a one person team.
- tobyhede 6y agoPerformance in some areas was an issue. Overall benefits productivity and ongoing maintenance weren't enough to be really worth it. There is nuance to it all, because some of it lies in team structure and knowledge as well.
- nsainsbury 6y agoFrom what I've seen and has been confirmed quite a few times now Flutter definitely does not deliver on producing mobile apps that are "super responsive and...indistinguishable from the native experience" You can even find the director of engineering for Flutter confirming that's not the case on a thread on Reddit along with numerous devs reporting being burned by Flutter and swearing off using it ever again: https://www.reddit.com/r/FlutterDev/comments/llmkd4/ios_jank_reproducible_example/ https://www.reddit.com/r/FlutterDev/comments/llmkd4/ios_jank...
- markdog12 6y agoDart 12.2 post with null-safety, FFI: https://medium.com/dartlang/announcing-dart-2-12-499a6e689c87 https://medium.com/dartlang/announcing-dart-2-12-499a6e689c8...
- anderspitman 6y agoMy experiences with Flutter have been generally impressive and pleasant, but I feel like it's a great GUI framework for an imaginary mobile ecosystem. You can quickly put together a beautiful UI, but as soon as you want to interact with the filesystem, or run a foreground service that won't immediately be nuked by Android, it's completely unclear how to accomplish this, if it's even possible. There are lots of libraries for abstracting over the differences between iOS and Android for a lot of these things, but it turns out the least common denominator between the two doesn't leave you with much exciting functionality.
- iainmerrick 6y agoIt’s strange to keep citing https://flutterplasma.dev/ https://flutterplasma.dev/ as a sample app. Don’t get me wrong, it’s a nifty and well-written little demo, but it doesn’t demonstrate anything you’d actually need in an app. As a sample for a game engine it would make sense.
- nmfisher 6y agoI assume it's intended to show web rendering performance, not demonstrate its viability as an app framework. As a Flutter developer, I don't think Flutter will ever be a great choice for a lot of text-heavy things that people generally consider "web apps" (just going through my tabs now - GitHub, StackOverflow, reddit, Gmail, Wikipedia). But it will really shine for "traditional" desktop-type applications, but delivered via web (think Rive, Figma, Filmora, etc). I think that's why they're focusing on rendering performance. That being said, Figma have done an amazing job with WebAssembly (and I guess they rolled their own UI framework?), so it's not like Flutter is the be-all and end-all.
- azinman2 6y agoDo they render everything themselves to pixels? If so, then does that mean any native integration with, say, a screen reader won’t work? Copy paste using native UI? Any future native offerings that work on top of the view hierarchy and components (really important for accessibility, to start)?
- root_axis 6y agoMy problem with Flutter is that it requires the developers to track and maintain parity with native widgets on both platforms; this is a massive undertaking and one that is prone to bugs and subtle mistakes. This is especially a problem for something backed by Google. This downside is not a problem for e.g. React Native which utilizes the platform's native widgets.
- lordapophis 6y agoI came to mention nativescript https://nativescript.org/ https://nativescript.org/ as a solution to many mentions.
- mixmastamyk 6y agoI'm impressed with this update. The ability to use existing C-libraries should open up a lot of high-performance functionality you'd have to write yourself.
- ipkarthik 6y agoHi
- spdy 6y agoVery interessting that i`m on the opposite side of many comments. For the startup we just founded i was able to crank out a mobile app in less then 3 months without prior mobile or dart experience. Its fast and just works from day one. Certainly something i can recommend for every Fullstack Dev out there who wants to add mobile to his portfolio as 95% of all apps can easily be done in flutter. The widget aproach for mobile is fantastic cant say it will work the same on the web but certainly on the desktop. One thing flutter needs is time, that certain champions will be chosen by the comunity (state managment etc.) - see react But is has a vibing ecosystem that especially empoweres people outside the western world to create beautifully widgets.
- olso 6y agohttps://github.com/flutter/flutter/issues/47600 https://github.com/flutter/flutter/issues/47600
- idkwhoiam 6y agoI tried Flutter but I just couldn't stand the Dart language. Building interfaces is a PITA too. Crazy nesting is unavoidable even if you split things up into separate methods/components. React Native is much better in this regard. While Flutter works for mobile I cannot see Flutter for web succeeding. The latter will end up in the Google graveyard for sure.
- deleted 6y ago[deleted]
- jug 6y agoThis article didn't say why Flutter "1" (that was just named "Flutter") couldn't just, you know... keep evolving. Is this just marketing or is Flutter 2 a new product that breaks compatibility semver style? It's confusing because almost everything they say, they said about Flutter "1" as well.
- supergirl 6y agodon't bother with google technologies. they all eventually become a mess of versions and incompatibilities. googlers create new shiny versions to get promoted instead of incrementally improving existing tech.
- alimbada 6y agoAh yes, the reason for Google's gluttonous usage of space on iOS, where most of their apps are over 200MB in size and most of the remaining ones are at least 150MB.
- dep_b 6y agoFlutter is a Google project so everything is always a bit better on the Android side. Lots of libraries that only exist for Android because most devs come from the Android side, lots of features and widgets that lag on iOS.
- kellyrose019788 6y agoI'm available for sex, Please just follow my link https://rebrand.ly/sexygirls007 https://rebrand.ly/sexygirls007
- StreamBright 6y agoCan't wait for Flutter 3.
- grizzles 6y agoHope they bundle a native webview with flutter with a consistent api across platforms. The web will always be a unique case, but that would be epic for other platforms. I'm not coding so much these days but I still want it. :)
- saagarjha 6y ago> Flutter allows you to handcraft beautiful experiences where your brand and design comes to the forefront. This isn't strictly related, but can we instead make good, useful experiences that are consistent with the platform instead? I'm sick of companies making their app some lowest common denominator abomination to push their "brand"…