5 ms·
Flutter doesn't do what I feel React Native does best, rendering down to native components for Android and iOS (also web/tvOS). Flutter seems to render to custo
by cjoelrun 9y ago
Flutter doesn't do what I feel React Native does best, rendering down to native components for Android and iOS (also web/tvOS). Flutter seems to render to custom view components so for better or worse your apps will probably look the same on all platforms. It's interesting to see what projects Google is using Flutter though, see https://en.wikipedia.org/wiki/Google_Fuchsia https://en.wikipedia.org/wiki/Google_Fuchsia
- cageface 9y agoIn theory React Native delegates things to the native platform widgets but in fact a ton of RN components don't really do this. They use the platform's native UIView/View class but not the higher level controls in a lot of cases. Navigation in particular is kind of a mess in RN and diverges from the built-in mechanisms on Android and iOS significantly.
- zerr 9y agoBesides, even native apps (made with iOS or Android SDK) try to look as different as possible with custom made styles. So there is really no "native look" on mobile platforms.
- cageface 9y agoYeah that's true. For better or worse, designers try to make their mark by coming up with very distinctive designs that all too often throw affordance and usability out the window. Mobile UX is in a pretty bad place overall right now. Watching my parents struggle to do basic things on an iPad has been a good reality check for me in this regard.
- bsimpson 9y agoOne of the legacies of the successes of Flash and the web is that brands are pushing for an aesthetic that feels like their own. On the desktop, most Mac apps looked like most other Mac apps. On the web, authors often created their own components, and could completely customize their look. Mobile has largely tacked towards the web, where Airbnb looks more like Airbnb than it does like any other Android or iOS app.
- MaxBarraclough 9y agoDesktop isn't all that consistent. Spotify uses its own skin, as does Windows iTunes. NetBeans uses Swing with the Nimbus look-and-feel. Firefox and Chrome use their own toolkits (e.g. on their Settings windows). Even Microsoft Word feels like 'its own thing'. UWP applications don't tend to feel native. At least RoboMongo and the CMake GUI feel like proper Windows applications, but they both use Qt.
- refulgentis 9y agoFlutter renders both iOS ("Cupertino" theme) and Android components - check out the gallery app, you can see both in action. It's beautiful.
- bsimpson 9y agoFlutter controls all the actual pixels, recreating the iOS and Material styles in Flutter code. React Native describes its view contents in JavaScript, but uses native Java/Cocoa APIs to draw the actual pixels. Flash/AIR and desktop Java are other well-known technologies that controlled how the actual pixels were drawn. If you wanted a native-looking UI, you had to mimic one in framework code. React lead Tom Occhino pointed this out at the React Native launch. With the React Native approach, your app matches the iOS N+1 style when the user upgrades. With the Flutter/Flash approach, your app matches N+1 when you upgrade your version of Flutter and push a new release.
- pjmlp 9y agoI never had to mimic a native Framework in Java, just enable it. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); Or then just use SWT.
- hliyan 9y agoI'm starting to love Flutter, but I'm afraid to invest in it -- Google has a history of abandoning projects they get bored with. I took a long time to come on board with Golang for the same reason...
- bsaul 9y agoI'll jump to flutter once they have a convincing media player / recorder native component as well as a google map equivalent. If this has good performance on both iOS and android, with features comparable to native ones, then i don't see what can stop them. Unless Apple starts implementing its own cross-platform sdk in swift... But judging by the slow pace at which swift is moving (compared to its "worl domination" ambitions, that is), i don't think it'll happen anytime soon.
- pjmlp 9y agoWorld domination in Swift's context means iDevices OSes, outside it will be just like Objective-C has ever been.
- lunchbreak 9y agoThe Google maps plugin is in active development. There was just a stub merged into flutter/plugins on GitHub
- tsycho 9y agoIt's open source. Even if they abandon it, it doesn't go away. If it turns out to be good tech, others will maintain it.
- austinkhale 9y agoThat's the #1 reason that I don't currently consider it in the same class as React Native. Once Google showcases how they're using it in business critical apps, then I think I'll have the confidence it won't be another project that gets the axe.
- Harimwakairi 9y ago
- bschwindHN 9y ago> Flutter doesn't do what I feel React Native does best, rendering down to native components for Android and iOS Well of course it doesn't do that, they explicitly avoided it. And it's as you said, to make apps look and behave the same on all platforms. But that doesn't stop you from using their "Material" components on android and "Cupertino" components on iOS.
- HillaryBriss 9y ago> they explicitly avoided that yes! And for those who have struggled with getting RecyclerView to work as expected, or with changing a text typeface in an action bar on some older android version, or felt that the Fragment plus ViewPager routine was a little more complicated than they'd hoped, in short for those who are looking for some different way to organize the UI and display logic, Flutter is an interesting alternative.
- buremba 9y agoYou can still play with the color scheme and typography to make it seem like native on iOS. (gray in iOS and blue in Android). Personally, I think that this is more convenient considering the UI will be more consistent and the development cycle will be more hassle-free.
- pjmlp 9y agoWhile I am a big proponent of using UI/UX of each platform, there is a market for having apps that look the same everywhere, the beloved enterprise. Usually either everyone gets the same kind of device, or the same UI regardless of the underlying OS.
- krzat 9y agoRendering to native components is a dead end. It creates huge surface area for bugs to appear, and it's slow. I had a "pleasure" of working with Xamarin Forms and interactions between native UI, behaviour difference between Android manufactures and versions, etc. were a constant source of pain. With Flutter, if something works on one device it will almost certainly work on all devices. You can also customize per platform. It is also possible to run it on desktop (although not officially supported). IMO that's a big deal and a potential Electron killer. Dart is meh though.
- pjmlp 9y agoThere are plenty of Electron killers in desktop, webdevs won't switch to Flutter.
- krzat 9y agoShow me these killers. My requirements: 1. Multiplatform. 2. Easy to write in. 3. Fast. 4. Looks good.
- pjmlp 9y agoQt/QML fills all those bullets. Curious that you mention fast, because it is something Electron definitely fails on. Web apps are for my already installed browser.
- krzat 9y agoQt is not easy and it is not very pretty either. I mentioned fast because Electron killer has to be fast.
- pjmlp 9y agoIt is easier than HTML/CSS/JavaScript dependency hell and Frankenstein frameworks. QML is as pretty as the design skills of the developer, just like CSS. And better because the full power of the graphics stack is available to the developer, down to pixel perfect graphics, unlike CSS where Houdini still isn't a thing. Any native application is faster than a Electron based app. It is quite trivial to achieve.